diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index aeeb76fb8..dedd7c53f 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,4 +11,4 @@ jobs:
- name: Install python dependencies
run: sudo apt-get update && sudo apt-get install -y python3-setuptools python3-pip && pip install -r scripts/cre_sync/requirements.txt
- name: Test
- run: python -m unittest discover -s scripts/cre_sync -p "*_test.py"
\ No newline at end of file
+ run: python -m unittest discover -s scripts/cre_sync -p "*_test.py"
diff --git a/.gitignore b/.gitignore
index 34c212d80..34fe59818 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,4 +25,4 @@ node_modules/
www/
.DS_Store
yarn-error.log
-coverage/
\ No newline at end of file
+coverage/
diff --git a/404.html b/404.html
deleted file mode 100644
index cb4606758..000000000
--- a/404.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-
-title: 404 - Not Found
-layout: col-generic
-
----
-
-
-

-
WHOA THAT PAGE CANNOT BE FOUND
-
Try the SEARCH function in the main navigation to find something. If you are looking for chapter information, please see Chapters for the correct chapter. For information about OWASP projects see Projects. For common attacks, vulnerabilities, or information about other community-led contributions see Contributed Content.
-
-
-
If all else fails you can search our historical site.
-
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 89dbd970b..000000000
--- a/Gemfile
+++ /dev/null
@@ -1,4 +0,0 @@
-source 'https://rubygems.org'
-group :jekyll_plugins do
- gem "github-pages"
-end
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 80d48c9d0..000000000
--- a/_config.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-remote_theme: "owasp/www--site-theme"
-plugins:
- - jekyll-include-cache-0.2.0
- - jekyll-redirect-from
\ No newline at end of file
diff --git a/assets/images/README.md b/assets/images/README.md
deleted file mode 100644
index 3fc6dbe4a..000000000
--- a/assets/images/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# placeholder
-
-Put images you wish to link to in this folder
-
-link would be in form /assets/images/
diff --git a/assets/images/cc_license_small.png b/assets/images/cc_license_small.png
deleted file mode 100644
index d532c136d..000000000
Binary files a/assets/images/cc_license_small.png and /dev/null differ
diff --git a/assets/images/owasp_breakers_small.png b/assets/images/owasp_breakers_small.png
deleted file mode 100644
index c8fa5b04a..000000000
Binary files a/assets/images/owasp_breakers_small.png and /dev/null differ
diff --git a/assets/images/owasp_builders_small.png b/assets/images/owasp_builders_small.png
deleted file mode 100644
index 01b07acf3..000000000
Binary files a/assets/images/owasp_builders_small.png and /dev/null differ
diff --git a/assets/images/owasp_defenders_small.png b/assets/images/owasp_defenders_small.png
deleted file mode 100644
index 1e89cda1c..000000000
Binary files a/assets/images/owasp_defenders_small.png and /dev/null differ
diff --git a/assets/images/owasp_documentation_project.jpg b/assets/images/owasp_documentation_project.jpg
deleted file mode 100644
index 0d589b4e1..000000000
Binary files a/assets/images/owasp_documentation_project.jpg and /dev/null differ
diff --git a/cres/venv/bin/activate b/cres/venv/bin/activate
new file mode 100644
index 000000000..db742ea7b
--- /dev/null
+++ b/cres/venv/bin/activate
@@ -0,0 +1,84 @@
+# This file must be used with "source bin/activate" *from bash*
+# you cannot run it directly
+
+
+if [ "${BASH_SOURCE-}" = "$0" ]; then
+ echo "You must source this script: \$ source $0" >&2
+ exit 33
+fi
+
+deactivate () {
+ unset -f pydoc >/dev/null 2>&1
+
+ # reset old environment variables
+ # ! [ -z ${VAR+_} ] returns true if VAR is declared at all
+ if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then
+ PATH="$_OLD_VIRTUAL_PATH"
+ export PATH
+ unset _OLD_VIRTUAL_PATH
+ fi
+ if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
+ PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
+ export PYTHONHOME
+ unset _OLD_VIRTUAL_PYTHONHOME
+ fi
+
+ # This should detect bash and zsh, which have a hash command that must
+ # be called to get it to forget past commands. Without forgetting
+ # past commands the $PATH changes we made may not be respected
+ if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
+ hash -r 2>/dev/null
+ fi
+
+ if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
+ PS1="$_OLD_VIRTUAL_PS1"
+ export PS1
+ unset _OLD_VIRTUAL_PS1
+ fi
+
+ unset VIRTUAL_ENV
+ if [ ! "${1-}" = "nondestructive" ] ; then
+ # Self destruct!
+ unset -f deactivate
+ fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+VIRTUAL_ENV='/home/foobar/Projects/www-project-integration-standards/cres/venv'
+export VIRTUAL_ENV
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/bin:$PATH"
+export PATH
+
+# unset PYTHONHOME if set
+if ! [ -z "${PYTHONHOME+_}" ] ; then
+ _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
+ unset PYTHONHOME
+fi
+
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
+ _OLD_VIRTUAL_PS1="${PS1-}"
+ if [ "x" != x ] ; then
+ PS1="${PS1-}"
+ else
+ PS1="(`basename \"$VIRTUAL_ENV\"`) ${PS1-}"
+ fi
+ export PS1
+fi
+
+# Make sure to unalias pydoc if it's already there
+alias pydoc 2>/dev/null >/dev/null && unalias pydoc || true
+
+pydoc () {
+ python -m pydoc "$@"
+}
+
+# This should detect bash and zsh, which have a hash command that must
+# be called to get it to forget past commands. Without forgetting
+# past commands the $PATH changes we made may not be respected
+if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
+ hash -r 2>/dev/null
+fi
diff --git a/cres/venv/bin/activate.csh b/cres/venv/bin/activate.csh
new file mode 100644
index 000000000..ad6638489
--- /dev/null
+++ b/cres/venv/bin/activate.csh
@@ -0,0 +1,55 @@
+# This file must be used with "source bin/activate.csh" *from csh*.
+# You cannot run it directly.
+# Created by Davide Di Blasi .
+
+set newline='\
+'
+
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc'
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+setenv VIRTUAL_ENV '/home/foobar/Projects/www-project-integration-standards/cres/venv'
+
+set _OLD_VIRTUAL_PATH="$PATH:q"
+setenv PATH "$VIRTUAL_ENV:q/bin:$PATH:q"
+
+
+
+if ('' != "") then
+ set env_name = ''
+else
+ set env_name = '('"$VIRTUAL_ENV:t:q"') '
+endif
+
+if ( $?VIRTUAL_ENV_DISABLE_PROMPT ) then
+ if ( $VIRTUAL_ENV_DISABLE_PROMPT == "" ) then
+ set do_prompt = "1"
+ else
+ set do_prompt = "0"
+ endif
+else
+ set do_prompt = "1"
+endif
+
+if ( $do_prompt == "1" ) then
+ # Could be in a non-interactive environment,
+ # in which case, $prompt is undefined and we wouldn't
+ # care about the prompt anyway.
+ if ( $?prompt ) then
+ set _OLD_VIRTUAL_PROMPT="$prompt:q"
+ if ( "$prompt:q" =~ *"$newline:q"* ) then
+ :
+ else
+ set prompt = "$env_name:q$prompt:q"
+ endif
+ endif
+endif
+
+unset env_name
+unset do_prompt
+
+alias pydoc python -m pydoc
+
+rehash
diff --git a/cres/venv/bin/activate.fish b/cres/venv/bin/activate.fish
new file mode 100644
index 000000000..8792ec9e3
--- /dev/null
+++ b/cres/venv/bin/activate.fish
@@ -0,0 +1,100 @@
+# This file must be used using `source bin/activate.fish` *within a running fish ( http://fishshell.com ) session*.
+# Do not run it directly.
+
+function _bashify_path -d "Converts a fish path to something bash can recognize"
+ set fishy_path $argv
+ set bashy_path $fishy_path[1]
+ for path_part in $fishy_path[2..-1]
+ set bashy_path "$bashy_path:$path_part"
+ end
+ echo $bashy_path
+end
+
+function _fishify_path -d "Converts a bash path to something fish can recognize"
+ echo $argv | tr ':' '\n'
+end
+
+function deactivate -d 'Exit virtualenv mode and return to the normal environment.'
+ # reset old environment variables
+ if test -n "$_OLD_VIRTUAL_PATH"
+ # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
+ if test (echo $FISH_VERSION | head -c 1) -lt 3
+ set -gx PATH (_fishify_path "$_OLD_VIRTUAL_PATH")
+ else
+ set -gx PATH "$_OLD_VIRTUAL_PATH"
+ end
+ set -e _OLD_VIRTUAL_PATH
+ end
+
+ if test -n "$_OLD_VIRTUAL_PYTHONHOME"
+ set -gx PYTHONHOME "$_OLD_VIRTUAL_PYTHONHOME"
+ set -e _OLD_VIRTUAL_PYTHONHOME
+ end
+
+ if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
+ and functions -q _old_fish_prompt
+ # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`.
+ set -l fish_function_path
+
+ # Erase virtualenv's `fish_prompt` and restore the original.
+ functions -e fish_prompt
+ functions -c _old_fish_prompt fish_prompt
+ functions -e _old_fish_prompt
+ set -e _OLD_FISH_PROMPT_OVERRIDE
+ end
+
+ set -e VIRTUAL_ENV
+
+ if test "$argv[1]" != 'nondestructive'
+ # Self-destruct!
+ functions -e pydoc
+ functions -e deactivate
+ functions -e _bashify_path
+ functions -e _fishify_path
+ end
+end
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+set -gx VIRTUAL_ENV '/home/foobar/Projects/www-project-integration-standards/cres/venv'
+
+# https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling
+if test (echo $FISH_VERSION | head -c 1) -lt 3
+ set -gx _OLD_VIRTUAL_PATH (_bashify_path $PATH)
+else
+ set -gx _OLD_VIRTUAL_PATH "$PATH"
+end
+set -gx PATH "$VIRTUAL_ENV"'/bin' $PATH
+
+# Unset `$PYTHONHOME` if set.
+if set -q PYTHONHOME
+ set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
+ set -e PYTHONHOME
+end
+
+function pydoc
+ python -m pydoc $argv
+end
+
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
+ # Copy the current `fish_prompt` function as `_old_fish_prompt`.
+ functions -c fish_prompt _old_fish_prompt
+
+ function fish_prompt
+ # Run the user's prompt first; it might depend on (pipe)status.
+ set -l prompt (_old_fish_prompt)
+
+ # Prompt override provided?
+ # If not, just prepend the environment name.
+ if test -n ''
+ printf '%s%s' '' (set_color normal)
+ else
+ printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV")
+ end
+
+ string join -- \n $prompt # handle multi-line prompts
+ end
+
+ set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
+end
diff --git a/cres/venv/bin/activate.ps1 b/cres/venv/bin/activate.ps1
new file mode 100644
index 000000000..95504d395
--- /dev/null
+++ b/cres/venv/bin/activate.ps1
@@ -0,0 +1,60 @@
+$script:THIS_PATH = $myinvocation.mycommand.path
+$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent
+
+function global:deactivate([switch] $NonDestructive) {
+ if (Test-Path variable:_OLD_VIRTUAL_PATH) {
+ $env:PATH = $variable:_OLD_VIRTUAL_PATH
+ Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global
+ }
+
+ if (Test-Path function:_old_virtual_prompt) {
+ $function:prompt = $function:_old_virtual_prompt
+ Remove-Item function:\_old_virtual_prompt
+ }
+
+ if ($env:VIRTUAL_ENV) {
+ Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue
+ }
+
+ if (!$NonDestructive) {
+ # Self destruct!
+ Remove-Item function:deactivate
+ Remove-Item function:pydoc
+ }
+}
+
+function global:pydoc {
+ python -m pydoc $args
+}
+
+# unset irrelevant variables
+deactivate -nondestructive
+
+$VIRTUAL_ENV = $BASE_DIR
+$env:VIRTUAL_ENV = $VIRTUAL_ENV
+
+New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH
+
+$env:PATH = "$env:VIRTUAL_ENV/bin:" + $env:PATH
+if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) {
+ function global:_old_virtual_prompt {
+ ""
+ }
+ $function:_old_virtual_prompt = $function:prompt
+
+ if ("" -ne "") {
+ function global:prompt {
+ # Add the custom prefix to the existing prompt
+ $previous_prompt_value = & $function:_old_virtual_prompt
+ ("" + $previous_prompt_value)
+ }
+ }
+ else {
+ function global:prompt {
+ # Add a prefix to the current prompt, but don't discard it.
+ $previous_prompt_value = & $function:_old_virtual_prompt
+ $new_prompt_value = "($( Split-Path $env:VIRTUAL_ENV -Leaf )) "
+ ($new_prompt_value + $previous_prompt_value)
+ }
+ }
+}
diff --git a/cres/venv/bin/activate.xsh b/cres/venv/bin/activate.xsh
new file mode 100644
index 000000000..149d03d46
--- /dev/null
+++ b/cres/venv/bin/activate.xsh
@@ -0,0 +1,46 @@
+"""Xonsh activate script for virtualenv"""
+from xonsh.tools import get_sep as _get_sep
+
+def _deactivate(args):
+ if "pydoc" in aliases:
+ del aliases["pydoc"]
+
+ if ${...}.get("_OLD_VIRTUAL_PATH", ""):
+ $PATH = $_OLD_VIRTUAL_PATH
+ del $_OLD_VIRTUAL_PATH
+
+ if ${...}.get("_OLD_VIRTUAL_PYTHONHOME", ""):
+ $PYTHONHOME = $_OLD_VIRTUAL_PYTHONHOME
+ del $_OLD_VIRTUAL_PYTHONHOME
+
+ if "VIRTUAL_ENV" in ${...}:
+ del $VIRTUAL_ENV
+
+ if "VIRTUAL_ENV_PROMPT" in ${...}:
+ del $VIRTUAL_ENV_PROMPT
+
+ if "nondestructive" not in args:
+ # Self destruct!
+ del aliases["deactivate"]
+
+
+# unset irrelevant variables
+_deactivate(["nondestructive"])
+aliases["deactivate"] = _deactivate
+
+$VIRTUAL_ENV = r"/home/foobar/Projects/www-project-integration-standards/cres/venv"
+
+$_OLD_VIRTUAL_PATH = $PATH
+$PATH = $PATH[:]
+$PATH.add($VIRTUAL_ENV + _get_sep() + "bin", front=True, replace=True)
+
+if ${...}.get("PYTHONHOME", ""):
+ # unset PYTHONHOME if set
+ $_OLD_VIRTUAL_PYTHONHOME = $PYTHONHOME
+ del $PYTHONHOME
+
+$VIRTUAL_ENV_PROMPT = ""
+if not $VIRTUAL_ENV_PROMPT:
+ del $VIRTUAL_ENV_PROMPT
+
+aliases["pydoc"] = ["python", "-m", "pydoc"]
diff --git a/cres/venv/bin/activate_this.py b/cres/venv/bin/activate_this.py
new file mode 100644
index 000000000..447998698
--- /dev/null
+++ b/cres/venv/bin/activate_this.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+"""Activate virtualenv for current interpreter:
+
+Use exec(open(this_file).read(), {'__file__': this_file}).
+
+This can be used when you must use an existing Python interpreter, not the virtualenv bin/python.
+"""
+import os
+import site
+import sys
+
+try:
+ abs_file = os.path.abspath(__file__)
+except NameError:
+ raise AssertionError("You must use exec(open(this_file).read(), {'__file__': this_file}))")
+
+bin_dir = os.path.dirname(abs_file)
+base = bin_dir[: -len("bin") - 1] # strip away the bin part from the __file__, plus the path separator
+
+# prepend bin to PATH (this file is inside the bin directory)
+os.environ["PATH"] = os.pathsep.join([bin_dir] + os.environ.get("PATH", "").split(os.pathsep))
+os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory
+
+# add the virtual environments libraries to the host python import mechanism
+prev_length = len(sys.path)
+for lib in "../lib/python3.8/site-packages".split(os.pathsep):
+ path = os.path.realpath(os.path.join(bin_dir, lib))
+ site.addsitedir(path.decode("utf-8") if "" else path)
+sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length]
+
+sys.real_prefix = sys.prefix
+sys.prefix = base
diff --git a/cres/venv/bin/chardetect b/cres/venv/bin/chardetect
new file mode 100755
index 000000000..33800d9a3
--- /dev/null
+++ b/cres/venv/bin/chardetect
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from chardet.cli.chardetect import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/chardetect-3.8 b/cres/venv/bin/chardetect-3.8
new file mode 100755
index 000000000..33800d9a3
--- /dev/null
+++ b/cres/venv/bin/chardetect-3.8
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from chardet.cli.chardetect import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/chardetect3 b/cres/venv/bin/chardetect3
new file mode 100755
index 000000000..33800d9a3
--- /dev/null
+++ b/cres/venv/bin/chardetect3
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from chardet.cli.chardetect import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/distro b/cres/venv/bin/distro
new file mode 100755
index 000000000..c31b98ca0
--- /dev/null
+++ b/cres/venv/bin/distro
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from distro import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/distro-3.8 b/cres/venv/bin/distro-3.8
new file mode 100755
index 000000000..c31b98ca0
--- /dev/null
+++ b/cres/venv/bin/distro-3.8
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from distro import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/distro3 b/cres/venv/bin/distro3
new file mode 100755
index 000000000..c31b98ca0
--- /dev/null
+++ b/cres/venv/bin/distro3
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from distro import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/easy_install b/cres/venv/bin/easy_install
new file mode 100755
index 000000000..a9dd5fc97
--- /dev/null
+++ b/cres/venv/bin/easy_install
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from setuptools.command.easy_install import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/easy_install-3.8 b/cres/venv/bin/easy_install-3.8
new file mode 100755
index 000000000..a9dd5fc97
--- /dev/null
+++ b/cres/venv/bin/easy_install-3.8
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from setuptools.command.easy_install import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/easy_install3 b/cres/venv/bin/easy_install3
new file mode 100755
index 000000000..a9dd5fc97
--- /dev/null
+++ b/cres/venv/bin/easy_install3
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from setuptools.command.easy_install import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/pip b/cres/venv/bin/pip
new file mode 100755
index 000000000..5f419a652
--- /dev/null
+++ b/cres/venv/bin/pip
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/pip-3.8 b/cres/venv/bin/pip-3.8
new file mode 100755
index 000000000..5f419a652
--- /dev/null
+++ b/cres/venv/bin/pip-3.8
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/pip3 b/cres/venv/bin/pip3
new file mode 100755
index 000000000..5f419a652
--- /dev/null
+++ b/cres/venv/bin/pip3
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/pip3.8 b/cres/venv/bin/pip3.8
new file mode 100755
index 000000000..5f419a652
--- /dev/null
+++ b/cres/venv/bin/pip3.8
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/python b/cres/venv/bin/python
new file mode 120000
index 000000000..ae65fdaa1
--- /dev/null
+++ b/cres/venv/bin/python
@@ -0,0 +1 @@
+/usr/bin/python3
\ No newline at end of file
diff --git a/cres/venv/bin/python3 b/cres/venv/bin/python3
new file mode 120000
index 000000000..d8654aa0e
--- /dev/null
+++ b/cres/venv/bin/python3
@@ -0,0 +1 @@
+python
\ No newline at end of file
diff --git a/cres/venv/bin/python3.8 b/cres/venv/bin/python3.8
new file mode 120000
index 000000000..d8654aa0e
--- /dev/null
+++ b/cres/venv/bin/python3.8
@@ -0,0 +1 @@
+python
\ No newline at end of file
diff --git a/cres/venv/bin/wheel b/cres/venv/bin/wheel
new file mode 100755
index 000000000..2a9a5cb0b
--- /dev/null
+++ b/cres/venv/bin/wheel
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from wheel.cli import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/wheel-3.8 b/cres/venv/bin/wheel-3.8
new file mode 100755
index 000000000..2a9a5cb0b
--- /dev/null
+++ b/cres/venv/bin/wheel-3.8
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from wheel.cli import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/bin/wheel3 b/cres/venv/bin/wheel3
new file mode 100755
index 000000000..2a9a5cb0b
--- /dev/null
+++ b/cres/venv/bin/wheel3
@@ -0,0 +1,8 @@
+#!/home/foobar/Projects/www-project-integration-standards/cres/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from wheel.cli import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/cres/venv/lib/python3.8/site-packages/CacheControl-0.12.6.dist-info/AUTHORS.txt b/cres/venv/lib/python3.8/site-packages/CacheControl-0.12.6.dist-info/AUTHORS.txt
new file mode 100644
index 000000000..72c87d7d3
--- /dev/null
+++ b/cres/venv/lib/python3.8/site-packages/CacheControl-0.12.6.dist-info/AUTHORS.txt
@@ -0,0 +1,562 @@
+A_Rog
+Aakanksha Agrawal <11389424+rasponic@users.noreply.github.com>
+Abhinav Sagar <40603139+abhinavsagar@users.noreply.github.com>
+ABHYUDAY PRATAP SINGH
+abs51295
+AceGentile
+Adam Chainz
+Adam Tse
+Adam Tse
+Adam Wentz
+admin
+Adrien Morison
+ahayrapetyan
+Ahilya
+AinsworthK
+Akash Srivastava
+Alan Yee
+Albert Tugushev
+Albert-Guan
+albertg
+Aleks Bunin
+Alethea Flowers
+Alex Gaynor
+Alex Grönholm
+Alex Loosley
+Alex Morega
+Alex Stachowiak
+Alexander Shtyrov
+Alexandre Conrad
+Alexey Popravka
+Alexey Popravka
+Alli
+Ami Fischman
+Ananya Maiti
+Anatoly Techtonik
+Anders Kaseorg
+Andreas Lutro
+Andrei Geacar
+Andrew Gaul
+Andrey Bulgakov
+Andrés Delfino <34587441+andresdelfino@users.noreply.github.com>
+Andrés Delfino
+Andy Freeland
+Andy Freeland
+Andy Kluger
+Ani Hayrapetyan
+Aniruddha Basak
+Anish Tambe
+Anrs Hu
+Anthony Sottile
+Antoine Musso
+Anton Ovchinnikov
+Anton Patrushev
+Antonio Alvarado Hernandez
+Antony Lee
+Antti Kaihola
+Anubhav Patel
+Anuj Godase
+AQNOUCH Mohammed
+AraHaan
+Arindam Choudhury
+Armin Ronacher
+Artem
+Ashley Manton
+Ashwin Ramaswami
+atse
+Atsushi Odagiri
+Avner Cohen
+Baptiste Mispelon
+Barney Gale
+barneygale
+Bartek Ogryczak
+Bastian Venthur
+Ben Darnell
+Ben Hoyt
+Ben Rosser
+Bence Nagy
+Benjamin Peterson
+Benjamin VanEvery
+Benoit Pierre
+Berker Peksag
+Bernardo B. Marques
+Bernhard M. Wiedemann
+Bertil Hatt
+Bogdan Opanchuk
+BorisZZZ
+Brad Erickson
+Bradley Ayers
+Brandon L. Reiss
+Brandt Bucher
+Brett Randall
+Brian Cristante <33549821+brcrista@users.noreply.github.com>
+Brian Cristante
+Brian Rosner
+BrownTruck
+Bruno Oliveira
+Bruno Renié
+Bstrdsmkr
+Buck Golemon
+burrows
+Bussonnier Matthias
+c22
+Caleb Martinez
+Calvin Smith
+Carl Meyer
+Carlos Liam
+Carol Willing
+Carter Thayer
+Cass
+Chandrasekhar Atina
+Chih-Hsuan Yen
+Chih-Hsuan Yen
+Chris Brinker
+Chris Hunt
+Chris Jerdonek
+Chris McDonough
+Chris Wolfe
+Christian Heimes
+Christian Oudard
+Christopher Hunt
+Christopher Snyder
+Clark Boylan
+Clay McClure
+Cody
+Cody Soyland
+Colin Watson
+Connor Osborn
+Cooper Lees
+Cooper Ry Lees
+Cory Benfield
+Cory Wright
+Craig Kerstiens
+Cristian Sorinel
+Curtis Doty
+cytolentino
+Damian Quiroga
+Dan Black
+Dan Savilonis
+Dan Sully
+daniel
+Daniel Collins
+Daniel Hahler
+Daniel Holth
+Daniel Jost
+Daniel Shaulov
+Daniele Esposti
+Daniele Procida
+Danny Hermes
+Dav Clark
+Dave Abrahams
+Dave Jones
+David Aguilar
+David Black
+David Bordeynik
+David Bordeynik
+David Caro
+David Evans
+David Linke
+David Pursehouse
+David Tucker
+David Wales
+Davidovich
+derwolfe
+Desetude
+Diego Caraballo
+DiegoCaraballo
+Dmitry Gladkov
+Domen Kožar
+Donald Stufft
+Dongweiming
+Douglas Thor
+DrFeathers
+Dustin Ingram
+Dwayne Bailey
+Ed Morley <501702+edmorley@users.noreply.github.com>
+Ed Morley
+Eitan Adler
+ekristina
+elainechan
+Eli Schwartz
+Eli Schwartz
+Emil Burzo
+Emil Styrke
+Endoh Takanao
+enoch
+Erdinc Mutlu
+Eric Gillingham
+Eric Hanchrow
+Eric Hopper
+Erik M. Bray
+Erik Rose
+Ernest W Durbin III
+Ernest W. Durbin III
+Erwin Janssen
+Eugene Vereshchagin
+everdimension
+Felix Yan
+fiber-space
+Filip Kokosiński
+Florian Briand
+Florian Rathgeber
+Francesco
+Francesco Montesano
+Frost Ming
+Gabriel Curio
+Gabriel de Perthuis
+Garry Polley
+gdanielson
+Geoffrey Lehée
+Geoffrey Sneddon
+George Song
+Georgi Valkov
+Giftlin Rajaiah
+gizmoguy1
+gkdoc <40815324+gkdoc@users.noreply.github.com>
+Gopinath M <31352222+mgopi1990@users.noreply.github.com>
+GOTO Hayato <3532528+gh640@users.noreply.github.com>
+gpiks
+Guilherme Espada
+Guy Rozendorn
+gzpan123
+Hanjun Kim
+Hari Charan
+Harsh Vardhan
+Herbert Pfennig
+Hsiaoming Yang
+Hugo
+Hugo Lopes Tavares
+Hugo van Kemenade
+hugovk
+Hynek Schlawack
+Ian Bicking
+Ian Cordasco
+Ian Lee
+Ian Stapleton Cordasco
+Ian Wienand
+Ian Wienand
+Igor Kuzmitshov
+Igor Sobreira
+Ilya Baryshev
+INADA Naoki
+Ionel Cristian Mărieș
+Ionel Maries Cristian
+Ivan Pozdeev
+Jacob Kim
+jakirkham
+Jakub Stasiak
+Jakub Vysoky
+Jakub Wilk
+James Cleveland
+James Cleveland
+James Firth
+James Polley
+Jan Pokorný
+Jannis Leidel
+jarondl
+Jason R. Coombs
+Jay Graves
+Jean-Christophe Fillion-Robin
+Jeff Barber