From 96b2372795d2e3b7038589dc15f24f0847d7fd96 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 8 Jun 2015 13:33:36 -0700 Subject: [PATCH 01/83] Updated configure scripts and basic documentation. Bump to 2.0.1 --- .gitignore | 4 +- README.rst | 199 +++++++----- about_code_tool/about.py | 2 +- configure | 24 +- configure.bat | 73 +++-- etc/conf/dev/eclipse.project.in | 17 - etc/conf/dev/eclipse.pydevproject.posix.in | 9 - etc/conf/dev/eclipse.pydevproject.win.in | 9 - etc/conf/dev/posix.sh | 3 - etc/conf/dev/win.bat | 3 - etc/configure | 48 --- etc/configure.bat | 76 ----- etc/configure.py | 341 +++++++++++++++++++++ etc/getconf.py | 171 ----------- 14 files changed, 541 insertions(+), 438 deletions(-) delete mode 100644 etc/conf/dev/eclipse.project.in delete mode 100644 etc/conf/dev/eclipse.pydevproject.posix.in delete mode 100644 etc/conf/dev/eclipse.pydevproject.win.in delete mode 100644 etc/conf/dev/posix.sh delete mode 100644 etc/conf/dev/win.bat delete mode 100644 etc/configure delete mode 100644 etc/configure.bat create mode 100644 etc/configure.py delete mode 100644 etc/getconf.py diff --git a/.gitignore b/.gitignore index 09aa2e97..8b18ace5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ lib64 /Lib /Scripts /include +/local # Installer logs pip-log.txt @@ -29,4 +30,5 @@ nosetests.xml # PyCharm project .idea/ -/about_code_tool.egg_info \ No newline at end of file + +/*.egg_info diff --git a/README.rst b/README.rst index a6439f24..7941fa53 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -ABOUT tool -========== +AboutCode tool +============== .. image:: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=develop :target: https://travis-ci.org/dejacode/about-code-tool @@ -8,7 +8,7 @@ ABOUT tool :target: https://coveralls.io/r/dejacode/about-code-tool?branch=develop -The ABOUT tool and ABOUT files provide a simple way to document the +The AboutCode tool and ABOUT files provide a simple way to document the (origin and license) and other important or interesting information about third-party software components that you use in your project. @@ -19,66 +19,108 @@ For more information on the ABOUT file format, visit http://www.dejacode.org There are many examples of ABOUT files (valid or invalid) in the testdata/ directory of the whole repository. -The current version of the ABOUT tool can read these ABOUT files so that you +The current version of AboutCode can read these ABOUT files so that you can collect and validate the inventory of third-party components that you use. -In future versions, this tool will be able to generate attribution notices and -collect redistributable source code used in your project to help you comply -with open source licenses requirements. +This version of AboutCode follows the ABOUT specification version 1.0.0 at: +https://github.com/dejacode/about-code-tool/blob/master/SPEC -This version of the ABOUT tool follows the ABOUT specification version 0.8.1 at: -http://www.dejacode.org/about_spec_v0.8.1.html +License +------- +AboutCode is released under the Apache 2.0 license. +See (of course) the about.ABOUT file for details. -REQUIREMENTS + +Requirements ------------ -The ABOUT tool is tested with Python 2.6 or 2.7 on Linux, Mac and Windows. -You will need to install a Python interpreter if you do not have one already -installed. +The AboutCode tool requires an installation Python 2.7 on Linux, Mac and Windows. +You need to install Python if you do not have one already installed. On Linux and Mac, Python is typically pre-installed. To verify which version may be pre-installed, open a terminal and type:: python --version - python2.6 --version python2.7 --version -On Windows or Mac, you can download the latest Python 2.7.x here: - https://www.python.org/downloads/ +On Linux, Python2.7 may be available from your distro package manager. + +On Windows and Mac if version 2.7 is not installed, you can download the latest +Python 2.7.x here https://www.python.org/downloads/ : -Download the .msi installer for Windows or the .dmg archive for Mac. -Open and run the installer using all the default options. +* Download the .msi installer for Windows or the .dmg archive for Mac. +* Open and run the installer using all the default options. +* On Windows, make sure you install Python in the default c:\Python27 and not + on another drive. -INSTALLATION +Installation ------------ -Checkout or download and extract the AboutCode tool from: - https://github.com/dejacode/about-code-tool/ +Download the AboutCode tool from a released version at: + https://github.com/dejacode/about-code-tool/releases + +Extract the archive to a directory and open a command prompt or shell in this +directory. Then on Linux or Mac run:: + + source configure + +And on Windows:: -To install all the needed dependencies in a virtualenv, run (on posix):: - source configure -or on windows:: configure -TESTS ------ -To verify that everything works fine you can run the test suite with:: - python setup.py test +For instance on Linux the whole installation would be like this:: + + $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip + $ unzip v2.0.0.zip + $ cd about-code-tool-2.0.0/ + $ source configure + +On Windows, the whole installation would be like this: + * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip + * open a command prompt and cd to the directory where the zip extraction directory + * run configure -USAGE + + +Later on, if opening a new shell or command prompt on an already installed +AboutCode you need to **activate** this installation. + +On Linux or Mac, run this:: + source bin/activate + +On Windows, run this:: + bin\activate + + + +Usage ----- -The ABOUT tool command syntax is: +Once installed, the AboutCode tool is used from the command line. +There are three scripts: about.py, genabout.py and genattrib.py. +Once you have installed or activated AboutCode, the scripts are invoked from a +shell or command prompt in this way:: + + $ python about_code_tool/about.py + + +See docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf for a detailed +documentation and tutorial or read on the quick instructions below. + -**about.py** +**Using the about.py script** + +The about.py script is used to collect existing ABOUT files, validate that +they are correct and collect inventories of the documented components in a CSV +file. :: Usage: about.py [options] input_path output_path - Input can be a file or directory. - Output must be a file with a .csv extension. + input_path can be a file or directory containing .ABOUT files. + output_path is a file with a .csv extension. Options: -h, --help Display help @@ -92,20 +134,26 @@ The ABOUT tool command syntax is: Example:: - $ python about.py ./thirdparty_code/ thirdparty_about.csv + $ python about_code_tool/about.py ./thirdparty/ thirdparty_about.csv + -In this example, the .ABOUT files in the directory /thirdparty_code/ will +In this example, the .ABOUT files in the directory thirdparty/ will be parsed and validated to collect the data they contain. The collected information will be saved to the CSV file named "thirdparty_about.csv". -**genabout.py** + + +**Using the genabout.py script** + +The genabout.py script is used to generate new ABOUT files by using a CSV file +as an input. :: Usage: genabout.py [options] input_path output_path - Input must be a CSV file - Output must be a directory location where the ABOUT files should be generated + input_path is a CSV file using the same format as the CSV created with about.py + output_path is a directory where the new .ABOUT files are generated Options: @@ -131,39 +179,47 @@ information will be saved to the CSV file named "thirdparty_about.csv". Copy the 'license_text_file' from the directory to the generated location License path - License text files path - --mapping Configure the mapping key from the MAPPING.CONFIG + --mapping Use the mapping between columns names in your CSV and the ABOUT field + names as defined in the MAPPING.CONFIG mapping configuration file. - --extract_license=EXTRACT_LICENSE + --extract_license Extract License text and create .LICENSE side-by-side - with the .ABOUT from DJE License Library. - api_url - URL to the DJE License Library - api_username - The regular DJE username - api_key - Hash attached to your username which is used to authenticate - yourself in the API. Contact us to get the hash key. + with the generated .ABOUT file using data fetched from a DejaCode License Library. + The following additional options are required: + --api_url - URL to the DejaCode License Library API endpoint + --api_username - DejaCode username + --api_key - DejaCode API key for this username Example syntax: - genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' + python about_code_tool/genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' Example:: - $ python genabout.py thirdparty_code.csv /tmp/thirdparty_about/ + $ mkdir tmp + $ python about_code_tool/genabout.py thirdparty_code.csv tmp/thirdparty_about -In this example, the tool will look at the "thirdparty_code.csv" and generate -the .ABOUT files in the directory /tmp/thirdparty_about/. +In this example, the tool will use the list in the "thirdparty_code.csv" file +and generate .ABOUT files in a directory tmp/thirdparty_about/ -**genattrib.py** + + +**Using the genattrib.py script** + +The genattrib.py script is used to generate a credit and license attribution +documentation in HTML from a directory containing .ABOUT files. :: Usage: genattrib.py [options] input_path output_path component_list - - Input can be a file or directory. - Output of rendered template must be a file (e.g. .html). - Component List must be a .csv file which has at least an "about_file" column. - - + + input can be a file or directory. + output of rendered template must be a file (e.g. .html). + component_list is an optional .csv file with an "about_file" column. + It is used to limit the attribution generation to the subset of + ABOUT files listed here. + Options: -h, --help Display help -v, --version Display current version, license notice, and copyright notice @@ -181,7 +237,7 @@ the .ABOUT files in the directory /tmp/thirdparty_about/. Example:: - $ python genattrib.py /tmp/thirdparty_about/ /tmp/thirdparty_attribution/attribution.html thirdparty_code.csv + $ python about_code_tool/genattrib.py tmp/thirdparty_about/ tmp/attribution.html thirdparty_code.csv In this example, the tool will look at the .ABOUT files listed in the "thirdparty_code.csv" from the /tmp/thirdparty_about/ and then generate the attribution output to @@ -190,7 +246,9 @@ from the /tmp/thirdparty_about/ and then generate the attribution output to (See USAGE for a details explaining of each scripts and options.) -HELP and SUPPORT + + +Help and Support ---------------- If you have a question or find a bug, enter a ticket at: @@ -201,19 +259,22 @@ For issues, you can use: https://github.com/dejacode/about-code-tool/issues -SOURCE CODE ------------ -AboutCode is available through GitHub. For the latest version visit: +Hacking, tests and source code +------------------------------ +For the latest stable version visit:: + https://github.com/dejacode/about-code-tool +The development takes places in the develop branch. We use the git flow +branching model. -HACKING -------- -We accept pull requests provided under the same license as this tool. -You agree to the http://developercertificate.org/ +**Tests** +You can run the test suite with:: + python setup.py test -LICENSE -------- -AboutCode is released under the Apache 2.0 license. -See (of course) the about.ABOUT file for details. + +**Contributing** +We accept bugs, patches and pull requests for code and documentation provided +under the same license (Apache-2.0) as this tool. +When contributing, you are agreeing to the http://developercertificate.org/ diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 28e86619..dbafc1b3 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -46,7 +46,7 @@ import ntpath -__version__ = '2.0.0' +__version__ = '2.0.1' # See http://dejacode.org __about_spec_version__ = '1.0' diff --git a/configure b/configure index c1a4de17..eb7586c3 100755 --- a/configure +++ b/configure @@ -1,13 +1,29 @@ #!/bin/bash # -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # +################################ +# change these variables to customize this script locally +################################ +# you can define one or more thirdparty dirs, each prefixed with TPP_DIR +export TPP_DIR="thirdparty" + +# default configurations +CONF_DEFAULT="etc/conf" +################################# CFG_CMD_LINE_ARGS="$@" +if [ "$1" == "--init" ]; then + CFG_CMD_LINE_ARGS=$CONF_INIT +fi + if [ "$1" == "" ]; then - # default configuration if not argument is provided - CFG_CMD_LINE_ARGS="etc/conf" + # default conf if not argument is provided + CFG_CMD_LINE_ARGS=$CONF_DEFAULT fi -source etc/configure $CFG_CMD_LINE_ARGS +python2.7 etc/configure.py $CFG_CMD_LINE_ARGS +if [ -f "bin/activate" ]; then + source bin/activate +fi diff --git a/configure.bat b/configure.bat index be058fff..a629b5c5 100644 --- a/configure.bat +++ b/configure.bat @@ -1,27 +1,46 @@ -@echo OFF -@rem Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. - -set ROOT_DIR=%~dp0 - -set CFG_CMD_LINE_ARGS= -@rem Collect all command line arguments in a variable -:collectarg - if ""%1""=="""" goto continue - call set CFG_CMD_LINE_ARGS=%CFG_CMD_LINE_ARGS% %1 - shift - goto collectarg - -:continue - -@rem default configuration when no args are passed -if "%CFG_CMD_LINE_ARGS%"==" " ( - set CFG_CMD_LINE_ARGS=etc/conf - goto configure -) - -:configure -call %ROOT_DIR%\etc\configure %CFG_CMD_LINE_ARGS% -goto EOS - - -:EOS \ No newline at end of file +@echo OFF + +@rem Copyright (c) 2015 nexB Inc. http://www.nexb.com/ - All rights reserved. + +@rem ################################ +@rem # change these variables to customize this script locally +@rem ################################ +@rem # you can define one or more thirdparty dirs, each prefixed with TPP_DIR +set TPP_DIR=thirdparty + + +@rem # default configurations +set CONF_DEFAULT="etc/conf" +@rem ################################# + +set CFG_CMD_LINE_ARGS= +@rem Collect/Slurp all command line arguments in a variable +:collectarg + if ""%1""=="""" ( + goto continue + ) + call set CFG_CMD_LINE_ARGS=%CFG_CMD_LINE_ARGS% %1 + shift + goto collectarg + +:continue + +@rem default configuration when no args are passed +if "%CFG_CMD_LINE_ARGS%"==" " ( + set CFG_CMD_LINE_ARGS="%CONF_DEFAULT%" + goto configure +) + +if "%CFG_CMD_LINE_ARGS%"==" --init" ( + set CFG_CMD_LINE_ARGS="%CONF_INIT%" + goto configure +) + +:configure +call c:\Python27\python.exe etc/configure.py %CFG_CMD_LINE_ARGS% +if exist bin\activate ( + bin\activate +) +goto EOS + +:EOS diff --git a/etc/conf/dev/eclipse.project.in b/etc/conf/dev/eclipse.project.in deleted file mode 100644 index baa4dfc6..00000000 --- a/etc/conf/dev/eclipse.project.in +++ /dev/null @@ -1,17 +0,0 @@ - - - about_code_tool - - - - - - org.python.pydev.PyDevBuilder - - - - - - org.python.pydev.pythonNature - - diff --git a/etc/conf/dev/eclipse.pydevproject.posix.in b/etc/conf/dev/eclipse.pydevproject.posix.in deleted file mode 100644 index d050fac3..00000000 --- a/etc/conf/dev/eclipse.pydevproject.posix.in +++ /dev/null @@ -1,9 +0,0 @@ - - -Default -python 2.7 - - /${PROJECT_DIR_NAME} - /${PROJECT_DIR_NAME}/lib/site-packages - - diff --git a/etc/conf/dev/eclipse.pydevproject.win.in b/etc/conf/dev/eclipse.pydevproject.win.in deleted file mode 100644 index c567f4b7..00000000 --- a/etc/conf/dev/eclipse.pydevproject.win.in +++ /dev/null @@ -1,9 +0,0 @@ - - -Default -python 2.7 - - /${PROJECT_DIR_NAME} - /${PROJECT_DIR_NAME}/Lib/site-packages - - diff --git a/etc/conf/dev/posix.sh b/etc/conf/dev/posix.sh deleted file mode 100644 index 21f882be..00000000 --- a/etc/conf/dev/posix.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -cp -f etc/conf/dev/eclipse.project.in .project -cp -f etc/conf/dev/eclipse.pydevproject.posix.in .pydevproject \ No newline at end of file diff --git a/etc/conf/dev/win.bat b/etc/conf/dev/win.bat deleted file mode 100644 index 1f4454ea..00000000 --- a/etc/conf/dev/win.bat +++ /dev/null @@ -1,3 +0,0 @@ -@echo OFF -copy /Y etc\conf\dev\eclipse.pydevproject.win.in .pydevproject >NUL -copy /Y etc\conf\dev\eclipse.project.in .project >NUL \ No newline at end of file diff --git a/etc/configure b/etc/configure deleted file mode 100644 index d819b69a..00000000 --- a/etc/configure +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. -# - -ETC_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -ROOT_DIR="$( dirname "$ETC_DIR" )" - -if [ "$1" == "--clean" ]; then - echo "* Cleaning ..." - cd $ROOT_DIR && rm -rf build bin lib include dist about_code_tool.egg-info - exit 0 -fi - - -CONFIGURED_PYTHON=$ROOT_DIR/bin/python - -# Install and activate a virtualenv without any download -if [ ! -f "$CONFIGURED_PYTHON" ]; then - echo "" - echo "* Configuring Python ..." - python2.7 $ROOT_DIR/thirdparty/virtualenv.py --never-download --extra-search-dir=$ROOT_DIR/thirdparty/ $ROOT_DIR -fi - -source $ROOT_DIR/bin/activate - - -# Install components from selected requirements -echo "" -echo "* Installing components ..." -for req in $($CONFIGURED_PYTHON $ETC_DIR/getconf.py --requirements $@) - do pip install --upgrade --no-allow-external --use-wheel --no-index --find-links=$ROOT_DIR/thirdparty/ -r $ROOT_DIR/$req -done - -# Run selected configuration python scripts -echo "" -echo "* Configuring ..." -for script in $($CONFIGURED_PYTHON $ETC_DIR/getconf.py --python $@) - do python $ROOT_DIR/$script -done - -# Run selected configuration command line scripts -for script in $($CONFIGURED_PYTHON $ETC_DIR/getconf.py --shell $@) - do source $ROOT_DIR/$script -done - -# Set exec permission on all files in bin -chmod -R ogu+x $ROOT_DIR/bin diff --git a/etc/configure.bat b/etc/configure.bat deleted file mode 100644 index 90b1b8d0..00000000 --- a/etc/configure.bat +++ /dev/null @@ -1,76 +0,0 @@ -@echo OFF -@rem Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. -@rem - -@rem std python -set PYTHON="c:\Python27\python.exe" - -@rem ROOT_DIR must have been set by the calling script - -set CONFIGURED_PYTHON=%ROOT_DIR%\Scripts\python.exe - -if "%1"=="--clean" goto clean - -@rem create bin dir -if not exist %ROOT_DIR%\bin mkdir %ROOT_DIR%\bin - -set CMD_LINE_ARGS= -@rem Collect all command line arguments in a variable -:collectarg - if ""%1""=="""" goto continue - call set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 - shift - goto collectarg - -:continue - -if exist %CONFIGURED_PYTHON% goto pip_requirement - -@rem Install and activate a virtualenv without any download -echo. -echo * Configuring Python ... -"%PYTHON%" %ROOT_DIR%\thirdparty\virtualenv.py --never-download --extra-search-dir=%ROOT_DIR%\thirdparty\ %ROOT_DIR% - - -:pip_requirement - -call %ROOT_DIR%\Scripts\activate.bat - -echo. -echo * Installing components ... -@rem Install components from selected requirements -%CONFIGURED_PYTHON% %ROOT_DIR%\etc\getconf.py --requirements %CMD_LINE_ARGS%> tmpreqfile -for /F %%i in (tmpreqfile) do ( - pip install --upgrade --no-index --no-allow-external --use-wheel --find-links=%ROOT_DIR%\thirdparty\ -r %ROOT_DIR%\%%i -) -del tmpreqfile > NUL - -echo. -echo * Configuring ... -:scripts -@rem Run selected configuration python scripts -%CONFIGURED_PYTHON% %ROOT_DIR%\etc\getconf.py --python %CMD_LINE_ARGS% > tmppyfile -for /F %%i in (tmppyfile) do ( - %CONFIGURED_PYTHON% %ROOT_DIR%\%%i -) -del tmppyfile > NUL - - -@rem Run selected configuration bat scripts -%CONFIGURED_PYTHON% %ROOT_DIR%\etc\getconf.py --shell %CMD_LINE_ARGS% > tmpscrfile -for /F %%i in (tmpscrfile) do ( - call %ROOT_DIR%\%%i -) -del tmpscrfile > NUL - -goto EOS - -:clean -echo * Cleaning ... -if exist %ROOT_DIR%\Scripts\deactivate.bat call %ROOT_DIR%\Scripts\deactivate -cd %ROOT_DIR% -rmdir /S /Q bin build Scripts Lib Include 2>NUL -goto EOS - - -:EOS \ No newline at end of file diff --git a/etc/configure.py b/etc/configure.py new file mode 100644 index 00000000..c4b2bbf5 --- /dev/null +++ b/etc/configure.py @@ -0,0 +1,341 @@ +#!/usr/bin/python + +# Copyright (c) 2015 nexB Inc. http://www.nexb.com/ - All rights reserved. + +""" +This script a configuration helper to select pip requirement files to install +and python and shell configuration scripts to execute based on provided config +directories paths arguments and the operating system platform. To use, create +a configuration directory tree that contains any of these: + + * Requirements files named with this convention: + - base.txt contains common requirements installed on all platforms. + - win.txt, linux.txt, mac.txt, posix.txt are os-specific requirements. + + * Python scripts files named with this convention: + - base.py is a common script executed on all os before os-specific scripts. + - win.py, linux.py, mac.py, posix.py are os-specific scripts to execute. + + * Shell or Windows CMD scripts files named with this convention: + - win.bat is a windows bat file to execute + - posix.sh, linux.sh, mac.sh are os-specific scripts to execute. + +The config directory structure contains one or more directories paths. This +way you can have a main configuration and additional sub-configurations of a +product such as for prod, test, ci, dev, or anything else. + +All scripts and requirements are optional and only used if presents. Scripts +are executed in sequence, one after the other after all requirements are +installed, so they may import from any installed requirement. + +The execution order is: + - requirements installation + - python scripts execution + - shell scripts execution + +On posix, posix Python and shell scripts are executed before mac or linux +scripts. + +The base scripts or packages are always installed first before platform- +specific ones. + +For example a tree could be looking like this:: + etc/conf + base.txt : base pip requirements for all platforms + linux.txt : linux-only pip requirements + base.py : base config script for all platforms + win.py : windows-only config script + posix.sh: posix-only shell script + + etc/conf/prod + base.txt : base pip requirements for all platforms + linux.txt : linux-only pip requirements + linux.sh : linux-only script + base.py : base config script for all platforms + mac.py : mac-only config script +""" + +from __future__ import print_function + +import os +import stat +import sys +import shutil +import subprocess + + +# platform-specific file base names +sys_platform = str(sys.platform).lower() +on_win = False +if 'linux' in sys_platform: + platform_names = ('posix', 'linux',) +elif'win32' in sys_platform: + platform_names = ('win',) + on_win = True +elif 'darwin' in sys_platform: + platform_names = ('posix', 'mac',) +else: + raise Exception('Unsupported OS/platform') + platform_names = tuple() + +# common file basenames for requirements and scripts +base = ('base',) + +# known full file names with txt extension for requirements +# base is always last +requirements = tuple(p + '.txt' for p in platform_names + base) + +# known full file names with py extensions for scripts +# base is always last +python_scripts = tuple(p + '.py' for p in platform_names + base) + +# known full file names of shell scripts +# there is no base for scripts: they cannot work cross OS (cmd vs. sh) +shell_scripts = tuple(p + '.sh' for p in platform_names) +if on_win: + shell_scripts = ('win.bat',) + + +def call(cmd): + """ Run a `cmd` command (as a list of args) with all env vars.""" + cmd = ' '.join(cmd) + if subprocess.Popen(cmd, shell=True, env=dict(os.environ)).wait() != 0: + print() + print('Failed to execute command:\n%(cmd)s' % locals()) + sys.exit(1) + + +def clean(root_dir): + """ + Remove cleanable directories and files. + """ + print('* Cleaning ...') + cleanable = '''build bin lib include Scripts + django_background_task.log + develop-eggs eggs parts .installed.cfg + .Python + .cache + .settings + pip-selfcheck.json + '''.split() + + for d in cleanable: + try: + loc = os.path.join(root_dir, d) + if os.path.exists(loc): + if os.path.isdir(loc): + shutil.rmtree(loc) + else: + os.remove(loc) + except: + pass + +def build_pip_dirs_args(paths, option='--extra-search-dir='): + """ + Return an iterable of pip command line arguments for the `option` pip + command line option using a list of `paths` to directories. + """ + for path in paths: + if os.path.exists(path): + yield option + path + +def create_virtualenv(std_python, root_dir, tpp_dirs): + """ + Create a virtualenv in `root_dir` using the `std_python` Python + executable. One of the tpp_dirs must contain a vendored virtualenv.py and + virtualenv dependencies such as setuptools and pip packages. + + @std_python: Path or name of the Python executable to use. + + @root_dir: directory in which the virtualenv will be created. This is also + the root directory for the project and the base directory for vendored + components directory paths. + + @tpp_dirs: list of directory paths relative to `root_dir` containing + vendored Python distributions that pip will use to find required + components. + """ + print() + print("* Configuring Python ...") + # search virtualenv.py in the tpp_dirs. keep the first found + venv_py = None + for tpd in tpp_dirs: + venv = os.path.join(tpd, 'virtualenv.py') + if os.path.exists(venv): + venv_py = venv + break + # TODO: error out if venv_py not found + vcmd = [std_python, venv_py, '--never-download'] + # third parties may be in more than one directory + vcmd.extend(build_pip_dirs_args(tpp_dirs)) + # we create the virtualenv in the root_dir + vcmd.append(root_dir) + call(vcmd) + + +def activate(root_dir): + """ Activate a virtualenv in the current process.""" + activate_this = os.path.join(bin_dir, 'activate_this.py') + with open(activate_this) as f: + code = compile(f.read(), activate_this, 'exec') + exec(code, dict(__file__=activate_this)) + + +def install_3pp(configs, root_dir, tpp_dirs): + """ Install requirements with pip.""" + print() + print("* Installing components ...") + for req_file in get_conf_files(configs, requirements): + pcmd = ['pip', 'install', '--no-allow-external', + '--use-wheel', '--no-index'] + pcmd.extend(build_pip_dirs_args(tpp_dirs, '--find-links=')) + req_loc = os.path.join(root_dir, req_file) + pcmd.extend(['-r' , req_loc]) + call(pcmd) + + +def run_scripts(configs, root_dir, configured_python): + """ Run py_script and sh_script scripts.""" + print() + print("* Configuring ...") + # Run Python scripts for each configurations + for py_script in get_conf_files(configs, python_scripts): + cmd = [configured_python, os.path.join(root_dir, py_script)] + call(cmd) + + # Run sh_script scripts for each configurations + for sh_script in get_conf_files(configs, shell_scripts): + # we source the scripts on posix + cmd = ['.'] + if on_win: + cmd = [] + cmd = cmd + [os.path.join(root_dir, sh_script)] + call(cmd) + + +def chmod_bin(directory): + """ + Makes the directory and its children executable recursively. + """ + rwx = (stat.S_IXUSR | stat.S_IRUSR | stat.S_IWUSR + | stat.S_IXGRP | stat.S_IXOTH) + for path, _, files in os.walk(directory): + for f in files: + os.chmod(os.path.join(path, f), rwx) + + +def get_conf_files(config_dir_paths, file_names=requirements): + """ + Based on config_dir_paths return a list of collected path-prefixed file + paths matching names in a file_names tuple. Returned paths are posix + paths. + + @config_dir_paths: Each config_dir_path is a relative from the project + root to a config dir. This script should always be called from the project + root dir. + + @file_names: get requirements, python or shell files based on list of + supported file names provided as a tuple of supported file_names. + + Scripts or requirements are optional and only used if presents. Unknown + scripts or requirements file_names are ignored (but they could be used + indirectly by known requirements with -r requirements inclusion, or + scripts with python imports.) + + Since Python scripts are executed after requirements are installed they + can import from any requirement-installed component such as Fabric. + """ + # collect files for each requested dir path + collected = [] + + for config_dir_path in config_dir_paths: + if not os.path.exists(config_dir_path): + print('Configurtaion directory %(config_dir_path)s ' + 'does not exists. Skipping.' % locals()) + continue + # Support args like enterprise or enterprise/dev + paths = config_dir_path.strip('/').replace('\\', '/').split('/') + # a tuple of (relative path, location,) + current = None + for path in paths: + if not current: + current = (path, os.path.abspath(path),) + else: + base_path, base_loc = current + current = (os.path.join(base_path, path), + os.path.join(base_loc, path),) + + path, loc = current + # we iterate on known filenames to ensure the defined precedence + # is respected (posix over mac, linux), etc + for n in file_names: + for f in os.listdir(loc): + if f == n: + f_loc = os.path.join(path, f) + if f_loc not in collected: + collected.append(f_loc) + + return collected + + +if __name__ == '__main__': + # define/setup common directories + etc_dir = os.path.abspath(os.path.dirname(__file__)) + root_dir = os.path.dirname(etc_dir) + + args = sys.argv[1:] + if args[0] == '--clean': + clean(root_dir) + sys.exit(0) + + sys.path.insert(0, root_dir) + bin_dir = os.path.join(root_dir, 'bin') + standard_python = sys.executable + + if on_win: + configured_python = os.path.join(bin_dir, 'python.exe') + scripts_dir = os.path.join(root_dir, 'Scripts') + bin_dir = os.path.join(root_dir, 'bin') + if not os.path.exists(scripts_dir): + os.makedirs(scripts_dir) + if not os.path.exists(bin_dir): + cmd = ('mklink /J %(bin_dir)s %(scripts_dir)s' % locals()).split() + call(cmd) + else: + configured_python = os.path.join(bin_dir, 'python') + scripts_dir = bin_dir + + # get requested configuration paths and install components and run scripts + configs = [] + for path in args[:]: + if os.path.exists(path): + configs.append(path) + else: + print() + print('WARNING: Skipping missing Configuration directory:\n' + ' %(path)s does not exist.' % locals()) + print() + + # one or more third-party directories may exist + # as environment variables prefixed with TPP_DIR + thirdparty_dirs = [] + for envvar, path in os.environ.items(): + if not envvar.startswith('TPP_DIR'): + continue + if os.path.exists(path): + thirdparty_dirs.append(path) + else: + print() + print('WARNING: Skipping missing Python thirdparty directory:\n' + ' %(path)s does not exist.\n' + ' Provided by environment variable:\n' + ' set %(envvar)s=%(path)s' % locals()) + print() + + if not os.path.exists(configured_python): + create_virtualenv(standard_python, root_dir, thirdparty_dirs) + activate(root_dir) + + install_3pp(configs, root_dir, thirdparty_dirs,) + run_scripts(configs, root_dir, configured_python) + chmod_bin(bin_dir) diff --git a/etc/getconf.py b/etc/getconf.py deleted file mode 100644 index 93d84556..00000000 --- a/etc/getconf.py +++ /dev/null @@ -1,171 +0,0 @@ -#!/usr/bin/python - -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. - -""" -This script a configuration helper to select pip requirement files to install -and python and shell configuration scripts to execute based on provided config -directories paths arguments and the operating system platform. To use, create -a configuration directory tree that contains any of these: - - * Requirements files named with this convention: - - base.txt contains common requirements installed on all platforms. - - win.txt, linux.txt, mac.txt, posix.txt, cygwin.txt are platform-specific - requirements to install. - - * Python scripts files named with this convention: - - base.py is a common script executed on all platforms, executed before - os-specific scripts. - - win.py, linux.py, mac.py, posix.py, cygwin.py are platform-specific - scripts to execute. - - * Shell or Windows CMD scripts files named with this convention: - - win.bat is a windows bat file to execute - - posix.sh, linux.sh, mac.sh, cygwin.sh are platform-specific scripts to - execute. - -The config directory structure contains one or more directories paths. This -way you can have a main configuration and additional sub-configurations of a -product such as for prod, test, ci, dev, or anything else. - -All scripts and requirements are optional and only used if presents. Scripts -are executed in sequence, one after the other after all requirements are -installed, so they may import from any installed requirement. - -The execution order is: - - requirements installation - - python scripts execution - - shell scripts execution - -On posix, posix Python and shell scripts are executed before mac or linux -scripts. - -The base scripts or packages are always installed first before platform-specific ones. - -For example a tree could be looking like this:: - etc/conf - base.txt : base pip requirements for all platforms - linux.txt : linux-only pip requirements - base.py : base config script for all platforms - win.py : windows-only config script - posix.sh: posix-only shell script - - etc/conf/prod - base.txt : base pip requirements for all platforms - linux.txt : linux-only pip requirements - linux.sh : linux-only script - base.py : base config script for all platforms - mac.py : mac-only config script -""" - -from __future__ import print_function - -import os -import sys - - -# platform-specific file base names -sys_platform = str(sys.platform).lower() -if 'linux' in sys_platform: - platform_names = ('posix', 'linux',) -elif'win32' in sys_platform: - platform_names = ('win',) -elif 'darwin' in sys_platform: - platform_names = ('posix', 'mac',) -elif 'cygwin' in sys_platform: - platform_names = ('posix', 'cygwin',) -else: - print('Unsupported OS/platform') - platform_names = tuple() - - -# common file basenames for requirements and scripts -base = ('base',) - -# known full file names with txt extension for requirements -requirements = tuple(p + '.txt' for p in platform_names + base) - -# known full file names with py extensions for scripts -python_scripts = tuple(p + '.py' for p in platform_names + base) - -# known full file names of shell scripts -shell_scripts = tuple(p + '.sh' for p in platform_names) -if 'win' in platform_names: - shell_scripts = ('win.bat',) - - -def get_conf_files(config_dir_paths, file_names=requirements): - """ - Based on config_dir_paths return a list of collected path-prefixed file - paths matching names in a file_names tuple. Returned paths are posix - paths. - - @config_dir_paths: Each config_dir_path is a relative from the project - root to a config dir. This script should always be called from the project - root dir. - - @file_names: get requirements, python or shell files based on list of - supported file names provided as a tuple of supported file_names. - - Scripts or requirements are optional and only used if presents. Unknown - scripts or requirements file_names are ignored (but they could be used - indirectly by known requirements with -r requirements inclusion, or - scripts with python imports.) - - Since Python scripts are executed after requirements are installed they - can import from any requirement- installed component such as Fabric. - """ - - # collect files for each requested dir path - collected = [] - - for config_dir_path in config_dir_paths: - # Support args like enterprise or enterprise/dev - paths = config_dir_path.strip('/').replace('\\', '/').split('/') - # a tuple of (relative path, location,) - current = None - for path in paths: - if not current: - current = (path, os.path.abspath(path),) - else: - base_path, base_loc = current - current = (os.path.join(base_path, path), - os.path.join(base_loc, path),) - - path, loc = current - # we iterate on filenames to ensure the precedence of posix over - # mac, linux, etc is repsected - for n in file_names: - for f in os.listdir(loc): - if f == n: - f_loc = os.path.join(path, f) - if f_loc not in collected: - collected.append(f_loc) - - return collected - - -conf_types = {'--requirements': requirements, - '--python': python_scripts, - '--shell': shell_scripts} - - -if __name__ == '__main__': - collect_what = sys.argv[1] - if collect_what not in conf_types: - print('First argument must be one of %s' % ', '.join(conf_types)) - sys.exit(1) - - what_to_collect = conf_types[collect_what] - - try: - prod_confs = sys.argv[2:] - except IndexError: - print('Missing product/config arguments such as "etc/conf/dev".') - sys.exit(1) - - collected = get_conf_files(prod_confs, file_names=what_to_collect) - - collected = '\n'.join(collected) - - print(collected) From 601e40ea308256b7450bafc5ee3921e948369ebe Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 8 Jun 2015 16:33:31 -0700 Subject: [PATCH 02/83] Update README instruction from v2.0.0 to v2.0.1 --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 7941fa53..7d97a3fd 100644 --- a/README.rst +++ b/README.rst @@ -71,14 +71,14 @@ And on Windows:: For instance on Linux the whole installation would be like this:: - $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip - $ unzip v2.0.0.zip - $ cd about-code-tool-2.0.0/ + $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.1.zip + $ unzip v2.0.1.zip + $ cd about-code-tool-2.0.1/ $ source configure On Windows, the whole installation would be like this: - * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip + * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.1.zip * open a command prompt and cd to the directory where the zip extraction directory * run configure From 822939d3828876c137da3c25d04cd3f420244f1e Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 8 Jun 2015 16:38:51 -0700 Subject: [PATCH 03/83] Update backslash symbol from '\' to '\\' --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 7d97a3fd..6b49ede9 100644 --- a/README.rst +++ b/README.rst @@ -50,7 +50,7 @@ Python 2.7.x here https://www.python.org/downloads/ : * Download the .msi installer for Windows or the .dmg archive for Mac. * Open and run the installer using all the default options. -* On Windows, make sure you install Python in the default c:\Python27 and not +* On Windows, make sure you install Python in the default c:\\Python27 and not on another drive. @@ -91,7 +91,7 @@ On Linux or Mac, run this:: source bin/activate On Windows, run this:: - bin\activate + bin\\activate From 179a287356e964ecde7ce3649cf97031a3211084 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 9 Jun 2015 10:13:41 -0700 Subject: [PATCH 04/83] Update the build icon (Travis-CI) target from develop branch to master branch --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 6b49ede9..2b9910e8 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,11 @@ AboutCode tool ============== -.. image:: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=develop +.. image:: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=master :target: https://travis-ci.org/dejacode/about-code-tool -.. image:: https://coveralls.io/repos/dejacode/about-code-tool/badge.png?branch=develop - :target: https://coveralls.io/r/dejacode/about-code-tool?branch=develop +.. image:: https://coveralls.io/repos/dejacode/about-code-tool/badge.png?branch=master + :target: https://coveralls.io/r/dejacode/about-code-tool?branch=master The AboutCode tool and ABOUT files provide a simple way to document the From ebb6edd271e1cbaddb34802da42187f921eb1428 Mon Sep 17 00:00:00 2001 From: tdruez Date: Tue, 9 Jun 2015 10:22:16 -0700 Subject: [PATCH 05/83] Replaced badges in the README.rst by their svg version --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 2b9910e8..b44c037d 100644 --- a/README.rst +++ b/README.rst @@ -1,10 +1,10 @@ AboutCode tool ============== -.. image:: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=master - :target: https://travis-ci.org/dejacode/about-code-tool +.. image:: https://travis-ci.org/dejacode/about-code-tool.svg?branch=master + :target: https://travis-ci.org/dejacode/about-code-tool -.. image:: https://coveralls.io/repos/dejacode/about-code-tool/badge.png?branch=master +.. image:: https://coveralls.io/repos/dejacode/about-code-tool/badge.svg?branch=master :target: https://coveralls.io/r/dejacode/about-code-tool?branch=master From e24ce42e3360ce1541191a643094568e8d4019ad Mon Sep 17 00:00:00 2001 From: tdruez Date: Tue, 9 Jun 2015 10:28:00 -0700 Subject: [PATCH 06/83] Fixed indentation and linebreaks for proper render in README.rst --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index b44c037d..f94bdba2 100644 --- a/README.rst +++ b/README.rst @@ -83,16 +83,16 @@ On Windows, the whole installation would be like this: * run configure - Later on, if opening a new shell or command prompt on an already installed AboutCode you need to **activate** this installation. On Linux or Mac, run this:: + source bin/activate On Windows, run this:: - bin\\activate + bin\\activate Usage @@ -203,8 +203,6 @@ In this example, the tool will use the list in the "thirdparty_code.csv" file and generate .ABOUT files in a directory tmp/thirdparty_about/ - - **Using the genattrib.py script** The genattrib.py script is used to generate a credit and license attribution @@ -271,10 +269,12 @@ branching model. **Tests** You can run the test suite with:: + python setup.py test **Contributing** + We accept bugs, patches and pull requests for code and documentation provided under the same license (Apache-2.0) as this tool. When contributing, you are agreeing to the http://developercertificate.org/ From 9cd6c5c896f28f8050e313933c4ec590036dc556 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 22 Jun 2015 11:27:58 -0700 Subject: [PATCH 07/83] Update the README file to be the same as the one in Master. --- README.rst | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.rst b/README.rst index 7941fa53..f94bdba2 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,11 @@ AboutCode tool ============== -.. image:: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=develop - :target: https://travis-ci.org/dejacode/about-code-tool +.. image:: https://travis-ci.org/dejacode/about-code-tool.svg?branch=master + :target: https://travis-ci.org/dejacode/about-code-tool -.. image:: https://coveralls.io/repos/dejacode/about-code-tool/badge.png?branch=develop - :target: https://coveralls.io/r/dejacode/about-code-tool?branch=develop +.. image:: https://coveralls.io/repos/dejacode/about-code-tool/badge.svg?branch=master + :target: https://coveralls.io/r/dejacode/about-code-tool?branch=master The AboutCode tool and ABOUT files provide a simple way to document the @@ -50,7 +50,7 @@ Python 2.7.x here https://www.python.org/downloads/ : * Download the .msi installer for Windows or the .dmg archive for Mac. * Open and run the installer using all the default options. -* On Windows, make sure you install Python in the default c:\Python27 and not +* On Windows, make sure you install Python in the default c:\\Python27 and not on another drive. @@ -71,28 +71,28 @@ And on Windows:: For instance on Linux the whole installation would be like this:: - $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip - $ unzip v2.0.0.zip - $ cd about-code-tool-2.0.0/ + $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.1.zip + $ unzip v2.0.1.zip + $ cd about-code-tool-2.0.1/ $ source configure On Windows, the whole installation would be like this: - * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip + * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.1.zip * open a command prompt and cd to the directory where the zip extraction directory * run configure - Later on, if opening a new shell or command prompt on an already installed AboutCode you need to **activate** this installation. On Linux or Mac, run this:: + source bin/activate On Windows, run this:: - bin\activate + bin\\activate Usage @@ -203,8 +203,6 @@ In this example, the tool will use the list in the "thirdparty_code.csv" file and generate .ABOUT files in a directory tmp/thirdparty_about/ - - **Using the genattrib.py script** The genattrib.py script is used to generate a credit and license attribution @@ -271,10 +269,12 @@ branching model. **Tests** You can run the test suite with:: + python setup.py test **Contributing** + We accept bugs, patches and pull requests for code and documentation provided under the same license (Apache-2.0) as this tool. When contributing, you are agreeing to the http://developercertificate.org/ From 24d8c4dd946c268f0b952d9839af07b758591303 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 22 Jun 2015 11:30:44 -0700 Subject: [PATCH 08/83] Update gitignore file. --- .gitignore | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8b18ace5..65091725 100644 --- a/.gitignore +++ b/.gitignore @@ -30,5 +30,6 @@ nosetests.xml # PyCharm project .idea/ - -/*.egg_info +/aboutcode.egg_info +AboutCode.egg-info +/dist From 4954cd4890d5e08f4b4a7a1be2eeb7e3a0bd0d14 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 22 Jun 2015 15:27:35 -0700 Subject: [PATCH 09/83] Update gitignore file --- .gitignore | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 65091725..8b5efe4f 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,5 @@ nosetests.xml # PyCharm project .idea/ -/aboutcode.egg_info -AboutCode.egg-info -/dist + +/*.egg-info/ From 9cedb6def6a05c0834e0846f61515c8deebf0f59 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 24 Jun 2015 16:24:38 -0700 Subject: [PATCH 10/83] Add test cases file for long path testing --- .../longpath1/longpath1/non-supported_date_format.ABOUT | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT diff --git a/about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT b/about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT new file mode 100644 index 00000000..11211ca2 --- /dev/null +++ b/about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT @@ -0,0 +1,4 @@ +name: distribute +version: 1.1 +about_resource: distribute_setup.py +date:01/08/2013 \ No newline at end of file From e0bcbf4c6c0a7b39de1c5e2103c592e69b6e5d16 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 24 Jun 2015 16:33:09 -0700 Subject: [PATCH 11/83] Update version to 2.0.2 Add try/catch to handle when ABOUT files don't have dje_license_name. Add code to handle long path specifically in windows (read and write) See See https://msdn.microsoft.com/en-us/library/aa365247.aspx Add code to strip the UNC_Prefix for path location the in the error log. Create test for long path handling. Add code to strip the quote from the api input. --- about_code_tool/about.py | 45 ++++++++++++++++++++++++++--- about_code_tool/genabout.py | 8 ++++- about_code_tool/genattrib.py | 2 +- about_code_tool/tests/test_about.py | 32 +++++++++++++++++--- 4 files changed, 77 insertions(+), 10 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index dbafc1b3..47b894e4 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -32,21 +32,24 @@ import csv from datetime import datetime from email.parser import HeaderParser -from os.path import basename, dirname, join, normpath, realpath import errno import httplib import logging +import ntpath import optparse import os +from os.path import basename, dirname, join, normpath, realpath import posixpath import socket import string import sys import urlparse -import ntpath -__version__ = '2.0.1' +on_windows = 'win32' in sys.platform +UNC_PREFIX = u'\\\\?\\' + +__version__ = '2.0.2' # See http://dejacode.org __about_spec_version__ = '1.0' @@ -1082,7 +1085,10 @@ def get_dje_license_name(self): """ Return the about object's dje_license_name. """ - return self.parsed.get('dje_license_name', '') + try: + return self.parsed.get('dje_license_name', '') + except: + return '' def check_invalid_chars(field_name, line): """ @@ -1104,6 +1110,8 @@ def check_invalid_chars(field_name, line): warnings = Warn(IGNORED, field_name, line, msg) return invalid_chars, warnings +def posix_unc_prefix(): + return posix_path(u'\\\\?\\') class Collector(object): """ @@ -1144,6 +1152,23 @@ def collect(location): """ # FIXME: we should not accept both a file and dir location as input paths = [] + + if on_windows: + location = unicode(location) + """ + Convert a location to an absolute Window UNC path to support long paths + on Windows. Return the location unchanged if not on Windows. + See https://msdn.microsoft.com/en-us/library/aa365247.aspx + """ + if on_windows and not location.startswith(UNC_PREFIX): + location = UNC_PREFIX + os.path.abspath(location) + location = os.path.expanduser(location) + location = os.path.expandvars(location) + location = os.path.normpath(location) + location = os.path.abspath(location) + + assert os.path.exists(location) + if location: if os.path.isfile(location) and is_about_file(location): paths.append(location) @@ -1241,6 +1266,9 @@ def get_about_context(self, about_object): if '\n' in about_object.get_dje_license_name(): msg = ('Multiple licenses is not supported. ' 'Skipping License generation.') + if on_windows: + if about_object.location.startswith(posix_unc_prefix()): + about_object.location = about_object.location.strip(posix_unc_prefix()) err = Error(GENATTRIB, 'dje_license', about_object.location, msg) self.genattrib_errors.append(err) @@ -1258,6 +1286,9 @@ def get_about_context(self, about_object): and not '\n' in about_object.get_dje_license_name(): msg = ('No license_text found. ' 'Skipping License generation.') + if on_windows: + if about_object.location.startswith(posix_unc_prefix()): + about_object.location = about_object.location.strip(posix_unc_prefix()) err = Error(GENATTRIB, 'license_text_file', about_object.location, msg) self.genattrib_errors.append(err) @@ -1314,6 +1345,9 @@ def generate_attribution(self, template_path=None, limit_to=None, verification=N break if not component_exist: + if on_windows: + if self.location.startswith(posix_unc_prefix()): + self.location = self.location.strip(posix_unc_prefix()) loc = self.location + component msg = ('The requested ABOUT file: %r does not exist. ' 'No attribution generated for this file.' % loc) @@ -1364,6 +1398,9 @@ def check_paths(self, paths): for path in paths: path = posix_path(path) afp = join(self.location, path) + if on_windows: + if afp.startswith(posix_unc_prefix()): + afp = afp.strip(posix_unc_prefix()) msg = ('The requested ABOUT file: %(afp)r does not exist. ' 'No attribution generated for this file.' % locals()) err = Error(GENATTRIB, 'about_file', path, msg) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 404f8c10..aea7cc3c 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -41,7 +41,7 @@ import about -__version__ = '2.0.0' +__version__ = '2.0.2' __copyright__ = """ Copyright (c) 2013-2014 nexB Inc. All rights reserved. @@ -614,6 +614,8 @@ def format_output(input_list): @staticmethod def write_output(output): for about_file_location, context in output: + if about.on_windows: + about_file_location = about.UNC_PREFIX + os.path.abspath(about_file_location) if _exists(about_file_location): os.remove(about_file_location) with open(about_file_location, 'wb') as output_file: @@ -855,6 +857,10 @@ def main(parser, options, args): sys.exit(errno.EINVAL) if gen_license: + # Strip the ' and " for api_url, api_username and api_key from input + api_url = api_url.strip("'").strip("\"") + api_username = api_username.strip("'").strip("\"") + api_key = api_key.strip("'").strip("\"") dje_license_dict = gen.pre_process_and_dje_license_dict(input_list, api_url, api_username, diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index 30544d19..d3c81288 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -43,7 +43,7 @@ logger.addHandler(handler) file_logger = logging.getLogger(__name__ + '_file') -__version__ = '2.0.0' +__version__ = '2.0.2' __about_spec_version__ = '1.0.0' # See http://dejacode.org diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index b6cce448..94e7310f 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -27,9 +27,12 @@ from os.path import abspath, dirname, join, split from about_code_tool import about +from pip._vendor.distlib.wheel import to_posix +from about_code_tool.about import on_windows TESTDATA_DIR = join(abspath(dirname(__file__)), 'testdata') +UNC_PREFIX = u'\\\\?\\' def create_dir(location): @@ -134,11 +137,16 @@ def test_header_row_in_csv_output(self): def test_collect_can_collect_a_directory_tree(self): test_dir = 'about_code_tool/tests/testdata/DateTest' - expected = [('about_code_tool/tests/testdata/DateTest' - '/non-supported_date_format.ABOUT'), - ('about_code_tool/tests/testdata/DateTest' - '/supported_date_format.ABOUT')] + expected = [(os.path.abspath('about_code_tool/tests/testdata/DateTest' + '/non-supported_date_format.ABOUT')), + (os.path.abspath('about_code_tool/tests/testdata/DateTest' + '/supported_date_format.ABOUT'))] result = about.Collector.collect(test_dir) + if on_windows: + expected = [(to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/DateTest' + '/non-supported_date_format.ABOUT'))), + (to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/DateTest' + '/supported_date_format.ABOUT')))] self.assertEqual(sorted(expected), sorted(result)) def test_collect_can_collect_a_single_file(self): @@ -147,8 +155,24 @@ def test_collect_can_collect_a_single_file(self): expected = ['about_code_tool/tests/testdata/thirdparty' '/django_snippets_2413.ABOUT'] result = about.Collector.collect(test_file) + if on_windows: + expected = [to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/thirdparty' + '/django_snippets_2413.ABOUT'))] self.assertEqual(expected, result) + def test_collect_can_collect_a_long_directory_tree(self): + test_dir = 'about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/' + expected = [('about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1' + '/non-supported_date_format.ABOUT')] + result = about.Collector.collect(test_dir) + if on_windows: + # For some reasons, the os.path.abspath doesn't work if I have long + # path in the parameter. Therefore, I just append to long path + # after the os.path.abspath() + expected = [to_posix(UNC_PREFIX + os.path.abspath('about_code_tool') + '/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1' + '/non-supported_date_format.ABOUT')] + self.assertEqual(sorted(expected), sorted(result)) + def test_collector_errors_encapsulation(self): test_file = 'about_code_tool/tests/testdata/DateTest' collector = about.Collector(test_file) From c7df1dafd38dc8eb6d91f96d1b00dbb0d13cf3e1 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 24 Jun 2015 20:21:14 -0700 Subject: [PATCH 12/83] Not support Python26 --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 61f978c0..d5196b43 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: python python: - - "2.6" - "2.7" install: - source configure etc/conf From a0b6e48b8330996d1c451aa04c602bd0445b34cb Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 24 Jun 2015 20:27:37 -0700 Subject: [PATCH 13/83] Fix tests --- about_code_tool/tests/test_about.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 94e7310f..44fbae0f 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -152,8 +152,8 @@ def test_collect_can_collect_a_directory_tree(self): def test_collect_can_collect_a_single_file(self): test_file = ('about_code_tool/tests/testdata/thirdparty' '/django_snippets_2413.ABOUT') - expected = ['about_code_tool/tests/testdata/thirdparty' - '/django_snippets_2413.ABOUT'] + expected = [os.path.abspath('about_code_tool/tests/testdata/thirdparty' + '/django_snippets_2413.ABOUT')] result = about.Collector.collect(test_file) if on_windows: expected = [to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/thirdparty' @@ -162,8 +162,8 @@ def test_collect_can_collect_a_single_file(self): def test_collect_can_collect_a_long_directory_tree(self): test_dir = 'about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/' - expected = [('about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1' - '/non-supported_date_format.ABOUT')] + expected = [os.path.abspath(('about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1' + '/non-supported_date_format.ABOUT'))] result = about.Collector.collect(test_dir) if on_windows: # For some reasons, the os.path.abspath doesn't work if I have long From 39025a5df28f360e1fdc4d0cd2341104ccef4f18 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Jun 2015 10:40:40 -0700 Subject: [PATCH 14/83] Update copyright date. --- about_code_tool/about.py | 4 ++-- about_code_tool/genabout.py | 4 ++-- about_code_tool/genattrib.py | 4 ++-- about_code_tool/tests/test_about.py | 2 +- about_code_tool/tests/test_genabout.py | 2 +- about_code_tool/tests/test_genattrib.py | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 47b894e4..cdd9f3c2 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -56,7 +56,7 @@ __copyright__ = """ -Copyright (c) 2013-2014 nexB Inc. All rights reserved. +Copyright (c) 2013-2015 nexB Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index aea7cc3c..d6bb0abd 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -44,7 +44,7 @@ __version__ = '2.0.2' __copyright__ = """ -Copyright (c) 2013-2014 nexB Inc. All rights reserved. +Copyright (c) 2013-2015 nexB Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index d3c81288..3c95fe24 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -48,7 +48,7 @@ __about_spec_version__ = '1.0.0' # See http://dejacode.org __copyright__ = """ -Copyright (c) 2013-2014 nexB Inc. All rights reserved. +Copyright (c) 2013-2015 nexB Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 44fbae0f..0605e1f1 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 03db877c..98facd65 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 575e1101..701c2726 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at From 4cfa771df1efe72e1105fc49c070bd269d85d151 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Jun 2015 11:53:18 -0700 Subject: [PATCH 15/83] The os.path.abspath(location) is needed when inserting the UNC_PREFIX for long path in windows. In addition, adding code to make sure both the input and filter are in posix path format before doing any string partition. --- about_code_tool/about.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index cdd9f3c2..50f492da 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -557,7 +557,7 @@ class AboutFile(object): """ def __init__(self, location=None): self.about_resource = None - self.location = location + self.location = os.path.abspath(location) self.parsed = None self.parsed_fields = None @@ -1222,6 +1222,10 @@ def get_relative_path(self, location): """ user_loc = normpath(self.location) if os.path.isdir(self.normalized_location): + # Making sure both are in posix path format before + # doing any string partition. + location = posix_path(location) + user_loc = posix_path(user_loc) parent_name = basename(user_loc) subpath = '/' + parent_name + location.partition(user_loc)[2] if user_loc[-1] == '/': From 560805591ffab31427f5fe8e18a7270da9111d29 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Jun 2015 12:06:09 -0700 Subject: [PATCH 16/83] Strip trailing whitespace to avoid creating invalid file such as "about.c .ABOUT" Test code added. --- about_code_tool/genabout.py | 2 +- about_code_tool/tests/test_genabout.py | 10 ++++++++++ .../about_with_trailling_spaces.csv | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 about_code_tool/tests/testdata/test_files_for_genabout/about_with_trailling_spaces.csv diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index d6bb0abd..cc3ac6b7 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -135,7 +135,7 @@ def get_input_list(input_file): for row in csvfile: row_dict = {} for key in row: - row_dict[key.lower()] = row[key] + row_dict[key.lower()] = row[key].rstrip() input_list.append(row_dict) return input_list diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 98facd65..87abae55 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -41,6 +41,16 @@ def test_get_input_list(self): result = gen.get_input_list(test_file) self.assertEqual(expected, result) + def test_get_input_with_trailing_spaces(self): + gen = genabout.GenAbout() + test_file = join(TESTDATA_DIR, 'test_files_for_genabout/about_with_trailling_spaces.csv') + expected = [{'about_file': 'about.c', + 'about_resource': '.', + 'name': 'ABOUT tool', + 'version': '0.8.1'}] + result = gen.get_input_list(test_file) + self.assertEqual(expected, result) + def test_get_input_list_covert_all_keys_to_lower(self): gen = genabout.GenAbout() test_input = join(TESTDATA_DIR, 'test_files_for_genabout' diff --git a/about_code_tool/tests/testdata/test_files_for_genabout/about_with_trailling_spaces.csv b/about_code_tool/tests/testdata/test_files_for_genabout/about_with_trailling_spaces.csv new file mode 100644 index 00000000..d1672728 --- /dev/null +++ b/about_code_tool/tests/testdata/test_files_for_genabout/about_with_trailling_spaces.csv @@ -0,0 +1,2 @@ +about_file,about_resource,name,version +about.c ,.,ABOUT tool,0.8.1 From f8d3529e9dd9295a5f3571561adbd3d6f2379a60 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Jun 2015 13:22:01 -0700 Subject: [PATCH 17/83] #195 force the code to use the generated dje_license_key instead of the user entered license_key --- about_code_tool/genabout.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index cc3ac6b7..815e1cdc 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -455,11 +455,12 @@ def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, ap if not lic in license_dict: detail_list = [] detail = self.get_license_details_from_api(api_url, api_username, api_key, lic) - license_dict[lic] = detail[0] - line['dje_license_name'] = detail[0] dje_key = detail[1] + line['dje_license_key'] = dje_key + license_dict[dje_key] = detail[0] + line['dje_license_name'] = detail[0] license_context = detail [2] - line['dje_license_url'] = dje_lic_urn + lic + line['dje_license_url'] = dje_lic_urn + dje_key detail_list.append(dje_key) detail_list.append(license_context) key_text_dict[detail[0]] = detail_list From d6880795e0838400a3f8f67ec8e904ed19e732dc Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Jun 2015 15:11:14 -0700 Subject: [PATCH 18/83] Fix the test as the os.path.abspath(None) will cause error in linux system. See https://bugs.python.org/issue22587 --- about_code_tool/about.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 50f492da..7aa652e6 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -557,7 +557,14 @@ class AboutFile(object): """ def __init__(self, location=None): self.about_resource = None - self.location = os.path.abspath(location) + # The os.path.abspath(None) will cause error in linux system. + # See https://bugs.python.org/issue22587 + # Note that the os.path.abspath is needed for windows when there + # is long path/filename. + if on_windows: + self.location = os.path.abspath(location) + else: + self.location = location self.parsed = None self.parsed_fields = None From 5182b56038e5294e43a6eee336cca7e45760f86a Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Jun 2015 15:35:48 -0700 Subject: [PATCH 19/83] Remove the UNC_PREFIX in the path for windows system in the error.log --- about_code_tool/about.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 7aa652e6..2a2bf064 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -1278,8 +1278,9 @@ def get_about_context(self, about_object): msg = ('Multiple licenses is not supported. ' 'Skipping License generation.') if on_windows: - if about_object.location.startswith(posix_unc_prefix()): - about_object.location = about_object.location.strip(posix_unc_prefix()) + if (about_object.location.startswith(posix_unc_prefix()) + or about_object.location.startswith(UNC_PREFIX)): + about_object.location = about_object.location.strip(posix_unc_prefix()).strip(UNC_PREFIX) err = Error(GENATTRIB, 'dje_license', about_object.location, msg) self.genattrib_errors.append(err) @@ -1298,8 +1299,9 @@ def get_about_context(self, about_object): msg = ('No license_text found. ' 'Skipping License generation.') if on_windows: - if about_object.location.startswith(posix_unc_prefix()): - about_object.location = about_object.location.strip(posix_unc_prefix()) + if (about_object.location.startswith(posix_unc_prefix()) + or about_object.location.startswith(UNC_PREFIX)): + about_object.location = about_object.location.strip(posix_unc_prefix()).strip(UNC_PREFIX) err = Error(GENATTRIB, 'license_text_file', about_object.location, msg) self.genattrib_errors.append(err) From 5a5b639e977ba92e75ec24ac296e376e6c3c92c1 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 29 Jun 2015 09:52:29 -0700 Subject: [PATCH 20/83] #198 Add code to check if the about_file path is valid or invalid. If the path is invalid, the tool will log the error and skip this generation and keep continue with the rest. --- about_code_tool/genabout.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 815e1cdc..ab0c7d0f 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -516,7 +516,14 @@ def pre_generation(self, gen_location, input_list, action_num): about_file_location = join(gen_location, file_location) about_file_dir = dirname(about_file_location) if not os.path.exists(about_file_dir): - makedirs(about_file_dir) + # Check for invalid file path + try: + makedirs(about_file_dir) + except: + msg = 'Invalid ABOUT file path.' + self.errors.append(Error(VALUE, 'about_file_path', + about_file_dir, msg)) + continue about_file_exist = _exists(about_file_location) if about_file_exist: if action_num == ACTION_DO_NOTHING_IF_ABOUT_FILE_EXIST: From f7f24deb9b97decc9ad518e8f0bfe0f9565716b0 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 30 Jun 2015 10:29:44 -0700 Subject: [PATCH 21/83] Unify the value in the dictionary list to work with unicode. --- about_code_tool/genabout.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index ab0c7d0f..917ee619 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -597,19 +597,22 @@ def format_output(input_list): """ components_list = [] for about_file_location, about_dict_list in input_list: + unified_dict_list = {} + for key in about_dict_list: + unified_dict_list[key] = u''.join(about_dict_list[key]) component = [] - component_name = about_dict_list.get('name', '') - component_version = about_dict_list.get('version', '') + component_name = unified_dict_list.get('name', '') + component_version = unified_dict_list.get('version', '') context = 'about_resource: %s\nname: %s\nversion: %s\n\n' % ( - about_dict_list['about_resource'], component_name, component_version) + unified_dict_list['about_resource'], component_name, component_version) - for item in sorted(about_dict_list.iterkeys()): + for item in sorted(unified_dict_list.iterkeys()): if item == 'about_file': continue if not item in about.MANDATORY_FIELDS: # The purpose of the replace('\n', '\n ') is used to # format the continuation strings - value = about_dict_list[item].replace('\n', '\n ') + value = unified_dict_list[item].replace('\n', '\n ') if (value or item in about.MANDATORY_FIELDS) and not item\ in about.ERROR_WARN_FIELDS and not item == 'about_resource': context += item + ': ' + value + '\n' From e981f3da391768383a424cc687f3378a546527fd Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 30 Jun 2015 16:13:35 -0700 Subject: [PATCH 22/83] the unified_dict_list is not working. restore the code base. --- about_code_tool/genabout.py | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 917ee619..d4800f81 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -13,7 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================ - """ This is a tool to generate ABOUT files based on the input file. The input file should be a csv format which contains information about the @@ -22,25 +21,25 @@ from __future__ import print_function +from collections import namedtuple import copy import csv import errno import json import logging import optparse +from os import makedirs import os +from os.path import exists, dirname, join, abspath, isdir, normpath, basename, expanduser import shutil import sys import urllib import urllib2 - -from collections import namedtuple from urlparse import urljoin, urlparse -from os import makedirs -from os.path import exists, dirname, join, abspath, isdir, normpath, basename, expanduser import about + __version__ = '2.0.2' __copyright__ = """ @@ -597,22 +596,19 @@ def format_output(input_list): """ components_list = [] for about_file_location, about_dict_list in input_list: - unified_dict_list = {} - for key in about_dict_list: - unified_dict_list[key] = u''.join(about_dict_list[key]) component = [] - component_name = unified_dict_list.get('name', '') - component_version = unified_dict_list.get('version', '') + component_name = about_dict_list.get('name', '') + component_version = about_dict_list.get('version', '') context = 'about_resource: %s\nname: %s\nversion: %s\n\n' % ( - unified_dict_list['about_resource'], component_name, component_version) + about_dict_list['about_resource'], component_name, component_version) - for item in sorted(unified_dict_list.iterkeys()): + for item in sorted(about_dict_list.iterkeys()): if item == 'about_file': continue if not item in about.MANDATORY_FIELDS: # The purpose of the replace('\n', '\n ') is used to # format the continuation strings - value = unified_dict_list[item].replace('\n', '\n ') + value = about_dict_list[item].replace('\n', '\n ') if (value or item in about.MANDATORY_FIELDS) and not item\ in about.ERROR_WARN_FIELDS and not item == 'about_resource': context += item + ': ' + value + '\n' From 6ff8debd9457a023833b2112d12af50667bb704f Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 6 Jul 2015 11:09:43 -0700 Subject: [PATCH 23/83] Add code to handle encoding issue. --- about_code_tool/genabout.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index d4800f81..d9c38c90 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -611,6 +611,11 @@ def format_output(input_list): value = about_dict_list[item].replace('\n', '\n ') if (value or item in about.MANDATORY_FIELDS) and not item\ in about.ERROR_WARN_FIELDS and not item == 'about_resource': + # It will cause error if value has different coding + try: + value = unicode(value, errors='ignore') + except: + pass context += item + ': ' + value + '\n' component.append(about_file_location) From 55bb8786e31a94496aa271934060702236da0695 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 6 Jul 2015 11:29:17 -0700 Subject: [PATCH 24/83] Update README instruction reference from 2.0.1 to 2.0.2 --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index f94bdba2..8ff8f8cc 100644 --- a/README.rst +++ b/README.rst @@ -71,14 +71,14 @@ And on Windows:: For instance on Linux the whole installation would be like this:: - $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.1.zip - $ unzip v2.0.1.zip - $ cd about-code-tool-2.0.1/ + $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.2.zip + $ unzip v2.0.2.zip + $ cd about-code-tool-2.0.2/ $ source configure On Windows, the whole installation would be like this: - * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.1.zip + * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.2.zip * open a command prompt and cd to the directory where the zip extraction directory * run configure From 0370c66be21183dced60cf9892eccba749b3e5fb Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 6 Jul 2015 12:15:52 -0700 Subject: [PATCH 25/83] Update changelog. --- docs/CHANGELOG.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 5a8ed1ef..44cd1992 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -1,3 +1,19 @@ +2015-07-xx Chin-Yeung Li + + Release 2.0.2 + + * Handle input's encoding issues + * Better error handling + * Writing to and reading from Windows OS with paths > 255 chars + + +2015-06-08 Chin-Yeung Li + + Release 2.0.1 + + * Fixes the configure scripts and updates basic documentation. + + 2015-03-06 Chin-Yeung Li Release 2.0.0 From b32413575da8352a0f314bcd67700b371b556470 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 6 Jul 2015 14:55:46 -0700 Subject: [PATCH 26/83] Update CHANGELOG date. --- docs/CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 44cd1992..8999392e 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -1,4 +1,4 @@ -2015-07-xx Chin-Yeung Li +2015-07-06 Chin-Yeung Li Release 2.0.2 From b2de07f645e932d905cea5b2408eb438feb8d675 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 10:56:17 -0700 Subject: [PATCH 27/83] The 'about_relative_path' was not converted to posix path which is causing an error. --- about_code_tool/about.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 2a2bf064..1deb339b 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -1350,7 +1350,7 @@ def generate_attribution(self, template_path=None, limit_to=None, verification=N # match the about_file's location with the input list. about_relative_path = about_object.location.partition( normpath(self.location))[2] - if component == about_relative_path: + if component == posix_path(about_relative_path): component_exist = True about_content = self.get_about_context(about_object) license_dict[about_object.get_dje_license_name()] = about_content['license_text'] From 9491dc55df93e22feed1938357acae1bd611f129 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 11:04:22 -0700 Subject: [PATCH 28/83] Update Changelog --- docs/CHANGELOG.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 8999392e..a86aa93e 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -1,3 +1,10 @@ +2015-07-31 Chin-Yeung Li + + Release 2.0.3 + + * Fix the usage of using genattrib.py on Windows OS + + 2015-07-06 Chin-Yeung Li Release 2.0.2 From 739e24cd20111d344ac0c5c8fe168ec36f03c7f1 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 12:00:21 -0700 Subject: [PATCH 29/83] Update Changelog --- docs/CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index a86aa93e..59bba259 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -3,6 +3,7 @@ Release 2.0.3 * Fix the usage of using genattrib.py on Windows OS + * Display version when running about.py, genabout.py and genattrib.py 2015-07-06 Chin-Yeung Li From 36e20fcbab08809d998cee8a33915244f8d1842c Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 12:02:25 -0700 Subject: [PATCH 30/83] Update version to 2.0.3 Fixed #206 Fixed #207 --- about_code_tool/about.py | 5 ++++- about_code_tool/genabout.py | 5 ++++- about_code_tool/genattrib.py | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 1deb339b..c4e157ee 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -49,7 +49,7 @@ on_windows = 'win32' in sys.platform UNC_PREFIX = u'\\\\?\\' -__version__ = '2.0.2' +__version__ = '2.0.3' # See http://dejacode.org __about_spec_version__ = '1.0' @@ -1557,6 +1557,9 @@ def format_option(self, option): if __name__ == '__main__': + print('\n') + print('Running about-code-tool version ' + __version__) + print('\n') parser = get_parser() options, args = parser.parse_args() sys.exit(main(parser, options, args)) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index d9c38c90..d470b075 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -40,7 +40,7 @@ import about -__version__ = '2.0.2' +__version__ = '2.0.3' __copyright__ = """ Copyright (c) 2013-2015 nexB Inc. All rights reserved. @@ -960,6 +960,9 @@ def format_option(self, option): if __name__ == '__main__': + print('\n') + print('Running about-code-tool version ' + __version__) + print('\n') parser = get_parser() options, args = parser.parse_args() main(parser, options, args) diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index 3c95fe24..c4eef3ba 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -43,7 +43,7 @@ logger.addHandler(handler) file_logger = logging.getLogger(__name__ + '_file') -__version__ = '2.0.2' +__version__ = '2.0.3' __about_spec_version__ = '1.0.0' # See http://dejacode.org @@ -333,6 +333,9 @@ def format_option(self, option): if __name__ == "__main__": + print('\n') + print('Running about-code-tool version ' + __version__) + print('\n') parser = get_parser() options, args = parser.parse_args() main(parser, options, args) From 1ced1c8ceccdff31051653c3f2088b4e6b804d22 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 12:02:44 -0700 Subject: [PATCH 31/83] Add test code for generate attribtuion function --- about_code_tool/tests/test_about.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 0605e1f1..458e28f8 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -654,6 +654,15 @@ def test_generate_attribution_with_default_template(self): # Strip all the white spaces self.assertEqual(re.sub(r'\s+', '', expected), re.sub(r'\s+', '', result)) + def test_generate_attribution_with_limit_to(self): + f = open(join(TESTDATA_DIR, 'attrib/attrib.html')) + expected = f.read() + test_file = join(TESTDATA_DIR, 'attrib/') + collector = about.Collector(test_file) + result = collector.generate_attribution(limit_to=['/attrib.ABOUT']) + # Strip all the white spaces + self.assertEqual(re.sub(r'\s+', '', expected), re.sub(r'\s+', '', result)) + def test_generate_attribution_verification(self): expected = (u'name,version,copyright,dje_license_name\n' 'Apache HTTP Server,2.4.3,,') From 63774653ec0d578f5a1febc1201934b2cdcd00e3 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 12:02:44 -0700 Subject: [PATCH 32/83] Add test code for generate attribtuion function --- about_code_tool/tests/test_about.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 0605e1f1..458e28f8 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -654,6 +654,15 @@ def test_generate_attribution_with_default_template(self): # Strip all the white spaces self.assertEqual(re.sub(r'\s+', '', expected), re.sub(r'\s+', '', result)) + def test_generate_attribution_with_limit_to(self): + f = open(join(TESTDATA_DIR, 'attrib/attrib.html')) + expected = f.read() + test_file = join(TESTDATA_DIR, 'attrib/') + collector = about.Collector(test_file) + result = collector.generate_attribution(limit_to=['/attrib.ABOUT']) + # Strip all the white spaces + self.assertEqual(re.sub(r'\s+', '', expected), re.sub(r'\s+', '', result)) + def test_generate_attribution_verification(self): expected = (u'name,version,copyright,dje_license_name\n' 'Apache HTTP Server,2.4.3,,') From 1bca3a5fc596afc95a57e47dcd21946d9303aa05 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 31 Jul 2015 12:07:32 -0700 Subject: [PATCH 33/83] Update changelog wording --- docs/CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 59bba259..64444289 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -2,7 +2,7 @@ Release 2.0.3 - * Fix the usage of using genattrib.py on Windows OS + * Fix the bug of using genattrib.py on Windows OS * Display version when running about.py, genabout.py and genattrib.py From ad835200aae93c66cf2e96ff9f2c540decea6ee9 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 10 Aug 2015 12:27:27 -0700 Subject: [PATCH 34/83] New example files updated. --- .../e2fsprogs-1.39/alocal.m4.ABOUT | 3 +- .../e2fsprogs-1.39/config/config.guess.ABOUT | 3 +- .../e2fsprogs-1.39/config/config.rpath.ABOUT | 3 +- .../e2fsprogs-1.39/config/config.sub.ABOUT | 3 +- .../e2fsprogs-1.39/config/mkinstalldirs.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/argv_parse.c.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/argv_parse.h.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/journal.c.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/mtrace.c.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/mtrace.h.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/profile.c.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsck/profile.h.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsprogs-1.39.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsprogs-1.39.NOTICE | 1 - .../include/nonunix/getopt.h.ABOUT | 3 +- .../install-utils/convfstab.ABOUT | 3 +- .../e2fsprogs-1.39/intl/intl.ABOUT | 3 +- .../e2fsprogs-1.39/lib/blkid/blkid.ABOUT | 3 +- .../e2fsprogs-1.39/lib/e2p/e2p.ABOUT | 3 +- .../e2fsprogs-1.39/lib/et/com_right.c.ABOUT | 3 +- .../e2fsprogs-1.39/lib/et/et.ABOUT | 3 +- .../e2fsprogs-1.39/lib/et/texinfo.tex.ABOUT | 3 +- .../e2fsprogs-1.39/lib/et/vfprintf.c.ABOUT | 5 +- .../e2fsprogs-1.39/lib/fpopen.c.ABOUT | 5 +- .../e2fsprogs-1.39/lib/ss/ss.ABOUT | 3 +- .../e2fsprogs-1.39/lib/uuid/uuid.ABOUT | 3 +- .../e2fsprogs-1.39/misc/blkid.c.ABOUT | 3 +- .../e2fsprogs-1.39/e2fsprogs-about/error.log | 0 .../input/e2fsprogs-1.39-CreateAboutFile.csv | 2 +- .../input/e2fsprogs-1.39-INV.xlsx | Bin 14668 -> 14679 bytes ...mple_license_ref_by_confirmed_license.html | 66 + .../output/sample_attribution_starship.html | 1 - .../output/sample_license_ref_starship.html | 1800 +++++++++++++++++ 33 files changed, 1921 insertions(+), 31 deletions(-) create mode 100644 example/e2fsprogs-1.39/e2fsprogs-about/error.log create mode 100644 example/e2fsprogs-1.39/input/template_sample_license_ref_by_confirmed_license.html create mode 100644 example/e2fsprogs-1.39/output/sample_license_ref_starship.html diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/alocal.m4.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/alocal.m4.ABOUT index c90c8340..79bf5033 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/alocal.m4.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/alocal.m4.ABOUT @@ -5,7 +5,8 @@ version: category: Public Domain confirmed_license: Public Domain copyright: Copyright (c) 1995-2003 Free Software Foundation, Inc. -dje_license: public-domain +dje_license_key: public-domain dje_license_name: Public Domain +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:public-domain license_text_file: public-domain.LICENSE owner: Free Software Foundation diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.guess.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.guess.ABOUT index c0a4f115..28aae5e1 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.guess.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.guess.ABOUT @@ -8,8 +8,9 @@ checksum_sha1: 6bf255982f9104c1423347581c55b4a34336e933 component_type: posix shell script text executable confirmed_license: GPL 2.0 with Autoconf exception copyright: Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -dje_license: gpl-2.0-autoconf +dje_license_key: gpl-2.0-autoconf dje_license_name: GNU General Public License 2.0 with Autoconf exception +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0-autoconf license_text_file: gpl-2.0-autoconf.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.rpath.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.rpath.ABOUT index 81dc829f..26c5e6b4 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.rpath.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.rpath.ABOUT @@ -8,8 +8,9 @@ checksum_sha1: 98461658e371e01ef48f2ea173823c96fecc6145 component_type: posix shell script text executable confirmed_license: GPL 2.0 with Autoconf exception copyright: Copyright 1996-2002 Free Software Foundation, Inc. -dje_license: gpl-2.0-autoconf +dje_license_key: gpl-2.0-autoconf dje_license_name: GNU General Public License 2.0 with Autoconf exception +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0-autoconf license_text_file: gpl-2.0-autoconf.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.sub.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.sub.ABOUT index 26ff9a75..1b96e043 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.sub.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/config.sub.ABOUT @@ -8,8 +8,9 @@ checksum_sha1: c6aba2045763f997fc81c1d881304755b09d2e02 component_type: posix shell script text executable confirmed_license: GPL 2.0 with Autoconf exception copyright: Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -dje_license: gpl-2.0-autoconf +dje_license_key: gpl-2.0-autoconf dje_license_name: GNU General Public License 2.0 with Autoconf exception +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0-autoconf license_text_file: gpl-2.0-autoconf.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/mkinstalldirs.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/mkinstalldirs.ABOUT index c4f8656b..29ef7149 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/mkinstalldirs.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/config/mkinstalldirs.ABOUT @@ -6,8 +6,9 @@ category: Public Domain checksum_sha1: e8066bf9dc4353afffcfc5c2ec1cc9cc757585de component_type: posix shell script text executable confirmed_license: Public Domain -dje_license: public-domain +dje_license_key: public-domain dje_license_name: Public Domain +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:public-domain download_url: http://svn.apache.org/repos/asf/axis/axis1/c/trunk/mkinstalldirs license_text_file: public-domain.LICENSE owner: Noah Friedman diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.c.ABOUT index f58e3fbc..e0f38af9 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.c.ABOUT @@ -8,7 +8,8 @@ checksum_sha1: 318ea46f5d3a08ae60d311b0cfe0b0c19e00a286 component_type: c language text confirmed_license: MIT Old Style legal 2 copyright: Copyright 1999 by Theodore Ts'o -dje_license: mit-old-style-legal-2 +dje_license_key: mit-old-style-legal-2 dje_license_name: MIT Old Style with legal disclaimer 2 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:mit-old-style-legal-2 license_text_file: mit-old-style-legal-2.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.h.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.h.ABOUT index 3c505866..a187b42a 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.h.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/argv_parse.h.ABOUT @@ -8,7 +8,8 @@ checksum_sha1: fbe63cb7e5c5c90ba03b47e1e105ac1e50c2ba2a component_type: c language text confirmed_license: MIT Old Style legal 2 copyright: Copyright 1999 by Theodore Ts'o -dje_license: mit-old-style-legal-2 +dje_license_key: mit-old-style-legal-2 dje_license_name: MIT Old Style with legal disclaimer 2 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:mit-old-style-legal-2 license_text_file: mit-old-style-legal-2.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/journal.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/journal.c.ABOUT index aecb9014..e2d41fc3 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/journal.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/journal.c.ABOUT @@ -10,8 +10,9 @@ confirmed_license: GPL 2.0 copyright: Copyright (C) 2000 Andreas Dilger Copyright (C) 2000 Theodore Ts'o Copyright (C) 1999 Red Hat Software -dje_license: gpl-2.0 +dje_license_key: gpl-2.0 dje_license_name: GNU General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0 license_text_file: gpl-2.0.LICENSE owner: Stephen C. Tweedie redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.c.ABOUT index 48dd8e10..9c726134 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.c.ABOUT @@ -10,8 +10,9 @@ confirmed_license: LGPL 2.0 copyright: Copyright (C) 1991, 1992 Free Software Foundation, Inc. Written April 2, 1991 by John Gilmore of Cygnus Support. Based on mcheck.c by Mike Haertel. -dje_license: lgpl-2.0 +dje_license_key: lgpl-2.0 dje_license_name: GNU Library General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.0 license_text_file: lgpl-2.0.LICENSE owner: Mike Haertel redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.h.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.h.ABOUT index 4b4983f7..8946eb17 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.h.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/mtrace.h.ABOUT @@ -9,8 +9,9 @@ component_type: c language text confirmed_license: LGPL 2.0 copyright: Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written May 1989 by Mike Haertel. -dje_license: lgpl-2.0 +dje_license_key: lgpl-2.0 dje_license_name: GNU Library General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.0 license_text_file: lgpl-2.0.LICENSE owner: Mike Haertel redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.c.ABOUT index 3438afba..65942ef4 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.c.ABOUT @@ -9,8 +9,9 @@ component_type: c language text confirmed_license: GPL 2.0 copyright: Copyright (C) 2005 by Theodore Ts'o. Copyright (C) 1985-2005 by the Massachusetts Institute of Technology. -dje_license: gpl-2.0 +dje_license_key: gpl-2.0 dje_license_name: GNU General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0 license_text_file: gpl-2.0.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.h.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.h.ABOUT index 67e25f1a..308e684d 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.h.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsck/profile.h.ABOUT @@ -9,8 +9,9 @@ component_type: c language text confirmed_license: GPL 2.0 copyright: Copyright (C) 2005 by Theodore Ts'o. Copyright (C) 1985-2005 by the Massachusetts Institute of Technology. -dje_license: gpl-2.0 +dje_license_key: gpl-2.0 dje_license_name: GNU General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0 license_text_file: gpl-2.0.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.ABOUT index bc066a24..b0f46fc7 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.ABOUT @@ -7,8 +7,9 @@ category: Copyleft component_type: directory confirmed_license: GPL 2.0 copyright: Copyright (c) 1997-2004 Theodore Ts'o -dje_license: gpl-2.0 +dje_license_key: gpl-2.0 dje_license_name: GNU General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0 download_url: http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/1.39/e2fsprogs-1.39.tar.gz/ license_text_file: gpl-2.0.LICENSE notice_file: e2fsprogs-1.39.NOTICE diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.NOTICE b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.NOTICE index ebb69ef6..6139069b 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.NOTICE +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/e2fsprogs-1.39.NOTICE @@ -26,4 +26,3 @@ enough lead time. 15-Mar-2003 ---------------------------------------------------------------------- - diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/include/nonunix/getopt.h.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/include/nonunix/getopt.h.ABOUT index 2ca45972..e19ce7de 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/include/nonunix/getopt.h.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/include/nonunix/getopt.h.ABOUT @@ -8,8 +8,9 @@ checksum_sha1: 2fede7afd8211e66071476da4553a44029be67d5 component_type: c language text confirmed_license: LGPL 2.0 copyright: Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. -dje_license: lgpl-2.0 +dje_license_key: lgpl-2.0 dje_license_name: GNU Library General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.0 download_url: http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/include/nonunix/getopt.h license_text_file: lgpl-2.0.LICENSE owner: GNU C Library diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/install-utils/convfstab.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/install-utils/convfstab.ABOUT index fd1b4c5c..734c492e 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/install-utils/convfstab.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/install-utils/convfstab.ABOUT @@ -6,8 +6,9 @@ category: Public Domain checksum_sha1: dde2f47f8abbe15627cd5bfe0e2283fbb820eda6 component_type: posix shell script text executable confirmed_license: Public Domain -dje_license: Public Domain +dje_license_key: public-domain dje_license_name: Public Domain +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:public-domain download_url: http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/install-utils/convfstab license_text_file: public-domain.LICENSE owner: M.Weller diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/intl/intl.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/intl/intl.ABOUT index a576bff3..04bf1667 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/intl/intl.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/intl/intl.ABOUT @@ -7,8 +7,9 @@ category: Copyleft Limited component_type: directory confirmed_license: LGPL 2.0 copyright: Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. -dje_license: lgpl-2.0 +dje_license_key: lgpl-2.0 dje_license_name: GNU Library General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.0 license_text_file: lgpl-2.0.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/blkid/blkid.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/blkid/blkid.ABOUT index c84e43ca..5dfa729a 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/blkid/blkid.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/blkid/blkid.ABOUT @@ -9,8 +9,9 @@ confirmed_license: LGPL 2.1 copyright: Copyright (C) 2001 Andreas Dilger Copyright (C) 2003 Theodore Ts'o Copyright (C) 1999 by Andries Brouwer -dje_license: lgpl-2.1 +dje_license_key: lgpl-2.1 dje_license_name: GNU Lesser General Public License 2.1 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.1 license_text_file: lgpl-2.1.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/e2p/e2p.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/e2p/e2p.ABOUT index bebe7656..b5816e8d 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/e2p/e2p.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/e2p/e2p.ABOUT @@ -8,8 +8,9 @@ component_type: directory confirmed_license: LGPL 2.0 copyright: Copyright (C) 1992, 1993, 1994 Remy Card Copyright (c) 1999 Theodore Ts -dje_license: lgpl-2.0 +dje_license_key: lgpl-2.0 dje_license_name: GNU Library General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.0 license_text_file: lgpl-2.0.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/com_right.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/com_right.c.ABOUT index b3b0568e..eed11de2 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/com_right.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/com_right.c.ABOUT @@ -9,7 +9,8 @@ component_type: c language text confirmed_license: BSD-Modified copyright: Copyright (c) 2003 by Theodore Ts'o Copyright (c) 1997, 1998, 2001 Kungliga Tekniska Hogskolan -dje_license: bsd-new +dje_license_key: bsd-new dje_license_name: BSD-Modified +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:bsd-new license_text_file: bsd-new.LICENSE owner: Kerberos4kth diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/et.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/et.ABOUT index f1effc10..bf1e0f12 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/et.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/et.ABOUT @@ -7,7 +7,8 @@ category: Attribution component_type: directory confirmed_license: Kerberos License copyright: Copyright 2003 by MIT Student Information Processing Board -dje_license: kerberos +dje_license_key: kerberos dje_license_name: Kerberos License +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:kerberos license_text_file: kerberos.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/texinfo.tex.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/texinfo.tex.ABOUT index fc4a026c..bbc57e10 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/texinfo.tex.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/texinfo.tex.ABOUT @@ -8,8 +8,9 @@ checksum_sha1: 1b73dbf5dbc340a945d2bc75f61cc212f5ae3c08 component_type: tex language text confirmed_license: GPL 2.0 copyright: Copyright (C) 1985, 1986, 1988 Richard M. Stallman -dje_license: gpl-2.0 +dje_license_key: gpl-2.0 dje_license_name: GNU General Public License 2.0 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:gpl-2.0 license_text_file: gpl-2.0.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/vfprintf.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/vfprintf.c.ABOUT index 817b0b68..18b4b674 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/vfprintf.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/et/vfprintf.c.ABOUT @@ -6,9 +6,10 @@ attribute: yes category: Attribution checksum_sha1: 01a03815e2550f01bbfe0b40c277e0621c52cec1 component_type: c language text -confirmed_license: Berkeley Software License Agreement +confirmed_license: Berkeley Software License Agreement copyright: Copyright (c) 1988 Regents of the University of California -dje_license: bsla +dje_license_key: bsla dje_license_name: Berkeley Software License Agreement +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:bsla license_text_file: bsla.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/fpopen.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/fpopen.c.ABOUT index 64754608..7bc65e99 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/fpopen.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/fpopen.c.ABOUT @@ -6,9 +6,10 @@ attribute: yes category: Attribution checksum_sha1: 6bd791a73921839a749fce1086ff1ede0c434ec2 component_type: c language text -confirmed_license: Berkeley Software License Agreement +confirmed_license: Berkeley Software License Agreement copyright: Copyright Theodore Ts'o, 1996-1999. -dje_license: bsla +dje_license_key: bsla dje_license_name: Berkeley Software License Agreement +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:bsla license_text_file: bsla.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/ss/ss.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/ss/ss.ABOUT index afc84a63..9dff9c83 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/ss/ss.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/ss/ss.ABOUT @@ -7,7 +7,8 @@ category: Attribution component_type: directory confirmed_license: Kerberos License copyright: Copyright 2003 by MIT Student Information Processing Board -dje_license: kerberos +dje_license_key: kerberos dje_license_name: Kerberos License +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:kerberos license_text_file: kerberos.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/uuid/uuid.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/uuid/uuid.ABOUT index 7caf2f45..ea46f9a2 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/uuid/uuid.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/lib/uuid/uuid.ABOUT @@ -7,7 +7,8 @@ category: Attribution component_type: directory confirmed_license: BSD-Modified copyright: Copyright (C) 1996, 1997 Theodore Ts'o -dje_license: bsd-new +dje_license_key: bsd-new dje_license_name: BSD-Modified +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:bsd-new license_text_file: bsd-new.LICENSE owner: Theodore Ts'o diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/misc/blkid.c.ABOUT b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/misc/blkid.c.ABOUT index bb1bbc37..f5a53710 100644 --- a/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/misc/blkid.c.ABOUT +++ b/example/e2fsprogs-1.39/e2fsprogs-about/e2fsprogs-1.39/misc/blkid.c.ABOUT @@ -8,8 +8,9 @@ checksum_sha1: 6448a75f8212c06bd76f59c6b96024fa94c82f12 component_type: c language text confirmed_license: LGPL 2.1 copyright: Copyright (C) 2001 Andreas Dilger -dje_license: lgpl-2.1 +dje_license_key: lgpl-2.1 dje_license_name: GNU Lesser General Public License 2.1 +dje_license_url: https://enterprise.dejacode.com/urn/?urn=urn:dje:license:lgpl-2.1 license_text_file: lgpl-2.1.LICENSE owner: Theodore Ts'o redistribute: yes diff --git a/example/e2fsprogs-1.39/e2fsprogs-about/error.log b/example/e2fsprogs-1.39/e2fsprogs-about/error.log new file mode 100644 index 00000000..e69de29b diff --git a/example/e2fsprogs-1.39/input/e2fsprogs-1.39-CreateAboutFile.csv b/example/e2fsprogs-1.39/input/e2fsprogs-1.39-CreateAboutFile.csv index fb5d99bf..8e69948c 100644 --- a/example/e2fsprogs-1.39/input/e2fsprogs-1.39-CreateAboutFile.csv +++ b/example/e2fsprogs-1.39/input/e2fsprogs-1.39-CreateAboutFile.csv @@ -1 +1 @@ -pathname,component,cversion,Category,Confirmed_License,dje_license,attribute,redistribute,track_changes,owner,license_text_file,notice_file,download_url,copyright,file_type,sha1 /e2fsprogs-1.39/,e2fsprogs,1.39,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,e2fsprogs-1.39.NOTICE,http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/1.39/e2fsprogs-1.39.tar.gz/,Copyright (c) 1997-2004 Theodore Ts'o,directory, /e2fsprogs-1.39/alocal.m4,alocal.m4,,Public Domain,Public Domain,public-domain,,,,Free Software Foundation,,,,"Copyright (c) 1995-2003 Free Software Foundation, Inc.",, /e2fsprogs-1.39/config/config.guess,config.guess,,Copyleft,GPL 2.0 with Autoconf exception,gpl-2.0-autoconf,yes,yes,yes,Theodore Ts'o,,,,"Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.",posix shell script text executable,6bf255982f9104c1423347581c55b4a34336e933 /e2fsprogs-1.39/config/config.rpath,config.rpath,,Copyleft,GPL 2.0 with Autoconf exception,gpl-2.0-autoconf,yes,yes,yes,Theodore Ts'o,,,,"Copyright 1996-2002 Free Software Foundation, Inc.",posix shell script text executable,98461658e371e01ef48f2ea173823c96fecc6145 /e2fsprogs-1.39/config/config.sub,config.sub,,Copyleft,GPL 2.0 with Autoconf exception,gpl-2.0-autoconf,yes,yes,yes,Theodore Ts'o,,,,"Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.",posix shell script text executable,c6aba2045763f997fc81c1d881304755b09d2e02 /e2fsprogs-1.39/config/mkinstalldirs,mkinstalldirs,,Public Domain,Public Domain,public-domain,,,,Noah Friedman,,,http://svn.apache.org/repos/asf/axis/axis1/c/trunk/mkinstalldirs,,posix shell script text executable,e8066bf9dc4353afffcfc5c2ec1cc9cc757585de /e2fsprogs-1.39/contrib/dconf,dconf,,Attribution,Ulrich Windl License,,,,,Ulrich Windl,UlrichWindl.LICENSE,,http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/contrib/dconf,Copyright (c) 1994 Ulrich Windl,posix shell script text executable,98bd1184714d0463da59644c4b01559947b5c4e0 /e2fsprogs-1.39/e2fsck/argv_parse.c,argv_parse.c,,Attribution,MIT Old Style legal 2,mit-old-style-legal-2,yes,,,Theodore Ts'o,,,,Copyright 1999 by Theodore Ts'o,c language text,318ea46f5d3a08ae60d311b0cfe0b0c19e00a286 /e2fsprogs-1.39/e2fsck/argv_parse.h,argv_parse.h,,Attribution,MIT Old Style legal 2,mit-old-style-legal-2,yes,,,Theodore Ts'o,,,,Copyright 1999 by Theodore Ts'o,c language text,fbe63cb7e5c5c90ba03b47e1e105ac1e50c2ba2a /e2fsprogs-1.39/e2fsck/dict.c,dict.c,,Attribution,Kaz Kylheku License,,yes,,yes,Kaz Kylheku,KazKylheku.LICENSE,,,Copyright (C) 1997 Kaz Kylheku ,c language text,52e5af00e28008e9fb264a88f46566947e4b09f7 /e2fsprogs-1.39/e2fsck/dict.h,dict.h,,Attribution,Kaz Kylheku License,,yes,,yes,Kaz Kylheku,KazKylheku.LICENSE,,,Copyright (C) 1997 Kaz Kylheku ,c language text,0f99603368345b82318e0fb186421cbaa3d8c3a2 /e2fsprogs-1.39/e2fsck/journal.c,journal.c,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Stephen C. Tweedie,,,,"Copyright (C) 2000 Andreas Dilger Copyright (C) 2000 Theodore Ts'o Copyright (C) 1999 Red Hat Software",c language text,02ef021aec0bea6f3a7377ab72d43491c5866dc5 /e2fsprogs-1.39/e2fsck/mtrace.c,mtrace.c,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Mike Haertel,,,,"Copyright (C) 1991, 1992 Free Software Foundation, Inc. Written April 2, 1991 by John Gilmore of Cygnus Support. Based on mcheck.c by Mike Haertel.",c language text,badc318b64d9485aa965fae4b5c2f954c5001e90 /e2fsprogs-1.39/e2fsck/mtrace.h,mtrace.h,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Mike Haertel,,,,"Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written May 1989 by Mike Haertel.",c language text,3fd39f30399e003b1de7772173597bdef2993df3 /e2fsprogs-1.39/e2fsck/profile.c,profile.c,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 2005 by Theodore Ts'o. Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.",c language text,87fde75c46dc2248516dda298ef6357ec3a2df6a /e2fsprogs-1.39/e2fsck/profile.h,profile.h,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 2005 by Theodore Ts'o. Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.",c language text,c95dd8d01dc42096b40fa9ac0ee96ce56db61c38 /e2fsprogs-1.39/include/nonunix/getopt.h,getopt.h,,Copyleft Limited,LGPL 2.0,LGPL 2.0,yes,yes,yes,GNU C Library,,,http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/include/nonunix/getopt.h,"Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.",c language text,2fede7afd8211e66071476da4553a44029be67d5 /e2fsprogs-1.39/install-utils/convfstab,convfstab,,Public Domain,Public Domain,Public Domain,,,,M.Weller,,,http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/install-utils/convfstab,,posix shell script text executable,dde2f47f8abbe15627cd5bfe0e2283fbb820eda6 /e2fsprogs-1.39/intl/,intl,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.",directory, /e2fsprogs-1.39/lib/blkid/,blkid,,Copyleft Limited,LGPL 2.1,lgpl-2.1,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 2001 Andreas Dilger Copyright (C) 2003 Theodore Ts'o Copyright (C) 1999 by Andries Brouwer",directory, /e2fsprogs-1.39/lib/e2p/,e2p,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 1992, 1993, 1994 Remy Card Copyright (c) 1999 Theodore Ts",directory, /e2fsprogs-1.39/lib/et/,et,,Attribution,Kerberos License,kerberos,yes,,,Theodore Ts'o,,,,Copyright 2003 by MIT Student Information Processing Board,directory, /e2fsprogs-1.39/lib/et/com_right.c,com_right.c,,Attribution,BSD-Modified,bsd-new,yes,,,Kerberos4kth,,,,"Copyright (c) 2003 by Theodore Ts'o Copyright (c) 1997, 1998, 2001 Kungliga Tekniska Hšgskolan",c language text,3d14b06ab31477a1fec4354d8b9f9c82b35896bb /e2fsprogs-1.39/lib/et/texinfo.tex,texinfo.tex,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 1985, 1986, 1988 Richard M. Stallman",tex language text,1b73dbf5dbc340a945d2bc75f61cc212f5ae3c08 /e2fsprogs-1.39/lib/et/vfprintf.c,vfprintf.c,,Attribution,Berkeley Software License Agreement ,bsla,yes,,,Theodore Ts'o,,,,Copyright (c) 1988 Regents of the University of California,c language text,01a03815e2550f01bbfe0b40c277e0621c52cec1 /e2fsprogs-1.39/lib/fpopen.c,fpopen.c,,Attribution,Berkeley Software License Agreement ,bsla,yes,,,Theodore Ts'o,,,,"Copyright Theodore Ts'o, 1996-1999.",c language text,6bd791a73921839a749fce1086ff1ede0c434ec2 /e2fsprogs-1.39/lib/ss/,ss,,Attribution,Kerberos License,kerberos,yes,,,Theodore Ts'o,,,,Copyright 2003 by MIT Student Information Processing Board,directory, /e2fsprogs-1.39/lib/uuid/,uuid,,Attribution,BSD-Modified,bsd-new,yes,,,Theodore Ts'o,,,,"Copyright (C) 1996, 1997 Theodore Ts'o",directory, /e2fsprogs-1.39/misc/blkid.c,blkid.c,,Copyleft Limited,LGPL 2.1,lgpl-2.1,yes,yes,yes,Theodore Ts'o,,,,Copyright (C) 2001 Andreas Dilger,c language text,6448a75f8212c06bd76f59c6b96024fa94c82f12 \ No newline at end of file +pathname,component,cversion,Category,Confirmed_License,dje_license_key,attribute,redistribute,track_changes,owner,license_text_file,notice_file,download_url,copyright,file_type,sha1 /e2fsprogs-1.39/,e2fsprogs,1.39,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,e2fsprogs-1.39.NOTICE,http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/1.39/e2fsprogs-1.39.tar.gz/,Copyright (c) 1997-2004 Theodore Ts'o,directory, /e2fsprogs-1.39/alocal.m4,alocal.m4,,Public Domain,Public Domain,public-domain,,,,Free Software Foundation,,,,"Copyright (c) 1995-2003 Free Software Foundation, Inc.",, /e2fsprogs-1.39/config/config.guess,config.guess,,Copyleft,GPL 2.0 with Autoconf exception,gpl-2.0-autoconf,yes,yes,yes,Theodore Ts'o,,,,"Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.",posix shell script text executable,6bf255982f9104c1423347581c55b4a34336e933 /e2fsprogs-1.39/config/config.rpath,config.rpath,,Copyleft,GPL 2.0 with Autoconf exception,gpl-2.0-autoconf,yes,yes,yes,Theodore Ts'o,,,,"Copyright 1996-2002 Free Software Foundation, Inc.",posix shell script text executable,98461658e371e01ef48f2ea173823c96fecc6145 /e2fsprogs-1.39/config/config.sub,config.sub,,Copyleft,GPL 2.0 with Autoconf exception,gpl-2.0-autoconf,yes,yes,yes,Theodore Ts'o,,,,"Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.",posix shell script text executable,c6aba2045763f997fc81c1d881304755b09d2e02 /e2fsprogs-1.39/config/mkinstalldirs,mkinstalldirs,,Public Domain,Public Domain,public-domain,,,,Noah Friedman,,,http://svn.apache.org/repos/asf/axis/axis1/c/trunk/mkinstalldirs,,posix shell script text executable,e8066bf9dc4353afffcfc5c2ec1cc9cc757585de /e2fsprogs-1.39/contrib/dconf,dconf,,Attribution,Ulrich Windl License,,,,,Ulrich Windl,UlrichWindl.LICENSE,,http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/contrib/dconf,Copyright (c) 1994 Ulrich Windl,posix shell script text executable,98bd1184714d0463da59644c4b01559947b5c4e0 /e2fsprogs-1.39/e2fsck/argv_parse.c,argv_parse.c,,Attribution,MIT Old Style legal 2,mit-old-style-legal-2,yes,,,Theodore Ts'o,,,,Copyright 1999 by Theodore Ts'o,c language text,318ea46f5d3a08ae60d311b0cfe0b0c19e00a286 /e2fsprogs-1.39/e2fsck/argv_parse.h,argv_parse.h,,Attribution,MIT Old Style legal 2,mit-old-style-legal-2,yes,,,Theodore Ts'o,,,,Copyright 1999 by Theodore Ts'o,c language text,fbe63cb7e5c5c90ba03b47e1e105ac1e50c2ba2a /e2fsprogs-1.39/e2fsck/dict.c,dict.c,,Attribution,Kaz Kylheku License,,yes,,yes,Kaz Kylheku,KazKylheku.LICENSE,,,Copyright (C) 1997 Kaz Kylheku ,c language text,52e5af00e28008e9fb264a88f46566947e4b09f7 /e2fsprogs-1.39/e2fsck/dict.h,dict.h,,Attribution,Kaz Kylheku License,,yes,,yes,Kaz Kylheku,KazKylheku.LICENSE,,,Copyright (C) 1997 Kaz Kylheku ,c language text,0f99603368345b82318e0fb186421cbaa3d8c3a2 /e2fsprogs-1.39/e2fsck/journal.c,journal.c,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Stephen C. Tweedie,,,,"Copyright (C) 2000 Andreas Dilger Copyright (C) 2000 Theodore Ts'o Copyright (C) 1999 Red Hat Software",c language text,02ef021aec0bea6f3a7377ab72d43491c5866dc5 /e2fsprogs-1.39/e2fsck/mtrace.c,mtrace.c,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Mike Haertel,,,,"Copyright (C) 1991, 1992 Free Software Foundation, Inc. Written April 2, 1991 by John Gilmore of Cygnus Support. Based on mcheck.c by Mike Haertel.",c language text,badc318b64d9485aa965fae4b5c2f954c5001e90 /e2fsprogs-1.39/e2fsck/mtrace.h,mtrace.h,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Mike Haertel,,,,"Copyright 1990, 1991, 1992 Free Software Foundation, Inc. Written May 1989 by Mike Haertel.",c language text,3fd39f30399e003b1de7772173597bdef2993df3 /e2fsprogs-1.39/e2fsck/profile.c,profile.c,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 2005 by Theodore Ts'o. Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.",c language text,87fde75c46dc2248516dda298ef6357ec3a2df6a /e2fsprogs-1.39/e2fsck/profile.h,profile.h,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 2005 by Theodore Ts'o. Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.",c language text,c95dd8d01dc42096b40fa9ac0ee96ce56db61c38 /e2fsprogs-1.39/include/nonunix/getopt.h,getopt.h,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,GNU C Library,,,http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/include/nonunix/getopt.h,"Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.",c language text,2fede7afd8211e66071476da4553a44029be67d5 /e2fsprogs-1.39/install-utils/convfstab,convfstab,,Public Domain,Public Domain,Public Domain,,,,M.Weller,,,http://stuff.mit.edu/afs/sipb.mit.edu/user/tytso/e2fsprogs/install-utils/convfstab,,posix shell script text executable,dde2f47f8abbe15627cd5bfe0e2283fbb820eda6 /e2fsprogs-1.39/intl/,intl,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.",directory, /e2fsprogs-1.39/lib/blkid/,blkid,,Copyleft Limited,LGPL 2.1,lgpl-2.1,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 2001 Andreas Dilger Copyright (C) 2003 Theodore Ts'o Copyright (C) 1999 by Andries Brouwer",directory, /e2fsprogs-1.39/lib/e2p/,e2p,,Copyleft Limited,LGPL 2.0,lgpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 1992, 1993, 1994 Remy Card Copyright (c) 1999 Theodore Ts",directory, /e2fsprogs-1.39/lib/et/,et,,Attribution,Kerberos License,kerberos,yes,,,Theodore Ts'o,,,,Copyright 2003 by MIT Student Information Processing Board,directory, /e2fsprogs-1.39/lib/et/com_right.c,com_right.c,,Attribution,BSD-Modified,bsd-new,yes,,,Kerberos4kth,,,,"Copyright (c) 2003 by Theodore Ts'o Copyright (c) 1997, 1998, 2001 Kungliga Tekniska Hogskolan",c language text,3d14b06ab31477a1fec4354d8b9f9c82b35896bb /e2fsprogs-1.39/lib/et/texinfo.tex,texinfo.tex,,Copyleft,GPL 2.0,gpl-2.0,yes,yes,yes,Theodore Ts'o,,,,"Copyright (C) 1985, 1986, 1988 Richard M. Stallman",tex language text,1b73dbf5dbc340a945d2bc75f61cc212f5ae3c08 /e2fsprogs-1.39/lib/et/vfprintf.c,vfprintf.c,,Attribution,Berkeley Software License Agreement ,bsla,yes,,,Theodore Ts'o,,,,Copyright (c) 1988 Regents of the University of California,c language text,01a03815e2550f01bbfe0b40c277e0621c52cec1 /e2fsprogs-1.39/lib/fpopen.c,fpopen.c,,Attribution,Berkeley Software License Agreement ,bsla,yes,,,Theodore Ts'o,,,,"Copyright Theodore Ts'o, 1996-1999.",c language text,6bd791a73921839a749fce1086ff1ede0c434ec2 /e2fsprogs-1.39/lib/ss/,ss,,Attribution,Kerberos License,kerberos,yes,,,Theodore Ts'o,,,,Copyright 2003 by MIT Student Information Processing Board,directory, /e2fsprogs-1.39/lib/uuid/,uuid,,Attribution,BSD-Modified,bsd-new,yes,,,Theodore Ts'o,,,,"Copyright (C) 1996, 1997 Theodore Ts'o",directory, /e2fsprogs-1.39/misc/blkid.c,blkid.c,,Copyleft Limited,LGPL 2.1,lgpl-2.1,yes,yes,yes,Theodore Ts'o,,,,Copyright (C) 2001 Andreas Dilger,c language text,6448a75f8212c06bd76f59c6b96024fa94c82f12 \ No newline at end of file diff --git a/example/e2fsprogs-1.39/input/e2fsprogs-1.39-INV.xlsx b/example/e2fsprogs-1.39/input/e2fsprogs-1.39-INV.xlsx index 0905ffb5ab951daf59d8bdbd3d18671411c074e3..28558382e2c7dc1b90ddbfceea5a1313760a1847 100644 GIT binary patch delta 6659 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 delta 6630 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 + + + + License Reference for e2fsprogs Version 1.39 + + +

License Reference for e2fsprogs Version 1.39

+ + +
+
+ {% for group in about_objects | groupby('confirmed_license') %} +

+ {{ group.grouper }} + +

+ {% endfor %} +
+
+ + {% for group in about_objects | groupby('confirmed_license') %} +
+

{{ group.grouper }}

+

This product contains the following open source software packages licensed under the terms of the license: {{group.grouper}}

+ +
+ {%for about_object in group.list %} + + {% if loop.first %} + {% if about_object.license_url %} +

License Gallery URL: {{about_object.license_url }}

+ {% endif %} + {% endif %} + +
  • {{ about_object.name }}{% if about_object.version %} - Version {{ about_object.version }}{% endif %}
  • + {% if about_object.audit_ref_nbr %}
    Audit Ref Nbr: {{about_object.audit_ref_nbr }} 
    {% endif %} + {% if about_object.copyright %}
    {{about_object.copyright}}
    {% endif %} + {% if about_object.notice %}
    {{ about_object.notice }}
    + {% elif about_object.notice_file %}
    {{ about_object.notice_text }}
    + {% endif %} + {% if loop.last %} +
    +{{about_object.license_text}}
    +		
    + {% endif %} +
    + {% endfor %} +
    + {% endfor %} +
    + +
    +

    End

    + + diff --git a/example/e2fsprogs-1.39/output/sample_attribution_starship.html b/example/e2fsprogs-1.39/output/sample_attribution_starship.html index 84e0827e..4c7fef03 100644 --- a/example/e2fsprogs-1.39/output/sample_attribution_starship.html +++ b/example/e2fsprogs-1.39/output/sample_attribution_starship.html @@ -130,7 +130,6 @@

    e2fsprogs 15-Mar-2003 ---------------------------------------------------------------------- - diff --git a/example/e2fsprogs-1.39/output/sample_license_ref_starship.html b/example/e2fsprogs-1.39/output/sample_license_ref_starship.html new file mode 100644 index 00000000..bd7f9b08 --- /dev/null +++ b/example/e2fsprogs-1.39/output/sample_license_ref_starship.html @@ -0,0 +1,1800 @@ + + + + + License Reference for e2fsprogs Version 1.39 + + +

    License Reference for e2fsprogs Version 1.39

    + + +
    + +
    + + +
    +

    BSD-Modified

    +

    This product contains the following open source software packages licensed under the terms of the license: BSD-Modified

    + +
    + + + + + + +
  • com_right.c
  • + +
    Copyright (c) 2003 by Theodore Ts'o
    +Copyright (c) 1997, 1998, 2001 Kungliga Tekniska Hogskolan
    + + +
    + + + + +
  • uuid
  • + +
    Copyright (C) 1996, 1997 Theodore Ts'o
    + + +
    +Copyright (c) {{YEAR}}, {{OWNER}} 
    +All rights reserved. 
    +
    +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 
    +
    +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
    +
    +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
    +
    +Neither the name of {{the ORGANIZATION nor the names of its contributors}} may be used to endorse or promote products derived from this software without specific prior written permission. 
    +
    +THIS SOFTWARE IS PROVIDED BY {{THE COPYRIGHT HOLDERS AND CONTRIBUTORS}} "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL {{THE COPYRIGHT HOLDER OR CONTRIBUTORS}} BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +		
    + +
    + + + +
    +

    Berkeley Software License Agreement

    +

    This product contains the following open source software packages licensed under the terms of the license: Berkeley Software License Agreement

    + +
    + + + + + + +
  • vfprintf.c
  • + +
    Copyright (c) 1988 Regents of the University of California
    + + +
    + + + + +
  • fpopen.c
  • + +
    Copyright Theodore Ts'o, 1996-1999.
    + + +
    +* Copyright (c) 1983 Regents of the University of California. 
    +* All rights reserved. 
    +* 
    +* Redistribution and use in source and binary forms are permitted 
    +* provided that the above copyright notice and this paragraph are 
    +* duplicated in all such forms and that any documentation, 
    +* advertising materials, and other materials related to such 
    +* distribution and use acknowledge that the software was developed 
    +* by the University of California, Berkeley. The name of the 
    +* University may not be used to endorse or promote products derived 
    +* from this software without specific prior written permission. 
    +* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 
    +* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 
    +* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 
    +
    +		
    + +
    + + + +
    +

    GPL 2.0

    +

    This product contains the following open source software packages licensed under the terms of the license: GPL 2.0

    + +
    + + + + + + +
  • e2fsprogs - Version 1.39
  • + +
    Copyright (c) 1997-2004 Theodore Ts'o
    +
    This package, the EXT2 filesystem utilities, are made available under
    +the GNU Public License, with the exception of the lib/uuid directory
    +which is made available under a BSD-style license.  Please see
    +lib/uuid/COPYING for more details for the license for the files
    +comprising the libuuid library.
    +
    +However, I request that if the version string in the file version.h
    +contains the string "pre-", or "WIP" that this version of e2fsprogs be
    +distributed in source form only.  Please feel free to give a copy of
    +the e2fsck binary to help a friend recover his or her filesystem, as
    +the need arises.  However, "pre" or "WIP" indicates that this release
    +is under development, and available for ALPHA testing.  So for your
    +protection as much as mine, I'd prefer that it not appear in a some
    +distribution --- especially not a CD-ROM distribution!
    +
    +The most recent officially distributed version can be found at
    +http://e2fsprogs.sourceforge.net.  If you need to make a distribution,
    +that's the one you should use.  If there is some reason why you'd like
    +a more recent version that is still in ALPHA testing for your
    +distribution, please contact me (tytso@mit.edu), and we will very
    +likely be able to work out something that will work for all concerned.
    +The release schedules for this package are flexible, if you give me
    +enough lead time.
    +
    +					Theodore Ts'o
    +					15-Mar-2003
    +
    +----------------------------------------------------------------------
    +
    + + +
    + + + + +
  • journal.c
  • + +
    Copyright (C) 2000 Andreas Dilger
    +Copyright (C) 2000 Theodore Ts'o
    +Copyright (C) 1999 Red Hat Software
    + + +
    + + + + +
  • profile.c
  • + +
    Copyright (C) 2005 by Theodore Ts'o.
    +Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.
    + + + + + + + +
  • profile.h
  • + +
    Copyright (C) 2005 by Theodore Ts'o.
    +Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.
    + + + + + + + +
  • texinfo.tex
  • + +
    Copyright (C) 1985, 1986, 1988 Richard M. Stallman
    + + +
    +GNU GENERAL PUBLIC LICENSE
    +Version 2, June 1991
    +
    +Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    +
    +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
    +
    + Preamble
    +
    +The licenses for most software are designed to take away your freedom to share and change it.  By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.  This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it.  (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.)  You can apply it to your programs, too.
    +
    +When we speak of free software, we are referring to freedom, not price.  Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
    +
    +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
    +
    +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have.  You must make sure that they, too, receive or can get the source code.  And you must show them these terms so they know their rights.
    +
    +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
    +
    +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software.  If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
    +
    +Finally, any free program is threatened constantly by software patents.  We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary.  To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
    +
    +The precise terms and conditions for copying, distribution and modification follow.
    +
    +GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.  The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.  (Hereinafter, translation is included without limitation in the term "modification".)  Each licensee is addressed as "you".
    +
    +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.  The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
    +
    +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
    +
    +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
    +
    +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
    +
    +  a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    +
    +  b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
    +
    +  c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.  (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
    +
    +These requirements apply to the modified work as a whole.  If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.  But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
    +
    +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
    +
    +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
    +
    +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    +
    +  a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    +
    +  b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
    +
    +  c) Accompany it with the information you received as to the offer to distribute corresponding source code.  (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
    +
    +The source code for a work means the preferred form of the work for making modifications to it.  For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.  However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
    +
    +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
    +
    +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.  Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
    +
    +5. You are not required to accept this License, since you have not signed it.  However, nothing else grants you permission to modify or distribute the Program or its derivative works.  These actions are prohibited by law if you do not accept this License.  Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
    +
    +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions.  You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
    +
    +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.  If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.  For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
    +
    +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices.  Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
    +
    +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded.  In such case, this License incorporates the limitation as if written in the body of this License.
    +
    +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time.  Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation.  If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
    +
    +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission.  For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this.  Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
    +
    +NO WARRANTY
    +
    +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    +
    +END OF TERMS AND CONDITIONS
    +
    +How to Apply These Terms to Your New Programs
    +
    +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
    +
    +To do so, attach the following notices to the program.  It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
    +
    + 
    +Copyright (C)   
    +
    +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
    +
    +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    +
    +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
    +
    +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
    +
    +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License.  Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
    +
    +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary.  Here is a sample; alter the names:
    +
    +Yoyodyne, Inc., hereby disclaims all copyright interest in the program   `Gnomovision' (which makes passes at compilers) written by James Hacker.
    +
    +, 1 April 1989   Ty Coon, President of Vice
    +
    +This General Public License does not permit incorporating your program into proprietary programs.  If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library.  If this is what you want to do, use the GNU Library General Public License instead of this License.
    +
    +		
    + + + + + +
    +

    GPL 2.0 with Autoconf exception

    +

    This product contains the following open source software packages licensed under the terms of the license: GPL 2.0 with Autoconf exception

    + +
    + + + + + + +
  • config.guess
  • + +
    Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    + + +
    + + + + +
  • config.rpath
  • + +
    Copyright 1996-2002 Free Software Foundation, Inc.
    + + +
    + + + + +
  • config.sub
  • + +
    Copyright (c) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    + + +
    +This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
    +
    +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
    +
    +You should have received a copy of the GNU General Public License along with this library; see the file COPYING.  If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    +
    +As a special exception to the GNU General Public License, if you distribute this file as part of a program that contains a configuration script generated by Autoconf, you may include it under the same distribution terms that you use for the rest of that program.
    +		
    + + + + + +
    +

    Kaz Kylheku License

    +

    This product contains the following open source software packages licensed under the terms of the license: Kaz Kylheku License

    + +
    + + + + + + +
  • dict.c
  • + +
    Copyright (C) 1997 Kaz Kylheku 
    + + +
    + + + + +
  • dict.h
  • + +
    Copyright (C) 1997 Kaz Kylheku 
    + + +
    +Copyright (C) 1997 Kaz Kylheku 
    +
    +Free Software License:
    +
    +All rights are reserved by the author, with the following exceptions:
    +Permission is granted to freely reproduce and distribute this software,
    +possibly in exchange for a fee, provided that this copyright notice appears
    +intact. Permission is also granted to adapt this software to produce
    +derivative works, as long as the modified versions carry this copyright
    +notice and additional notices stating that the work has been modified.
    +This source code may be translated into executable form and incorporated
    +into proprietary software; there is no requirement for such software to
    +contain a copyright notice related to this source.
    +
    +
    +		
    + +
    + + + +
    +

    Kerberos License

    +

    This product contains the following open source software packages licensed under the terms of the license: Kerberos License

    + +
    + + + + + + +
  • et
  • + +
    Copyright 2003 by MIT Student Information Processing Board
    + + +
    + + + + +
  • ss
  • + +
    Copyright 2003 by MIT Student Information Processing Board
    + + +
    +Kerberos License 
    +
    +Copyright @copyright{} 1985-2002 by the Massachusetts Institute of Technology.
    +
    +Export of software employing encryption from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
    +
    +WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Furthermore if you modify this software you must label your software as modified software and not distribute it in such a fashion that it might be confused with the original MIT software. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided ``as is'' without express or implied warranty.
    +
    +The following copyright and permission notice applies to the OpenVision Kerberos Administration system located in kadmin/create, kadmin/dbutil, kadmin/passwd, kadmin/server, lib/kadm5, and portions of lib/rpc:
    +
    +Copyright, OpenVision Technologies, Inc., 1996, All Rights Reserved
    +
    +WARNING: Retrieving the OpenVision Kerberos Administration system source code, as described below, indicates your acceptance of the following terms. If you do not agree to the following terms, do not retrieve the
    +
    +OpenVision Kerberos administration system.
    +
    +You may freely use and distribute the Source Code and Object Code compiled from it, with or without modification, but this Source Code is provided to you "AS IS" EXCLUSIVE OF ANY WARRANTY, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY OTHER WARRANTY, WHETHER EXPRESS OR IMPLIED.	IN NO EVENT WILL OPENVISION HAVE ANY LIABILITY FOR ANY LOST PROFITS, LOSS OF DATA OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, INCLUDING, WITHOUT LIMITATION, THOSE RESULTING FROM THE USE OF THE SOURCE CODE, OR THE FAILURE OF THE SOURCE CODE TO PERFORM, OR FOR ANY OTHER REASON.
    +
    +OpenVision retains all copyrights in the donated Source Code. OpenVision also retains copyright to derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code.
    +
    +OpenVision Technologies, Inc. has donated this Kerberos Administration system to MIT for inclusion in the standard Kerberos 5 distribution. This donation underscores our commitment to continuing
    +
    +Kerberos technology development and our gratitude for the valuable work which has been performed by MIT and the Kerberos community.
    +
    +The implementation of the Yarrow pseudo-random number generator in src/lib/crypto/yarrow has the following copyright:
    +
    +Copyright 2000 by Zero-Knowledge Systems, Inc.
    +
    +Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Zero-Knowledge Systems, Inc. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Zero-Knowledge Systems, Inc. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
    +
    +ZERO-KNOWLEDGE SYSTEMS, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ZERO- KNOWLEDGE SYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +The implementation of the AES encryption algorithm in src/lib/crypto/aes has the following copyright: Copyright (c) 2001, Dr Brian Gladman , Worcester, UK. All rights reserved. LICENSE TERMS
    +
    +The free distribution and use of this software in both source and binary form is allowed (with or without changes) provided that:
    +
    +distributions of this source code include the above copyright notice, this list of conditions and the following disclaimer;
    +
    +distributions in binary form include the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other associated materials;
    +
    +the copyright holder's name is not used to endorse products built using this software without specific written permission.
    +
    +DISCLAIMER
    +
    +This software is provided 'as is' with no explcit or implied warranties in respect of any properties, including, but not limited to, correctness and fitness for purpose. University of California at Berkeley, which includes this copyright notice:
    +
    +Copyright @copyright{} 1983 Regents of the University of California.@* All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    +
    +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    +
    +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    +
    +All advertising materials mentioning features or use of this software must display the following acknowledgement:
    +
    +This product includes software developed by the University of California, Berkeley and its contributors.
    +
    +Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    +
    +		
    + +
    + + + +
    +

    LGPL 2.0

    +

    This product contains the following open source software packages licensed under the terms of the license: LGPL 2.0

    + +
    + + + + + + +
  • mtrace.c
  • + +
    Copyright (C) 1991, 1992 Free Software Foundation, Inc.
    +Written April 2, 1991 by John Gilmore of Cygnus Support.
    +Based on mcheck.c by Mike Haertel.
    + + +
    + + + + +
  • mtrace.h
  • + +
    Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
    +Written May 1989 by Mike Haertel.
    + + +
    + + + + +
  • getopt.h
  • + +
    Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
    + + + + + + + +
  • intl
  • + +
    Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
    + + + + + + + +
  • e2p
  • + +
    Copyright (C) 1992, 1993, 1994  Remy Card
    +Copyright (c) 1999 Theodore Ts
    + + +
    +		  GNU LIBRARY GENERAL PUBLIC LICENSE
    +		       Version 2, June 1991
    +
    + Copyright (C) 1991 Free Software Foundation, Inc.
    + 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +[This is the first released version of the library GPL.  It is
    + numbered 2 because it goes with version 2 of the ordinary GPL.]
    +
    +			    Preamble
    +
    +  The licenses for most software are designed to take away your
    +freedom to share and change it.  By contrast, the GNU General Public
    +Licenses are intended to guarantee your freedom to share and change
    +free software--to make sure the software is free for all its users.
    +
    +  This license, the Library General Public License, applies to some
    +specially designated Free Software Foundation software, and to any
    +other libraries whose authors decide to use it.  You can use it for
    +your libraries, too.
    +
    +  When we speak of free software, we are referring to freedom, not
    +price.  Our General Public Licenses are designed to make sure that you
    +have the freedom to distribute copies of free software (and charge for
    +this service if you wish), that you receive source code or can get it
    +if you want it, that you can change the software or use pieces of it
    +in new free programs; and that you know you can do these things.
    +
    +  To protect your rights, we need to make restrictions that forbid
    +anyone to deny you these rights or to ask you to surrender the rights.
    +These restrictions translate to certain responsibilities for you if
    +you distribute copies of the library, or if you modify it.
    +
    +  For example, if you distribute copies of the library, whether gratis
    +or for a fee, you must give the recipients all the rights that we gave
    +you.  You must make sure that they, too, receive or can get the source
    +code.  If you link a program with the library, you must provide
    +complete object files to the recipients so that they can relink them
    +with the library, after making changes to the library and recompiling
    +it.  And you must show them these terms so they know their rights.
    +
    +  Our method of protecting your rights has two steps: (1) copyright
    +the library, and (2) offer you this license which gives you legal
    +permission to copy, distribute and/or modify the library.
    +
    +  Also, for each distributor's protection, we want to make certain
    +that everyone understands that there is no warranty for this free
    +library.  If the library is modified by someone else and passed on, we
    +want its recipients to know that what they have is not the original
    +version, so that any problems introduced by others will not reflect on
    +the original authors' reputations.
    +
    +  Finally, any free program is threatened constantly by software
    +patents.  We wish to avoid the danger that companies distributing free
    +software will individually obtain patent licenses, thus in effect
    +transforming the program into proprietary software.  To prevent this,
    +we have made it clear that any patent must be licensed for everyone's
    +free use or not licensed at all.
    +
    +  Most GNU software, including some libraries, is covered by the ordinary
    +GNU General Public License, which was designed for utility programs.  This
    +license, the GNU Library General Public License, applies to certain
    +designated libraries.  This license is quite different from the ordinary
    +one; be sure to read it in full, and don't assume that anything in it is
    +the same as in the ordinary license.
    +
    +  The reason we have a separate public license for some libraries is that
    +they blur the distinction we usually make between modifying or adding to a
    +program and simply using it.  Linking a program with a library, without
    +changing the library, is in some sense simply using the library, and is
    +analogous to running a utility program or application program.  However, in
    +a textual and legal sense, the linked executable is a combined work, a
    +derivative of the original library, and the ordinary General Public License
    +treats it as such.
    +
    +  Because of this blurred distinction, using the ordinary General
    +Public License for libraries did not effectively promote software
    +sharing, because most developers did not use the libraries.  We
    +concluded that weaker conditions might promote sharing better.
    +
    +  However, unrestricted linking of non-free programs would deprive the
    +users of those programs of all benefit from the free status of the
    +libraries themselves.  This Library General Public License is intended to
    +permit developers of non-free programs to use free libraries, while
    +preserving your freedom as a user of such programs to change the free
    +libraries that are incorporated in them.  (We have not seen how to achieve
    +this as regards changes in header files, but we have achieved it as regards
    +changes in the actual functions of the Library.)  The hope is that this
    +will lead to faster development of free libraries.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.  Pay close attention to the difference between a
    +"work based on the library" and a "work that uses the library".  The
    +former contains code derived from the library, while the latter only
    +works together with the library.
    +
    +  Note that it is possible for a library to be covered by the ordinary
    +General Public License rather than by this special one.
    +
    +		  GNU LIBRARY GENERAL PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. This License Agreement applies to any software library which
    +contains a notice placed by the copyright holder or other authorized
    +party saying it may be distributed under the terms of this Library
    +General Public License (also called "this License").  Each licensee is
    +addressed as "you".
    +
    +  A "library" means a collection of software functions and/or data
    +prepared so as to be conveniently linked with application programs
    +(which use some of those functions and data) to form executables.
    +
    +  The "Library", below, refers to any such software library or work
    +which has been distributed under these terms.  A "work based on the
    +Library" means either the Library or any derivative work under
    +copyright law: that is to say, a work containing the Library or a
    +portion of it, either verbatim or with modifications and/or translated
    +straightforwardly into another language.  (Hereinafter, translation is
    +included without limitation in the term "modification".)
    +
    +  "Source code" for a work means the preferred form of the work for
    +making modifications to it.  For a library, complete source code means
    +all the source code for all modules it contains, plus any associated
    +interface definition files, plus the scripts used to control compilation
    +and installation of the library.
    +
    +  Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope.  The act of
    +running a program using the Library is not restricted, and output from
    +such a program is covered only if its contents constitute a work based
    +on the Library (independent of the use of the Library in a tool for
    +writing it).  Whether that is true depends on what the Library does
    +and what the program that uses the Library does.
    +  
    +  1. You may copy and distribute verbatim copies of the Library's
    +complete source code as you receive it, in any medium, provided that
    +you conspicuously and appropriately publish on each copy an
    +appropriate copyright notice and disclaimer of warranty; keep intact
    +all the notices that refer to this License and to the absence of any
    +warranty; and distribute a copy of this License along with the
    +Library.
    +
    +  You may charge a fee for the physical act of transferring a copy,
    +and you may at your option offer warranty protection in exchange for a
    +fee.
    +
    +  2. You may modify your copy or copies of the Library or any portion
    +of it, thus forming a work based on the Library, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +
    +    a) The modified work must itself be a software library.
    +
    +    b) You must cause the files modified to carry prominent notices
    +    stating that you changed the files and the date of any change.
    +
    +    c) You must cause the whole of the work to be licensed at no
    +    charge to all third parties under the terms of this License.
    +
    +    d) If a facility in the modified Library refers to a function or a
    +    table of data to be supplied by an application program that uses
    +    the facility, other than as an argument passed when the facility
    +    is invoked, then you must make a good faith effort to ensure that,
    +    in the event an application does not supply such function or
    +    table, the facility still operates, and performs whatever part of
    +    its purpose remains meaningful.
    +
    +    (For example, a function in a library to compute square roots has
    +    a purpose that is entirely well-defined independent of the
    +    application.  Therefore, Subsection 2d requires that any
    +    application-supplied function or table used by this function must
    +    be optional: if the application does not supply it, the square
    +    root function must still compute square roots.)
    +
    +These requirements apply to the modified work as a whole.  If
    +identifiable sections of that work are not derived from the Library,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works.  But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Library, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote
    +it.
    +
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Library.
    +
    +In addition, mere aggregation of another work not based on the Library
    +with the Library (or with a work based on the Library) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +
    +  3. You may opt to apply the terms of the ordinary GNU General Public
    +License instead of this License to a given copy of the Library.  To do
    +this, you must alter all the notices that refer to this License, so
    +that they refer to the ordinary GNU General Public License, version 2,
    +instead of to this License.  (If a newer version than version 2 of the
    +ordinary GNU General Public License has appeared, then you can specify
    +that version instead if you wish.)  Do not make any other change in
    +these notices.
    +
    +  Once this change is made in a given copy, it is irreversible for
    +that copy, so the ordinary GNU General Public License applies to all
    +subsequent copies and derivative works made from that copy.
    +
    +  This option is useful when you wish to copy part of the code of
    +the Library into a program that is not a library.
    +
    +  4. You may copy and distribute the Library (or a portion or
    +derivative of it, under Section 2) in object code or executable form
    +under the terms of Sections 1 and 2 above provided that you accompany
    +it with the complete corresponding machine-readable source code, which
    +must be distributed under the terms of Sections 1 and 2 above on a
    +medium customarily used for software interchange.
    +
    +  If distribution of object code is made by offering access to copy
    +from a designated place, then offering equivalent access to copy the
    +source code from the same place satisfies the requirement to
    +distribute the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +
    +  5. A program that contains no derivative of any portion of the
    +Library, but is designed to work with the Library by being compiled or
    +linked with it, is called a "work that uses the Library".  Such a
    +work, in isolation, is not a derivative work of the Library, and
    +therefore falls outside the scope of this License.
    +
    +  However, linking a "work that uses the Library" with the Library
    +creates an executable that is a derivative of the Library (because it
    +contains portions of the Library), rather than a "work that uses the
    +library".  The executable is therefore covered by this License.
    +Section 6 states terms for distribution of such executables.
    +
    +  When a "work that uses the Library" uses material from a header file
    +that is part of the Library, the object code for the work may be a
    +derivative work of the Library even though the source code is not.
    +Whether this is true is especially significant if the work can be
    +linked without the Library, or if the work is itself a library.  The
    +threshold for this to be true is not precisely defined by law.
    +
    +  If such an object file uses only numerical parameters, data
    +structure layouts and accessors, and small macros and small inline
    +functions (ten lines or less in length), then the use of the object
    +file is unrestricted, regardless of whether it is legally a derivative
    +work.  (Executables containing this object code plus portions of the
    +Library will still fall under Section 6.)
    +
    +  Otherwise, if the work is a derivative of the Library, you may
    +distribute the object code for the work under the terms of Section 6.
    +Any executables containing that work also fall under Section 6,
    +whether or not they are linked directly with the Library itself.
    +
    +  6. As an exception to the Sections above, you may also compile or
    +link a "work that uses the Library" with the Library to produce a
    +work containing portions of the Library, and distribute that work
    +under terms of your choice, provided that the terms permit
    +modification of the work for the customer's own use and reverse
    +engineering for debugging such modifications.
    +
    +  You must give prominent notice with each copy of the work that the
    +Library is used in it and that the Library and its use are covered by
    +this License.  You must supply a copy of this License.  If the work
    +during execution displays copyright notices, you must include the
    +copyright notice for the Library among them, as well as a reference
    +directing the user to the copy of this License.  Also, you must do one
    +of these things:
    +
    +    a) Accompany the work with the complete corresponding
    +    machine-readable source code for the Library including whatever
    +    changes were used in the work (which must be distributed under
    +    Sections 1 and 2 above); and, if the work is an executable linked
    +    with the Library, with the complete machine-readable "work that
    +    uses the Library", as object code and/or source code, so that the
    +    user can modify the Library and then relink to produce a modified
    +    executable containing the modified Library.  (It is understood
    +    that the user who changes the contents of definitions files in the
    +    Library will not necessarily be able to recompile the application
    +    to use the modified definitions.)
    +
    +    b) Accompany the work with a written offer, valid for at
    +    least three years, to give the same user the materials
    +    specified in Subsection 6a, above, for a charge no more
    +    than the cost of performing this distribution.
    +
    +    c) If distribution of the work is made by offering access to copy
    +    from a designated place, offer equivalent access to copy the above
    +    specified materials from the same place.
    +
    +    d) Verify that the user has already received a copy of these
    +    materials or that you have already sent this user a copy.
    +
    +  For an executable, the required form of the "work that uses the
    +Library" must include any data and utility programs needed for
    +reproducing the executable from it.  However, as a special exception,
    +the source code distributed need not include anything that is normally
    +distributed (in either source or binary form) with the major
    +components (compiler, kernel, and so on) of the operating system on
    +which the executable runs, unless that component itself accompanies
    +the executable.
    +
    +  It may happen that this requirement contradicts the license
    +restrictions of other proprietary libraries that do not normally
    +accompany the operating system.  Such a contradiction means you cannot
    +use both them and the Library together in an executable that you
    +distribute.
    +
    +  7. You may place library facilities that are a work based on the
    +Library side-by-side in a single library together with other library
    +facilities not covered by this License, and distribute such a combined
    +library, provided that the separate distribution of the work based on
    +the Library and of the other library facilities is otherwise
    +permitted, and provided that you do these two things:
    +
    +    a) Accompany the combined library with a copy of the same work
    +    based on the Library, uncombined with any other library
    +    facilities.  This must be distributed under the terms of the
    +    Sections above.
    +
    +    b) Give prominent notice with the combined library of the fact
    +    that part of it is a work based on the Library, and explaining
    +    where to find the accompanying uncombined form of the same work.
    +
    +  8. You may not copy, modify, sublicense, link with, or distribute
    +the Library except as expressly provided under this License.  Any
    +attempt otherwise to copy, modify, sublicense, link with, or
    +distribute the Library is void, and will automatically terminate your
    +rights under this License.  However, parties who have received copies,
    +or rights, from you under this License will not have their licenses
    +terminated so long as such parties remain in full compliance.
    +
    +  9. You are not required to accept this License, since you have not
    +signed it.  However, nothing else grants you permission to modify or
    +distribute the Library or its derivative works.  These actions are
    +prohibited by law if you do not accept this License.  Therefore, by
    +modifying or distributing the Library (or any work based on the
    +Library), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Library or works based on it.
    +
    +  10. Each time you redistribute the Library (or any work based on the
    +Library), the recipient automatically receives a license from the
    +original licensor to copy, distribute, link with or modify the Library
    +subject to these terms and conditions.  You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties to
    +this License.
    +
    +  11. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Library at all.  For example, if a patent
    +license would not permit royalty-free redistribution of the Library by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Library.
    +
    +If any portion of this section is held invalid or unenforceable under any
    +particular circumstance, the balance of the section is intended to apply,
    +and the section as a whole is intended to apply in other circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system which is
    +implemented by public license practices.  Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +
    +  12. If the distribution and/or use of the Library is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Library under this License may add
    +an explicit geographical distribution limitation excluding those countries,
    +so that distribution is permitted only in or among countries not thus
    +excluded.  In such case, this License incorporates the limitation as if
    +written in the body of this License.
    +
    +  13. The Free Software Foundation may publish revised and/or new
    +versions of the Library General Public License from time to time.
    +Such new versions will be similar in spirit to the present version,
    +but may differ in detail to address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Library
    +specifies a version number of this License which applies to it and
    +"any later version", you have the option of following the terms and
    +conditions either of that version or of any later version published by
    +the Free Software Foundation.  If the Library does not specify a
    +license version number, you may choose any version ever published by
    +the Free Software Foundation.
    +
    +  14. If you wish to incorporate parts of the Library into other free
    +programs whose distribution conditions are incompatible with these,
    +write to the author to ask for permission.  For software which is
    +copyrighted by the Free Software Foundation, write to the Free
    +Software Foundation; we sometimes make exceptions for this.  Our
    +decision will be guided by the two goals of preserving the free status
    +of all derivatives of our free software and of promoting the sharing
    +and reuse of software generally.
    +
    +			    NO WARRANTY
    +
    +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    +DAMAGES.
    +
    +		     END OF TERMS AND CONDITIONS
    +
    +           How to Apply These Terms to Your New Libraries
    +
    +  If you develop a new library, and you want it to be of the greatest
    +possible use to the public, we recommend making it free software that
    +everyone can redistribute and change.  You can do so by permitting
    +redistribution under these terms (or, alternatively, under the terms of the
    +ordinary General Public License).
    +
    +  To apply these terms, attach the following notices to the library.  It is
    +safest to attach them to the start of each source file to most effectively
    +convey the exclusion of warranty; and each file should have at least the
    +"copyright" line and a pointer to where the full notice is found.
    +
    +    
    +    Copyright (C)   
    +
    +    This library is free software; you can redistribute it and/or
    +    modify it under the terms of the GNU Library General Public
    +    License as published by the Free Software Foundation; either
    +    version 2 of the License, or (at your option) any later version.
    +
    +    This library is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +    Library General Public License for more details.
    +
    +    You should have received a copy of the GNU Library General Public
    +    License along with this library; if not, write to the Free
    +    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +You should also get your employer (if you work as a programmer) or your
    +school, if any, to sign a "copyright disclaimer" for the library, if
    +necessary.  Here is a sample; alter the names:
    +
    +  Yoyodyne, Inc., hereby disclaims all copyright interest in the
    +  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    +
    +  , 1 April 1990
    +  Ty Coon, President of Vice
    +
    +That's all there is to it!
    +
    +		
    + + + + + +
    +

    LGPL 2.1

    +

    This product contains the following open source software packages licensed under the terms of the license: LGPL 2.1

    + +
    + + + + + + +
  • blkid
  • + +
    Copyright (C) 2001 Andreas Dilger
    +Copyright (C) 2003 Theodore Ts'o
    +Copyright (C) 1999 by Andries Brouwer
    + + +
    + + + + +
  • blkid.c
  • + +
    Copyright (C) 2001 Andreas Dilger
    + + +
    +                  GNU LESSER GENERAL PUBLIC LICENSE
    +                       Version 2.1, February 1999
    +
    + Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    + 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +[This is the first released version of the Lesser GPL.  It also counts
    + as the successor of the GNU Library Public License, version 2, hence
    + the version number 2.1.]
    +
    +                            Preamble
    +
    +  The licenses for most software are designed to take away your
    +freedom to share and change it.  By contrast, the GNU General Public
    +Licenses are intended to guarantee your freedom to share and change
    +free software--to make sure the software is free for all its users.
    +
    +  This license, the Lesser General Public License, applies to some
    +specially designated software packages--typically libraries--of the
    +Free Software Foundation and other authors who decide to use it.  You
    +can use it too, but we suggest you first think carefully about whether
    +this license or the ordinary General Public License is the better
    +strategy to use in any particular case, based on the explanations below.
    +
    +  When we speak of free software, we are referring to freedom of use,
    +not price.  Our General Public Licenses are designed to make sure that
    +you have the freedom to distribute copies of free software (and charge
    +for this service if you wish); that you receive source code or can get
    +it if you want it; that you can change the software and use pieces of
    +it in new free programs; and that you are informed that you can do
    +these things.
    +
    +  To protect your rights, we need to make restrictions that forbid
    +distributors to deny you these rights or to ask you to surrender these
    +rights.  These restrictions translate to certain responsibilities for
    +you if you distribute copies of the library or if you modify it.
    +
    +  For example, if you distribute copies of the library, whether gratis
    +or for a fee, you must give the recipients all the rights that we gave
    +you.  You must make sure that they, too, receive or can get the source
    +code.  If you link other code with the library, you must provide
    +complete object files to the recipients, so that they can relink them
    +with the library after making changes to the library and recompiling
    +it.  And you must show them these terms so they know their rights.
    +
    +  We protect your rights with a two-step method: (1) we copyright the
    +library, and (2) we offer you this license, which gives you legal
    +permission to copy, distribute and/or modify the library.
    +
    +  To protect each distributor, we want to make it very clear that
    +there is no warranty for the free library.  Also, if the library is
    +modified by someone else and passed on, the recipients should know
    +that what they have is not the original version, so that the original
    +author's reputation will not be affected by problems that might be
    +introduced by others.
    +
    +  Finally, software patents pose a constant threat to the existence of
    +any free program.  We wish to make sure that a company cannot
    +effectively restrict the users of a free program by obtaining a
    +restrictive license from a patent holder.  Therefore, we insist that
    +any patent license obtained for a version of the library must be
    +consistent with the full freedom of use specified in this license.
    +
    +  Most GNU software, including some libraries, is covered by the
    +ordinary GNU General Public License.  This license, the GNU Lesser
    +General Public License, applies to certain designated libraries, and
    +is quite different from the ordinary General Public License.  We use
    +this license for certain libraries in order to permit linking those
    +libraries into non-free programs.
    +
    +  When a program is linked with a library, whether statically or using
    +a shared library, the combination of the two is legally speaking a
    +combined work, a derivative of the original library.  The ordinary
    +General Public License therefore permits such linking only if the
    +entire combination fits its criteria of freedom.  The Lesser General
    +Public License permits more lax criteria for linking other code with
    +the library.
    +
    +  We call this license the "Lesser" General Public License because it
    +does Less to protect the user's freedom than the ordinary General
    +Public License.  It also provides other free software developers Less
    +of an advantage over competing non-free programs.  These disadvantages
    +are the reason we use the ordinary General Public License for many
    +libraries.  However, the Lesser license provides advantages in certain
    +special circumstances.
    +
    +  For example, on rare occasions, there may be a special need to
    +encourage the widest possible use of a certain library, so that it becomes
    +a de-facto standard.  To achieve this, non-free programs must be
    +allowed to use the library.  A more frequent case is that a free
    +library does the same job as widely used non-free libraries.  In this
    +case, there is little to gain by limiting the free library to free
    +software only, so we use the Lesser General Public License.
    +
    +  In other cases, permission to use a particular library in non-free
    +programs enables a greater number of people to use a large body of
    +free software.  For example, permission to use the GNU C Library in
    +non-free programs enables many more people to use the whole GNU
    +operating system, as well as its variant, the GNU/Linux operating
    +system.
    +
    +  Although the Lesser General Public License is Less protective of the
    +users' freedom, it does ensure that the user of a program that is
    +linked with the Library has the freedom and the wherewithal to run
    +that program using a modified version of the Library.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.  Pay close attention to the difference between a
    +"work based on the library" and a "work that uses the library".  The
    +former contains code derived from the library, whereas the latter must
    +be combined with the library in order to run.
    +
    +                  GNU LESSER GENERAL PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. This License Agreement applies to any software library or other
    +program which contains a notice placed by the copyright holder or
    +other authorized party saying it may be distributed under the terms of
    +this Lesser General Public License (also called "this License").
    +Each licensee is addressed as "you".
    +
    +  A "library" means a collection of software functions and/or data
    +prepared so as to be conveniently linked with application programs
    +(which use some of those functions and data) to form executables.
    +
    +  The "Library", below, refers to any such software library or work
    +which has been distributed under these terms.  A "work based on the
    +Library" means either the Library or any derivative work under
    +copyright law: that is to say, a work containing the Library or a
    +portion of it, either verbatim or with modifications and/or translated
    +straightforwardly into another language.  (Hereinafter, translation is
    +included without limitation in the term "modification".)
    +
    +  "Source code" for a work means the preferred form of the work for
    +making modifications to it.  For a library, complete source code means
    +all the source code for all modules it contains, plus any associated
    +interface definition files, plus the scripts used to control compilation
    +and installation of the library.
    +
    +  Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope.  The act of
    +running a program using the Library is not restricted, and output from
    +such a program is covered only if its contents constitute a work based
    +on the Library (independent of the use of the Library in a tool for
    +writing it).  Whether that is true depends on what the Library does
    +and what the program that uses the Library does.
    +
    +  1. You may copy and distribute verbatim copies of the Library's
    +complete source code as you receive it, in any medium, provided that
    +you conspicuously and appropriately publish on each copy an
    +appropriate copyright notice and disclaimer of warranty; keep intact
    +all the notices that refer to this License and to the absence of any
    +warranty; and distribute a copy of this License along with the
    +Library.
    +
    +  You may charge a fee for the physical act of transferring a copy,
    +and you may at your option offer warranty protection in exchange for a
    +fee.
    +
    +  2. You may modify your copy or copies of the Library or any portion
    +of it, thus forming a work based on the Library, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +
    +    a) The modified work must itself be a software library.
    +
    +    b) You must cause the files modified to carry prominent notices
    +    stating that you changed the files and the date of any change.
    +
    +    c) You must cause the whole of the work to be licensed at no
    +    charge to all third parties under the terms of this License.
    +
    +    d) If a facility in the modified Library refers to a function or a
    +    table of data to be supplied by an application program that uses
    +    the facility, other than as an argument passed when the facility
    +    is invoked, then you must make a good faith effort to ensure that,
    +    in the event an application does not supply such function or
    +    table, the facility still operates, and performs whatever part of
    +    its purpose remains meaningful.
    +
    +    (For example, a function in a library to compute square roots has
    +    a purpose that is entirely well-defined independent of the
    +    application.  Therefore, Subsection 2d requires that any
    +    application-supplied function or table used by this function must
    +    be optional: if the application does not supply it, the square
    +    root function must still compute square roots.)
    +
    +These requirements apply to the modified work as a whole.  If
    +identifiable sections of that work are not derived from the Library,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works.  But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Library, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote
    +it.
    +
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Library.
    +
    +In addition, mere aggregation of another work not based on the Library
    +with the Library (or with a work based on the Library) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +
    +  3. You may opt to apply the terms of the ordinary GNU General Public
    +License instead of this License to a given copy of the Library.  To do
    +this, you must alter all the notices that refer to this License, so
    +that they refer to the ordinary GNU General Public License, version 2,
    +instead of to this License.  (If a newer version than version 2 of the
    +ordinary GNU General Public License has appeared, then you can specify
    +that version instead if you wish.)  Do not make any other change in
    +these notices.
    +
    +  Once this change is made in a given copy, it is irreversible for
    +that copy, so the ordinary GNU General Public License applies to all
    +subsequent copies and derivative works made from that copy.
    +
    +  This option is useful when you wish to copy part of the code of
    +the Library into a program that is not a library.
    +
    +  4. You may copy and distribute the Library (or a portion or
    +derivative of it, under Section 2) in object code or executable form
    +under the terms of Sections 1 and 2 above provided that you accompany
    +it with the complete corresponding machine-readable source code, which
    +must be distributed under the terms of Sections 1 and 2 above on a
    +medium customarily used for software interchange.
    +
    +  If distribution of object code is made by offering access to copy
    +from a designated place, then offering equivalent access to copy the
    +source code from the same place satisfies the requirement to
    +distribute the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +
    +  5. A program that contains no derivative of any portion of the
    +Library, but is designed to work with the Library by being compiled or
    +linked with it, is called a "work that uses the Library".  Such a
    +work, in isolation, is not a derivative work of the Library, and
    +therefore falls outside the scope of this License.
    +
    +  However, linking a "work that uses the Library" with the Library
    +creates an executable that is a derivative of the Library (because it
    +contains portions of the Library), rather than a "work that uses the
    +library".  The executable is therefore covered by this License.
    +Section 6 states terms for distribution of such executables.
    +
    +  When a "work that uses the Library" uses material from a header file
    +that is part of the Library, the object code for the work may be a
    +derivative work of the Library even though the source code is not.
    +Whether this is true is especially significant if the work can be
    +linked without the Library, or if the work is itself a library.  The
    +threshold for this to be true is not precisely defined by law.
    +
    +  If such an object file uses only numerical parameters, data
    +structure layouts and accessors, and small macros and small inline
    +functions (ten lines or less in length), then the use of the object
    +file is unrestricted, regardless of whether it is legally a derivative
    +work.  (Executables containing this object code plus portions of the
    +Library will still fall under Section 6.)
    +
    +  Otherwise, if the work is a derivative of the Library, you may
    +distribute the object code for the work under the terms of Section 6.
    +Any executables containing that work also fall under Section 6,
    +whether or not they are linked directly with the Library itself.
    +
    +  6. As an exception to the Sections above, you may also combine or
    +link a "work that uses the Library" with the Library to produce a
    +work containing portions of the Library, and distribute that work
    +under terms of your choice, provided that the terms permit
    +modification of the work for the customer's own use and reverse
    +engineering for debugging such modifications.
    +
    +  You must give prominent notice with each copy of the work that the
    +Library is used in it and that the Library and its use are covered by
    +this License.  You must supply a copy of this License.  If the work
    +during execution displays copyright notices, you must include the
    +copyright notice for the Library among them, as well as a reference
    +directing the user to the copy of this License.  Also, you must do one
    +of these things:
    +
    +    a) Accompany the work with the complete corresponding
    +    machine-readable source code for the Library including whatever
    +    changes were used in the work (which must be distributed under
    +    Sections 1 and 2 above); and, if the work is an executable linked
    +    with the Library, with the complete machine-readable "work that
    +    uses the Library", as object code and/or source code, so that the
    +    user can modify the Library and then relink to produce a modified
    +    executable containing the modified Library.  (It is understood
    +    that the user who changes the contents of definitions files in the
    +    Library will not necessarily be able to recompile the application
    +    to use the modified definitions.)
    +
    +    b) Use a suitable shared library mechanism for linking with the
    +    Library.  A suitable mechanism is one that (1) uses at run time a
    +    copy of the library already present on the user's computer system,
    +    rather than copying library functions into the executable, and (2)
    +    will operate properly with a modified version of the library, if
    +    the user installs one, as long as the modified version is
    +    interface-compatible with the version that the work was made with.
    +
    +    c) Accompany the work with a written offer, valid for at
    +    least three years, to give the same user the materials
    +    specified in Subsection 6a, above, for a charge no more
    +    than the cost of performing this distribution.
    +
    +    d) If distribution of the work is made by offering access to copy
    +    from a designated place, offer equivalent access to copy the above
    +    specified materials from the same place.
    +
    +    e) Verify that the user has already received a copy of these
    +    materials or that you have already sent this user a copy.
    +
    +  For an executable, the required form of the "work that uses the
    +Library" must include any data and utility programs needed for
    +reproducing the executable from it.  However, as a special exception,
    +the materials to be distributed need not include anything that is
    +normally distributed (in either source or binary form) with the major
    +components (compiler, kernel, and so on) of the operating system on
    +which the executable runs, unless that component itself accompanies
    +the executable.
    +
    +  It may happen that this requirement contradicts the license
    +restrictions of other proprietary libraries that do not normally
    +accompany the operating system.  Such a contradiction means you cannot
    +use both them and the Library together in an executable that you
    +distribute.
    +
    +  7. You may place library facilities that are a work based on the
    +Library side-by-side in a single library together with other library
    +facilities not covered by this License, and distribute such a combined
    +library, provided that the separate distribution of the work based on
    +the Library and of the other library facilities is otherwise
    +permitted, and provided that you do these two things:
    +
    +    a) Accompany the combined library with a copy of the same work
    +    based on the Library, uncombined with any other library
    +    facilities.  This must be distributed under the terms of the
    +    Sections above.
    +
    +    b) Give prominent notice with the combined library of the fact
    +    that part of it is a work based on the Library, and explaining
    +    where to find the accompanying uncombined form of the same work.
    +
    +  8. You may not copy, modify, sublicense, link with, or distribute
    +the Library except as expressly provided under this License.  Any
    +attempt otherwise to copy, modify, sublicense, link with, or
    +distribute the Library is void, and will automatically terminate your
    +rights under this License.  However, parties who have received copies,
    +or rights, from you under this License will not have their licenses
    +terminated so long as such parties remain in full compliance.
    +
    +  9. You are not required to accept this License, since you have not
    +signed it.  However, nothing else grants you permission to modify or
    +distribute the Library or its derivative works.  These actions are
    +prohibited by law if you do not accept this License.  Therefore, by
    +modifying or distributing the Library (or any work based on the
    +Library), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Library or works based on it.
    +
    +  10. Each time you redistribute the Library (or any work based on the
    +Library), the recipient automatically receives a license from the
    +original licensor to copy, distribute, link with or modify the Library
    +subject to these terms and conditions.  You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties with
    +this License.
    +
    +  11. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Library at all.  For example, if a patent
    +license would not permit royalty-free redistribution of the Library by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Library.
    +
    +If any portion of this section is held invalid or unenforceable under any
    +particular circumstance, the balance of the section is intended to apply,
    +and the section as a whole is intended to apply in other circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system which is
    +implemented by public license practices.  Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +
    +  12. If the distribution and/or use of the Library is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Library under this License may add
    +an explicit geographical distribution limitation excluding those countries,
    +so that distribution is permitted only in or among countries not thus
    +excluded.  In such case, this License incorporates the limitation as if
    +written in the body of this License.
    +
    +  13. The Free Software Foundation may publish revised and/or new
    +versions of the Lesser General Public License from time to time.
    +Such new versions will be similar in spirit to the present version,
    +but may differ in detail to address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Library
    +specifies a version number of this License which applies to it and
    +"any later version", you have the option of following the terms and
    +conditions either of that version or of any later version published by
    +the Free Software Foundation.  If the Library does not specify a
    +license version number, you may choose any version ever published by
    +the Free Software Foundation.
    +
    +  14. If you wish to incorporate parts of the Library into other free
    +programs whose distribution conditions are incompatible with these,
    +write to the author to ask for permission.  For software which is
    +copyrighted by the Free Software Foundation, write to the Free
    +Software Foundation; we sometimes make exceptions for this.  Our
    +decision will be guided by the two goals of preserving the free status
    +of all derivatives of our free software and of promoting the sharing
    +and reuse of software generally.
    +
    +                            NO WARRANTY
    +
    +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    +DAMAGES.
    +
    +                     END OF TERMS AND CONDITIONS
    +
    +           How to Apply These Terms to Your New Libraries
    +
    +  If you develop a new library, and you want it to be of the greatest
    +possible use to the public, we recommend making it free software that
    +everyone can redistribute and change.  You can do so by permitting
    +redistribution under these terms (or, alternatively, under the terms of the
    +ordinary General Public License).
    +
    +  To apply these terms, attach the following notices to the library.  It is
    +safest to attach them to the start of each source file to most effectively
    +convey the exclusion of warranty; and each file should have at least the
    +"copyright" line and a pointer to where the full notice is found.
    +
    +    
    +    Copyright (C)   
    +
    +    This library is free software; you can redistribute it and/or
    +    modify it under the terms of the GNU Lesser General Public
    +    License as published by the Free Software Foundation; either
    +    version 2.1 of the License, or (at your option) any later version.
    +
    +    This library is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +    Lesser General Public License for more details.
    +
    +    You should have received a copy of the GNU Lesser General Public
    +    License along with this library; if not, write to the Free Software
    +    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +You should also get your employer (if you work as a programmer) or your
    +school, if any, to sign a "copyright disclaimer" for the library, if
    +necessary.  Here is a sample; alter the names:
    +
    +  Yoyodyne, Inc., hereby disclaims all copyright interest in the
    +  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    +
    +  , 1 April 1990
    +  Ty Coon, President of Vice
    +
    +That's all there is to it!
    +		
    + +
    + + + +
    +

    MIT Old Style legal 2

    +

    This product contains the following open source software packages licensed under the terms of the license: MIT Old Style legal 2

    + +
    + + + + + + +
  • argv_parse.c
  • + +
    Copyright 1999 by Theodore Ts'o
    + + +
    + + + + +
  • argv_parse.h
  • + +
    Copyright 1999 by Theodore Ts'o
    + + +
    +Copyright (c) {{year}} {{copyright holders}}
    +
    +Permission to use, copy, modify, and distribute this software for any
    +purpose with or without fee is hereby granted, provided that the above
    +copyright notice and this permission notice appear in all copies.
    +
    +The software is provided "as is" and the author disclaims all warranties
    +with regard to this software including all implied warranties of
    +merchantability and fitness. In no event shall the author be liable for
    +any special, direct, indirect, or consequential damages or any damages
    +whatsoever resulting from loss of use, data or profits, whether in an
    +action of contract, negligence or other tortious action, arising out of
    +or in connection with the use or performance of this software.
    +		
    + +
    + + + +
    +

    Public Domain

    +

    This product contains the following open source software packages licensed under the terms of the license: Public Domain

    + +
    + + + + + + +
  • alocal.m4
  • + +
    Copyright (c) 1995-2003 Free Software Foundation, Inc.
    + + +
    + + + + +
  • mkinstalldirs
  • + + + + +
    + + + + +
  • convfstab
  • + + + + +
    +Public Domain
    +		
    + + + + + +
    +

    Ulrich Windl License

    +

    This product contains the following open source software packages licensed under the terms of the license: Ulrich Windl License

    + +
    + + + + + + +
  • dconf
  • + +
    Copyright (c) 1994 Ulrich Windl
    + + +
    +# Create Adobe-PostScript file that graphically displays the output of
    +# dumpe2fs(8). Use "dumpe2fs | dconf" to create a PostScript file on stdout.
    +# Developed and tested for Linux 1.0.
    +# Copyright (c) 1994
    +# Ulrich Windl
    +# ALte Regensburger Strasse 11a
    +# D-93149 Nittenau, Germany
    +# 
    +
    +		
    + +
    + +
    + +
    + +
    +

    End

    + + \ No newline at end of file From 03feb76c4900791cb76ec23b79a1479be15b1524 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 10 Aug 2015 12:54:04 -0700 Subject: [PATCH 35/83] Update UsingAboutCodetoDocumentYourSoftwareAssets.pdf --- ...gAboutCodetoDocumentYourSoftwareAssets.pdf | Bin 334822 -> 282132 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf b/docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf index 6586fc5e2f4432403d88a0766b56eb4bc8e7753c..f51fe71fa0e947820c4d0bf5cf90b9d12ec2575e 100644 GIT binary patch delta 270336 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

    EOnzO1^UwWjezN%&VFCg36t_GLUe1jmk)M|fAW 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 delta 323926 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�s5mFSgdl<0=3hiQiCIH@_AY^ZH$ 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

    -|5Y~N>xCI1 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

    }CMdJzf?)>Za2grLZ z!M7H`&&f0KCGROa8NC(U&_pFyTX4v12=S z7^%nov*ftD%x=FoPc=UbH^Tn@0yFY%yRw;B3(gV+GhHi?Iy_Ft%!=AYbTx3h(C=Pv zg`X41Hm>E(K=u0GtZ5|lpeoA?1E*KPE(qG5{3p!;iR=6|A(Fm( z@Q_;wHwTA0Ydc@6^3UY(^niI=i>dcA9cc+xYwQQuLj@ce8_E+M-@MFE z8p`Uq;u_VqNJY2)04d7qzc~|-C6sM5elW7%x9A(0n)GD6Pi0^5&B<}Ae4)$sEU316 z1>waF;*;Mg(eCuLlzUg3<$B$DX56kKTdGkk((Vf>7QxrFx1znG#aDq7s<&;nGUAGd zS$_VgRIlTi%(ym4_=CPs5cv}r#`n|dCYjfJ8l{y9W{=_8GHr8el#18**~Kl>wx$&f_6 z&WGI?oTpvX<1V8rS90vD$rLr6)Jbn90!%E+;Wc1l&nYoe&CnZa|teNR` zH_4Fj!#AAu4kDu0A_8o9%m)KW4=U@``GTezrMQHJL0W%{!ixdm+*)hxaEM0F%Jd4f zJ6xVD9H*$2;PXPjf+<3CJjUh70N;IMUfG!3Cqe}rbRuW6jUCf!N#|Gac_%{reWB?q(0YoQvDF$Mk4E@8fFgn9D^)-(MR;}_MYa61Z%#=#r@USo z)T3Od^;wa>6am+qt^`=Ld*`HFLR!;z_;~P-SOwmKnQma=_<4(?I@F49X(Rcw@X%m8 zXN)H^CUb|xg43hHZS6`SEB8~OQnD}w`MS>_nd@)kDzLaXRyE#zF@ zN1&GUA0Wp>AIj8wBhwn;Q0@8Cs5PNMh9>k-1bu`s1i&Fr#CoZ1D_>)tUk@`%bKXvF zZubqdM1=t!y?jJ#Xb?=dn?hqeI$VxOTIg)vNQj1-d7cKTa8aG2;X8Evo%7M@etGlf z_w!sIo1REW?o@@X5k%V>cAuyzly?i_fLk;uPx&npgH)wtEa}l!tb9lIwKA8B%3aHl zK-Ylb9(c0+kY}8}kR5o;m{Vw*F5@$_tA&dR^{;j?FmowgTWfi~+K-=$=4NvF%H`Qm z8LK}O+X*4hr&vC-qFriO&7Q{a#SYDxd&yeUyAF{m#-YG3t!Xoxds%sy**vr7q)zZk z|Hbr@++CctA(hZ1*L1~b=yZ@Fq2_YmKT&;86d=lP$EMHh z^&z~sx&=7C&V>Rs7S6j--ToMvf3|G0vsaIkX(F?GQB@`$k}1|lHTvXo(+SU^Wz8M zY1Q!5(cb|=rqAibPaR~;2ZZfp%-?M$^{F9?-^VOwCYi|!K>YEIli>(%oI*S=E@74i zSwnpNSKn`m%he_wl0@LhuG(C^Ox|!AdS(5CP$~ z%58s9X%fH9_p8qv%Ym?xjdluLV=^T6I#%%fGo0%iVJwfcYN%NJFIi}Z$uD@43}K$! z!TU}q2h6tVQfp2BzEV^76b|AYjOtTwA9=SACfua@V}ar_rz5>FCSzh+ld&P|O}X#| zqR%hKs#rD*ev}ouS^Hb1R@+z`U;vg6>T)N%_G&I}rVeT@cXdBVbh({GUxZ;XP}JH; z;u@g9*UyGZYt6P$)chpd30lP#yEJ~~Y9&*6auzooTct3(Iy&%#;U-^9=fg0)+zHiC z?Mdc7?7^2*LZ|Ax;xZpn^uZ!E{xE9Qa0MPEJ;Z3DhIdPc?Q zuvaHT(NQP%s>mqoHFz1TW9)vDgHXrNKbvkrWAPNM{!YyFlkbQmWy}`rqAoJINh~VC z3H)|jThqTO)iDU(Fgg6shP_tV?W?5L${j+dGJ8jN7{t$FbAb{KJiTF0WyEg-W}~xr za5iT_QnqWiX*hA;ejqEA?>7Jm(hGu>>4b5Y9oYq1$|r`BCQtG?_&K9W(MO6g0j-s-qa;K&&Q&U7@{>-amL%b&01iZ zVd^if2;s{~Wx-I#P}H(yZ|?S%?K2blUe1C$81k)t2L;)q9;6LP>H~lRd>3x9qi zc)OQ8hfX7Sc;1zj-KiwF3a8;Ys0v2$tw!N)t=pnynZb=Om!wT=vMGE~EVgLKJTFLS zH6e1`nPTu)XC>64H$hUyzo+qERc!6Ghq%_SqsfHp`RtUdg@hf&gzLWgbaw}-%UDOk zX9t~cd&RGN8y`iL044=@o(fehCwB@<~F_? z?uF+{!%QSnM~~);tSHldv_6ZO?mYh><5;-@}iM9rE8_Q1Kc_LwMamdB3gR>MEl(ATHf z90{bAeNPSWt1e*PAumU^;yt_1YE!{^Gri9$Q`Yw3RbWTmyE$XRt?!Cbz4Wy#%xmRo zc7Kka*hxI0%HJIZjYJN2b+jB0!k5`f&yaj|w@;P@bHAzXCf72fg6xu0ptP6_sDF8lk-TGw;R7fh$f~o2w=2iwu zb%!G<@9#T&oytB`GkA-SP0*Bvv=FG5$&VZxUIL-xoFP8C!)xFP$YHPxDZ9CdG$)+$4_Se~f8G#nP9)C5v)OV^fRW7Pxmi{<9y0t8!grz= zlPcai$m$6juGs*b(y*#qkG*gu%q(P4i!91i(+Y%f(t|ULym4?AzcF}g zfk^V_A+}%P)s(fJS9FRCEG%|s>=}K?WUlQ=Gj@Gy%`4+~ay;u!dm`i=5C%Bj>=%!o zLw5*IC5*TynAg)T<0TA^@1u*Xt#o}hYQKe9LXK&p<0n(Bt7(MepIknPNks8!1LOCb zTCFVXMN9{@JS%|YZWHm1h0YNgPoHE;z~-~zSifI+)PNvSn z-~ddub@%-*3zSrqgQnq08Ch&7Yrg%+{uK;Hio9vz{dIGSl&wC?{Zov!N$@al8tKG? z0FwddI20Qs#`wSK;pDzY=CR;?k?ZO7OV6L)12~S=zf4C**#wrIREEmSZaC)jam$9@ zWHUVn+@lb8U|5t28gVl_?tcEdrykL5*unnLU;kp`1;{PbZ`y)^TG z_@tD{T?p(H0Z|Bql#f(MjFgKMNX*19${+}K_7uTXNTL*0Q3#wA$5cp)#H#YSN7V`;RSl;*hC1cwy=r&1`NKY|o^=rz~~v4q|fcoKgEg4FQ33Q@qORVmSBYkV9>zzI_@e?v;79Hv74r;|gN z^7A)j5@35wZzH73YRxZly8(7tZ?PxG@DBPuq5HFDZrIz>+Dk3k)zH4MLA&gdQAen= z&3>ty2HaE_JPy#Rca@kOvs#W({=xkdzO0OXJ_Z}o$oxH2-9`PRmRfdOc&!;gW1Ofed!g_rJUZZI z4}LSLGxwQF{loD)UB9{zlG>i2`gy^%nGN8g_C!~&Li!}7{8u{t0j^soz}A@l%mb5u z-8Uvhymw>w*SU+h6!EyA;yTQoGh=dWxBL?-YmBebOY#>3Ka%t%AMcNr7k)32EfmNs4<~{~OiS6wT%EE&rx`LlYGFD1rQaofVR5*#%YFeWa|=+j-`YvVs7`^s z7n~o(zBhuQ50r-ooNpN42|g}e$ex{{qiL_sW+ zB8wbRgJRfIEz!Ie_5X>bE%A0<;78wEmH1SzqIh0h`v=y!F5nQW}X0`Zp8rS zfHU<6f@GFRAvv=2TWhjKy()fvspf3u7f@}Wp{Ql%d-4?JZPY!LAQ%mtjf|#8IZwBI zKr@sXXanR3eer5K381;ldduw%nk&6E2|8sJ309owB%TD8VwTJ{abYC+zA&(4{ zWbR8du`F1+Nvi_45-xI11A&wT)1<|2lBz|0njf+g{2e^CIu1ON&9CI?`aLlvNsz4a z{~(WSn@+dXP&>&&zflPegu-`zl?mZx*4i65|D4Zs&ZG*^!(y1DjUBD`M6|eI!4CBt zjB&jpk4yMDCSD83TTpC)pW9*)yKdQ9qB{f!i!P{@vOE!a@#`}m+5)gTS%`_dJf&^u zRVEazxL15nR6{Amf07Q{v#`5;uX}f4y@(&ePrgWW@Xs*|%2D0LH}>dHJ0fnClPOMs z*WG@pUt?N!j9bsYM%$Hx{dU?rRWWkA4u-;o?4a&q%zkE#U5)$Z#Xmoc+C@Dt@1u`* zUFj?^w)umC;Dg!-84_?~ptR8|QDVR1^?%NU%-GIrAMj`Hl)MOq`&MyHLV4NzS29)3 z){^#9VTuZZKrEh7g;-`s3%{d0Y~Z#3au2_cB3+Fs0RQ$}*`_oWvTC|y&V8ySEw1#s z;{wwMGHuzL?SK-La_R;fo%T8Kk2*{&T}>LIf9IUam__!(D-pOK-m(ecG5&Ln@WgaI zdwsSW>#o`yNrvuRsASS65a_86BSC4D^2$A59a>0PZF%RA&XZ_52`XbC$AbYKTZlID zemL*)v`pUAmkMd=ioMrI+~$?N=rpvyAm0%^{n6}jfAIPWS^4G0V;lP^Y5z~9*2`l@609`oH>PXh$piq%7|Bv6$-B0vUm4COY~E0@Qq4TYa_W(B z|L6!y!Kw>V47R&@5aj+REmXgCaPJvzU}*i%%=I4$OMS1L9EqdE7(Zcz*Qr?(%NQaF zN7DwbQ{V#JL;GK(SmdX>bC)LgkUwNd@k(l$(ii7Rp99)isDZ&nGJjOsF@}nJ9L{uf zJ0YrAeM|_t_n>TdA2ylYu^e_q9v$dyo2n0F65_dqUyLu3Qyv)a>QOXh$^E=U9KC-z~S?5Kl z>OHw)KD7+}XL}mtn)UZMPtLmQ{@~~8>3)o-IAh{3Smx6AWiQK1{K+(- zVw^1RlPLG+-oy+=zaP#NUBmWJ42lccjDl(I&WBRKDJmb5J?LB?1%NzI z3Dv(#DsJBJ+5|8MEPs6DyT2522{L&EZ{q4M)Mh}{Vv+=BY+4ebWNb3Nk~joLUy=!+ z00D~se)6rtdGzvJGOZ$P^zw1`$~+P@^q@TAz9vpceUh+jaq&X68k3BL@*9Jimry({=C%?H$Fjd*u>K9q5VuPD2#zu_ag%z_P`ljT-rz0H;?~8)9_RL>r}E z8PZJ|75NW@rYMEa*GwJc@=XG5$VE{G0f@z3H`j<}@QJUm0+EAPzJGsXQ%r?mj68z- zg^_N-t1C^kLM$-PgMIAdo50vP-<5k z8#P-RoxBBsH!J#(nhAz?+JyW++{7BvB36z%vd`PPsV3k5&I<<1&JbzLZE1zFZywKx z0J~*O6kt8ppQnT5Qm2gr3jqDOyhyWbkV1j(3y3kj_>X8p0iQa&>!E7AFoSuhgIk`N zU@L5}Z>f=9sj-+>vW#6a+F^-K2#WpI+Cj5UFcW<`muNU<@Dl?dPwa_)FvI9V?T|fQ z)Po&}imqVoaE(9s5QkM7Do$PX3T+8ADd}N!s;j0DnSjuiovzUZL;1 z%k3CXgRM5fUQrA~EDue^woosDO>9r3b${F~D$Z`D?<8F*p#05|@F%b4_e}Vm!KZG7MJY@y@k%Y^I>WhEmeC09?$-ox%d0l(_vLZ-nJ z>weIzELKV9L;RgD_*?>=QfZX{=8S;BAQMzMezd$#C zZjXQ`+9|glTs_)C!g1wNbg7v#8RNXL4G*MX0LuzF)ypXECy7Fq=JsT`l6)r9v2j3Z zxkT1fUU;*>e5U2U!zIDPe&oi#e8z@LA}0_R0oTn`OsXK{WwIw8yKfFoD0W8|mTLCw^u^ z6vmwwcb}3v1XwTqI}Y@^ovC%#l{s94yxD&E$zs2GilaH8XNc4&KDoJB`8NA2c)BnQPwN^DC(K5xO7;QIP5?oT+1} zuVZOFA!12i)=*0BWA?9pp0-LV45#n2)aqs`GD+Y|4v&n_VbJSi-%@z)q+=YG<5U4<<00<&-tP#K zbkUPndh6Wv%-`=MfW(9Z)VrN(KiO33S;~=lChkBFr|7}<7%Gp1mO&dw5NAGz+05aD*dxsr-&7b<0rRXcB=EgAx zrzDLnTA@yl?EvKUBdYwJVD>-o9I{CCwaArNvxzHsohy+iMQ5Lc0Y@&f_x!Z|x;**j zr~q^syv2^y#krh4)r;V6umsad>7FCWI}EgRhcRkD%Q{x)2J9crzax2~ZIg}?Xl~w3 zC?482%xQF>pmouAlt?>cWXRE4LQ9SrMkLzhTPTe z&c1TVdvGDNv7<@jZdLI1yxv2ugP?7PuR^EJeZ1FJcOla-pRtqVY>`_3r1}2d*5ZW= zesR?=dRH%8?H`tPgn&f+Xu3_hZaU=;MNviFi8B!Do%UyYmtkcBNi%ln5}HlS#;A#aVrWmoGNp}#r}J! zR!zSY?YVOLYY2iimCa9>%zeY>q|4|vYH$=mce^;{uU(6s`&T)>FW;BW@$ekmklO9; zMJRE(NDzyDoi3F6^{gu6@08%z@dFH_MrZJ#&e|nVYpCe>>=7&0wvDOnF>tSgPS0%6 z?$Lv^bSqxWxOb7{Hbb_@nhG!(y#a5^ z>sDffdl_f9K|)#TG-?Wm%~P;ZLMwC|z6kefRo+qTr3WlMUT+LZ)ff}h!1k=2U^**w zI-N%|rqYyvk+LCom~-C`Cz$aYqCL^TO;-MB@FS0F#3VMI!#Bl|+zv~zy`7{Zfe_M} zhu$%TyB|w>6{^n+uR~=z{1q0qbPUVjcf0}Y>z4oilPefXw8JP4sizv&G@`v(YutLi;mj5!|d{oz1${`!st`?Z|Zt z*Nk`cog=z0#lqB0OJ%qFzpAD3(~Xr*4@T#kGD%(2<=EMIorMRuMo)3 zPo_zs1)+PPoZrQ8H2m+;W*9_twX|T1l3_~lxH(7C4&@bHsjHGd=?<9k)wmVF4R+5S z6_%^cDHvhux*+0T<_Np#*S^(u{X=mjDva0Zl`=0F6mL~`RP8jFhlZXfa=_}(lkmBf z1bd>7pk)4bt?*z&Yaia#COsCTk2_p@=hH4;J(F?k))L|D)F8NFXqs}WQ)Q}^FX!y< z5V0Fn{Jke%?oY%-IdDQtZ#+koQe|l2rc;R!MSOC|cX&8Ni;N~w=--eJOGE>40mCN? z>EHDy7n~N^+M*=I;Y@Hy0F_%{KmG;iOq>^+qRvaSQFcxOl;fs#J26^ zpX8fU=juD>rg!hEUENiC_f4;7t=}USp@oQEbUo6-NwkLMW%E*Y#MUPnd|e-qw1RHm z0(wnAT*P1htiK#F(%`#QDLAoIUyDex@EYP0FdS3O&@++X{6Sb^PzFpZW0zGdBA)r5 zAuT3Xn$ZQA|5hnrr{SW1ri-JcqFvN6F>mKs%CxbsAD^Tsv(g~ZOmZPGvA%4mlvHazFaRp7t2>wv;`dW-b^vLd}B#DH9u7u@1zmvC@>8_w@!7 zM{A#h>ms&1GI%Rb(dKhVBK8A;q93ArJZ$Uv$zmQ0>Yg0MovD9{LP0fINOxjcrjgD* z=eJeb>-S~?H{HzdlW18*1^BAW@b|SiExRm#S;oxj`Ka6J1+;(*>!(IviW{%O41#rA zvb93$@jnxOy0NitZ>|>HlJng*Y`pW5!zIR*`&Rkqi{G|!BU`H2mFPT%D6`W~F0v9B zlg!LZWhE@-BzUn~2T{@dg&fhcFdvL<_NgPPP7u1$vw3{{YCob9X$L$6yp|2$Xsenv zb63@s@%TMnWM2Wh8`Rg(k&Z2-rzMSQLsdy${-zH706lM*!nreFdgNNL1WaAJ?=e`g z_ppjXwGIw_myNx~{IM3N*tWalqwi#fammG0=7iFAR{)rVE2=k`kBoYsHa_3u0Mgl&Bq%MX{Wc_$}!VKiSB8ztheN zJ29g$PfFFk_KTK7g8k(-Ez(cGJ=J#Ln1fJ&q4+(~qpJs+?`GNpj;6xYk)hU4RwFBF zx4q48>-GSn^)y51p7!IMky|2!eB!*_d&j&b^YQ3|=InA&%asVbJK>;~jp6DXVC zIiXLF5ISH*lS_VPRFfc%SLMpM3}hsMJUN~Vh1Te%rBagnNfmv{D9NN zAVg^p6hyLytdsxEcv=9q-ehAcdP-bp89}k4uz!o*@NZY~+@gBYBm!TxnV}kF)};G}a@0wcz!BW9Ul8vq9J6Splq3ak8aAf~N`BJs@;* zf`5)u@#2v6F%dFH4^alQ7;mUrY0( zOmA_X0bkECu3Noa5Pitk2t@yF#d_}ka!dhk9iQ{CKsVclkTVJ*Gh@}6(rmZF*$Oir z-RtkC=cId$kg(lSwA2R=4L_*Be#T};lYS!NXA0|e5SyC=)VO4=?L8{ph0YqCn=Q@C z{ZzR4@+)S2esFXQaSUNBOeN1$$!oZ|>QWiZ>O*$A-T(T^&D+;C+v%p*=g7~cXO#fV z(wZhIYU2HRO0KFLf19+vtHZyxXk6BM=gI{N#Y81FA523`CGc@^t3h#+tv*AY$xG*o~8Mb;>F@ zx_TXNG#N^Xf?~=X#mLx)IjkA_JkOHIaR8C4eGh@Nk8chF**UED}p$x*CzV3^E#QPFw|a?bxW8GtPR2Wc4IzvVmmLENq7w zMwFcbbV3-2*kHe+2kbl7fiQsXf|7&<+MI>ZwV{5qEJId z#3A&%pbepkIWd4+BMAuaX7VCB6!yZ5JzwMaXY>7d0?~R|0$AIRw6CYnpQwLV>H7k8 z_OFFlP6TTRp!ptxWVX|@P9tV08pp6kn?_#lzpvN{M_-I4xUvsb71Lbiw6`+96BRt_Ae`Zaz6(f6+B?bByB3(*l7g3nZaOZXV z)YF*YKG~q(r;J6fY)`L|6PdBAyv{$WKogCl$L~T+- zCPFg9>%e7yPY&L?vB26)jGjnv<=^PENuyL8N8Ta*D%sl8{KuTfg2$w#XG$O)N6+iZ zEtPAWh+9kTSU_7Vmohn%U6)h0S^G&jWh_xDNhGCXY|1IYx+(H|ls@4E1rh5VfeM|O zsG#@OfdO}KNL?nQw6X#|m6&`n1!l4xox?3iwg3aGQUm^4!n)KVSb7 z;|-hS-~Gl0pw5X5+fU00OJx;j=yTjQ+d=AaliT;WahQyWuj>cY?4wVVww^_PTt`m! zm1a|R`0FETMjBVp8L3RihDze&2{4K5Lau&P{WWYXY%H1nsQknPWJ1(E_X{YmIZqzD zp=*al0DA|zjGtz*QsQB+3F58{-y1p2`cx#xaaPu3;uwLY#S#Bx8#e|4c_xWUL1R?1 z^q(Z-{%t6Ps$)`il#~-U*c4Jay&d_ptTxy~zUq!g;pAXPPj{FewWmBqE$^9}WohCZ zPf!s)uMl!K4 zhxG)e<~5TeZG9-eFS-KV*`1Y>V&8_IwgU4WQ!b_9&`(<=;E(C#<&SWiK*7+tGMz*| zAd*tvK|@)d_9~jvzjiRV*JS@4LtE~NY!mfd%H53bj*v2zPBO_f$0@feb|7{?wgHKc zn@m8QN>yx|jJA-5b&E{<#E6^ofU>QRS0Ubt@EVp95$Dym*SYb$7i^@WU^4V?VreCr zBW3=xSqiZZTlllQoM*T~xEr^dM8`%UU~qQ)DApkryc#YYH{*XtLRrXd^|0KM8ry0- z^PD#+lg@58Sc#GMulm29F|_KfDEM%}_jEjOK;%mIvQ{eDATcOE)Fa;MH-bCe<+Epy zFb~Tq(_8cO`e0DjrS)KTuMw_yLUW+dm@aJ`rz6MPnV|r|keUEJbf`^poatp8W08Z5p3U*Bvg8j3Cs$Ttbqv}6X!l!SZ=Si86Bpbz~=IMUPn|` z~R!$ZolgDHkc#b8*=u|{O+ldS>#O?H?$pD$N9awyno=?Km-n_`PRKz|?{@(95q5o19*iho}16?84`k2h3IrdWRNhOyQxp}19ToT^dDVVl)tp9!wx7c!+UHqX93RXKkiJy+zb(BxJ< zg>hhk1ap^1p-tNvhpG*zc=QXXD!_EG93GrO<>aVFbA6zWJXd-Ak{$2e>LZDjAEB1? zELX{N+(z#cfH3X%&=X;eA9y%qw=7ZGzi{6}ca!|m(RsDx#oMb!r=toh zEjsX^i~&xajUzWVw_k!%9egizZKp~HZkA%cw78EJ7B{{C1K0Z>E2S+z{#W5+2;{Tt z>+CL#zL&)YaQba}qGX{z*75u_jJ7T^j&^4;T_Zp44kC<`vdCEOqSR8SWYWc`mBT%~ zY?wSn>>h4_!oMLGA)t`Nka9@M0DB+RRK;@C_>406>KHi|4e3P#-I<1eQ=qpl z;cm`DgA;~7)JFAtWW6DUyoid;MAX86X_<9u7a&Bp?mQ~7CYYOHXghp&drVL4e--uj zl96Z=Pp+V*RBdS9dKpdBy&}Fj2J73YOn9Ge*-{n+uE&O1N<9XVuWFz`u%3t`C4F(R zAig4>r;GaWLT%X~!W#D1dRhHGfy-~{YTUss{On zkeDx^kRi$UMy!-X#}zM@pK6UZrrV=0{d_OD?~br0$Lx91F_ZbmujLMOQtc?K(6!hU zvd+PC5tmG!+{I^{%oIs)QZCP`PtIe%)W5G_S8_3fi^;MGwp@->v088!a$@!JQ(0C8 z)zYmLX6rZKTQ`Z-F2*bKz31 z;9jDnVY7@^z{k#xVL`u+Vq*oTgIlLKafHRDaeo3`}3)mvkgZ5yh-Yb1C;n8ALQr~|7| z=DZ1)NRoSwd$f8YUJn0xf)=b%T~y+gf;-!>Spa2xsfG&kR%v;;JFAdv?akDW6NkuH zOqOOcRkZ}M@=AR_J`zUWfe{w+TUfEk*`otm5(+*sIH@e$@LS6sQQcZ#|NJ^=yKrN( zR&b>@@bQf(93~E?ql5GX3F#cp!G1F^P$QuQ`gokpN(i-}vq{8pme%M-ua{%BanV7t z4F%p5_tOPVcD15mRK}Zrjbc$I!&b2#y)X;rY_6a(Ma6mg*y^f_Nk+E~(#hKLc<~$; zQs^VV+?|%}xj=59D;Xh$4Acwr4($U9={g%5tJ+<*_OZ!)R<`=f8a#mg)_AfLr@$|obBJTV zcMh&I-hb4SMTa{u-lMjJL$;7koP%eBfbmX|F|?kLxy!mIHNG!vIc>{rlWhmbCgPU7 zro0AQ4|CQY7z>aHHzgx|HET6XHIIYqMsusb^AR_8D^*Kooi@c~_~gjs;PL z5epIcqe_*4RywudplM${pzS+rjngz{>ka0A+c3osT~353mr)6b&)0eSuIKuc%P>8D z&vo{m$Jm?h`wSQEmyyTV+dD$+9cNKv8IO(*ojp5;8|A>~ewt%d+cPZF@fq`7`8FM< znWK4k9Z~>OUMbhv{}EyY^%o+0%B5K`Is15w3QXTD;z>E^_@V*@M0TmA7u6ueRVaqS zX9@ePoM)VClMR1DpV+f^<@~1vhb6A9X_4C6blfJc(fFUXqJghH^%HzRypZMe!JZ`1 z7VUSx%V40bZ`lwYsgjBCNjuN78Mca|C!Vxa*^cP^yhf6A4W95IjnT@WZdL%XQA#!e z!HsiPJ=`Z!^K5SfJd_xQU%@gg>6lkrO@^E;FNa`br42aJugl@KtVMP-es4b_qQxCj z_&$p>NztOsl=H|)TT=EDFda+NdxnbT3s^R)x=AfTBSw}V#@Y#s=p)l zzbS&!+o4zRlFhAl(AlH%OrHv(Tx_2qx~&3s6UCKNPFaKWqOsJ?O^`u9IpbSbjX`v) z;(nMd$YC}&_THkNDCkF!zNQpV?KJFdG~_j=Ew_YXZa|5}0#fBo!ZlsYq!`R!vq7cI zB*5ObzN*2VYu=tstxTS7|Je{>kv7Ua>XBEeI*CI*amvE(TbXd!x%}NDujy}Su8dp* zX*gG@H1~#=&BYh6C9Y&sJ1aSYFAs@3N81pc_;CnM@QTH$raz10RtaTA)pQa&=+26E z+Ilqix(_!sb$j3fSN(_H>F~P?M9yH5sDN^Mpfc`VktUSTe*xTFt&mNof2M`sSAmWd zef^1u?_9O#9ZR+NZFXa#aU|1Xy^Pz%41^gbQJj=n6s}@55n!l^$#C+$I60MdbFmxY zwN#1Iygn^jm9xc#bh@Qxl18SG5-U@xDhCo7V^m2~^J^b_2HpCJm(hZ8p^p4+H9(R{ zpPg)X$sk!Er3ho99jXnDZs9%-mrFpTVCIHtxKr}O;xG_{#Pc(EALmj%r7I(OtTY7D zFc%MWODmU+w-JN(B#u~;6YVJAY`H3IZKvt@1pAzKunH9CWE$NE$nYt?Z*anliNy~S zP<>`ak6^uFemoc$NRM&}3OQQU13TI=+q<{5jWJCP#OW&ivx91Pu!BJ+WhyqQ&C-`3 z7^r{|8OE97@i(<3c6H8-!`x1FGd6zkMyM@H(Bh91O%{ZY`}SXQ2V7Ck7BV-&(rFKYFD=IC#b5$o*479iUl8bDUwftq*$KXxjyq`Lo3zl3K+^Sp&&q#* zlE8|cpFX!egOqr-!7zx~*#sLjPM<>KQ%=3T<|puq|LK+ZUI#^h^0A)C`)@Kbj0cQxWNcl=g_;6_C# zheNkB2*hlw1<}UUm#@L)Xhgj*us2L_&l~SwpGbmnb3#$~sy%(Zk$FBPz53ZiAE*%2 zJ`WawlB!+s>j-*bq|n9 zcKzvjEc{%GesSb@5i<6kDsMj#l4!00*izM0HdJn@H|dMVb;rENJJM9Iyuna-{$<#0))!ibo$2*a8P)ES zImBis<>R9$yZg}BiD>bIP_38Wio~^&%nk}y>K|q7dh9`iR!8&4tK)+%7$OeX#OPo^ z*NlkIdsUOm(0Y{NHEC5+ZjwQYLH_k7Ggzu9Vr60XqL^_CaFQZJ{-(-j;Ced{-U#_BD!B>9LUHopZ47@CO!GfVF1uAOFA=f#VU@ zI$z{RE%EIJ;Ex0DV`cvJ4gbUmEp~&K*g2Fm0vbnl)*+;NJU43=4NM3Px z{aEvVUJJuyy~{|=yM3g<;Ro%oYYZ4^tbQ&&Fra=^48FM+Dz+7@rkx#-1gm0(QHAno z%d)8h|M|mC6f0W=O8PNj(cjlevlAaLqScMl1^R{@RK&F38P0{P&7sZLl?Wv2*<4fw zUG(U^guezoxzx2#hCE)cvZPrA*G8A;euUdSE;mN33y*3X!B^k$ockWZKW8!xFT;0~ zp

    VUkhWON@G6Sh13m(!lQvox)?Fo!rU)_psCM9tf}`5f>vyV)7!+{Hy6|CGol!T z+pg&y!>-y?nWCyr$-PJHDZV+aE(NW3xPoA5=2J_8k0$LlMz!dS0R46jiEWC^HW{%@ zJRB(N2lgn-|E9dl7?Du34Q2dAG*IrY^zPIja-W1EvKPPP53!Hx~PU16__l zu2zS^OBSXGXAh>l5cMlV7_cyzr&?op%_H0S;p5vq`$E}zu#j-DadR`1Fv*!aSh`t}uyXUT zasRJW!-c=6k=oGHS4NxXJC$#XneX<+?~C7>M$()iN>D+6zXg6H6ZeXTc>>2$0*CX! zz+lk&K^bE5-+zBr#FdrRyn+P97?jn1u#a6`Pj1T7oV|BlUq8QJk0?w(@OfSVJeJdb z(-->Rz`se?e&ha=dp|?#s?baz1^!<$IE~@U$e_0BUwrs22&**&BRvk=Jq}k4)kRHk z6g!yb$<-w4#H5B{u;gh-=E_V?+bs^_zA!vH;+SPaUi-D=$ntY*oC)ZQyr`jxr%4aE zbfFM6e)prMw7l09XY5`Qp5A14AZ;dtx8iU%qmBCk_M3FinC6sgjXvM4<qUZe!zY>sd@4GUF#c-z? zznII7Io&Kko>nML*D_^4(m)i|PC%_f+A$ilV;K!=uVoF_ylPhi@069@6st1R3X5^gBD|8@X zXWlh5vwisWDO&1b!EA;006xz5^Zc78c-c=2KbfeRmP{)rU<+<`B%mb3Y{0{=$c#4w zi7DTKnaJIxI!V@9VRJ=XGylo}%zX4XZMx|3&kV<(xo5XqS1>dZA=17DZlRj$&VF<1C+?7qEz)k1yKt-ArM*h zUs|t`xFK~NAb7*b_Q4?e()&x z1IFLV`rCS9?ukNKD}(5zd5^9n+ExA@yy7%R`g9Wcy=3dO;)!rmWq~zdK^VDJB37yL zhE>#s<62_m4f$n@OJz$Unth849CN_1X+b^iAn^7S0L~V1C44cH;@b9Mn^qiH zdv6T`0LtVSIM9oI!`%rz)7Mc8UDAo7>)Gc>v%SCa6`(BSX}Zpt@Dy3#dO&MsJrmoZ zM35A-!a>xAM_G?+n_HA(Mq5T+c7S*X-Keamc7WoIa*E;&eroR$?f4p}|*`UpPIxMP_H;ofmRdFB%Y z>04WVe)Yi|cgt+-qM+^2Y4-Dt7QiUqdnOSc{Nh%e(=rmg^*fMv(OquvSfb2*R6H#L z%xK6HV15-lZ@HCV2mFQoq);&tf6YzuxWj6CMrYYXC^6|EI2&q=WRHAQ{%fQ0iFrIO z_`<)}P#Ih?c&DaU)Y5BO3-=usttr1znaPMuFNlCAqCFu5?*`JP5Nm@(n5Q#l*ED&! zYGwSY9!?|SdX&}$ZuuG044y~&Qy$z6V0EcNU6zM}97U~s<$6u%{6*d!sON=o?f%Vq zz_&JSlH}eg%-0xZn&nq}Ck}@ayij5Db?*%{|F0)g)Uu&k^Z}$hW*)!Pb$vaf%>I`P zlt(ZrLxiGT&6n(KVQ*42jAxq0Ebj1dr^PGM>-bG87(>yiO^KjZ)=4w|)2Yq>0LQ51 z8Y-rQrUP~77?`1W#xO0-m0$wy7C+91{w*o}_hUfz_=*q^H!M;&@rCwH{DReQbuC!+Ai)z14QWQXYyi7F;ULowG)6O+`Gd#72VsAX*&6-W&!dR$$%?Yf zPwq>QKqu-xi`7 zNp*>HzP_~y_)jP{uXlSwXjG_QsLye)gjWQTK_2fjPIExewuk;y4gPJ8R+>7)O@jgxqeas(Lgv5_eJ>i{y7600pI;W zF-xz6olelo?=<8*=6ne_e>mUY5>cPP4n=Not{pkhJHWT3G^sZ}I^eHqEO1s_4mVTU zKer66VP1}1wm*TMwk}22Y}crpW~}lS0?gm*pE}mBZGrNSjDKeSnI^7gVB^#Jy@%I@ zZ=CPy=sy$-}iJ@ya`b}3cuTb zJp@6320;5Dct5r;T0n1}W|eW3nkQkWRT3{@iFD)`L^-0!jm^E>y6Dige&7*JFyrZY zzW0JYdh34d?3Zp?Y3YqU(lqKEy_~V*mGjJ+uz%IF>*bC;lJ>s*vh3~*vOjn!9lgEM zC&)ufcg~I=02Fz0fuQUiMXR;{T=*NRFnEZpE9}k}IP2{t*4^z9?LC{CS|-F}kDJn3 zkR6CO1&MeBEBqba^~pvw|2^*e!OQXJZSCkSlymIJXAJ!ARyvq>XYfQ6VPR{jI7ch^ zm4q5|@ZXl2zB{)$Czzs)xnEYi7BvIvoX8fvhY>OTz~z^X(BJNwkDMp+OXB998K35V zQ}BJ?b>aah$9K@v`kJG4-j=~^Ea%;J(>FuHC`VdJETXori8@IKzPtCd8G^RA(P*s( zg0kJw7()YZui;(WxJD44*Fp8b3_-w7G)%V_D4Oz{A^%V{pWR#GXEdzV_y^gYcpr9I z_!|LG&Wj=V_fqM$AV{<=oE6C%c@+s4DIr*h2=uvg8*E4niqdz#c?|AAy5f)UR#{WZJ`j z!NhL9lih#tB>tq60C7alcYd+Q!B=;NTxSXi?Eve1gV=^jZ2KT>kf9&<;O~|`kpO^> z|J#TW>eZ#}4(h{kt{8F&*pM^*8wT}`Wh=Vp1>X)PH>A++bQjX|nc)tF$?~xiOaNi- z$fgilV5Pf4#eQe`>bYG6!)&f3NmrOWb1+-{B}``0L1V8 zD>nG&JblHEU9I&=ug=JF|5X(2vgTk2yK-iWs%*_Ud+G^Mm>4^##5u z6H^lGMnbOT6V~;MM(}8ez=%a+DAy5~M3@i>V>IB|ADM~?CyR;yjR?y7xp0GTvfFe( zd&gcFY&pg&hCP#TJO*#2i$BNbNS3vO;3tPSidK)CFs~toJrz-zgc{t4f(W3Z7@yA` zeF03NfdtX%`H)wb(h9ZUQmMF z8%HpBW|zc=3TDUffZ8Pp^b7F4Wr`qCOk6nN5>x9*5<=N;Oz?PMETRZ`XKx=!E)?oj zg-ubxO;LqXPh==Bw8<1pDhq>ClXX{9M5M_2twdfJsb^DYVN;-CQ{?e*oAXzE(~b5~ ziD``d^{*t{Y|Y)mH~FGd_F#*7lCEIJR0>)42kI+}D-8!yPrjD)jwC>LcynTNMqp4N zXw>NYGeb+RZ|-`p{Xw(SdTUy1THA7KOKaByX;x+Eb zg~Dr&v2VT(91o8R{M%!C5)DTUgE_A}K9K@gblU$(h!F#+cb<2iw-YGD8#6*7{~1&E zz$L6gL;y1yH(WPycNMQ3AkznUpLC)E!}*$%o>S#F4gratU4rZ+`n{+&!?q-=nvz*} zJ82r`w0}ixPM1zGx+MB!I(L%Lbkwh+JFjK;Kl$hR=Gxc*}NOtMS-8 z-?dIN=*su1>-rOhNbh!bfL>GJ?&ORkPT+Ge$u`gDEyHrT>NwZ;GZZlfKa10TtNwB5 z2(bUY?%CPsx_p&p=KiuR-^R1B8bHi~>(<`WD1gFu}d*%y^c%xvTW-**%ry#*Zp<&|2r zzgr}+4COCdL&>`&>HsBbqvk5GGs@rvbcT7no~HTL3CJ&Rj}s>5+hUdJUJBy+MfeqO z+1sUa`qUn-dE0D30{?c@l46T(elh94E9Q^}kt@2q4rfQlypD`txV(7xo=;DUt@ye_ zAQF}yy-8~0t^Gdu4fP}IuFaU@Y5m2O<8o_6b@wjk))+eT5}?K1}Sh8O;`+Y@{3U>8echp~0Tx1_V6vkAX6c>=EXgeu-+9KcaJ5_;|bXwgU1R zwr08)|7lfhAPz{r^T!-=8cq#vJ;gv+SY#yfdR0+z|IawL= zi&RI0R}5S?^NiDIoaBapT7<;28P~K~BXV9@vbd^Dfw2p%$ABVYUj-hMXr!E@n%WY_ zf1BC@9o@=%k|^s=a4|kPHIL!ih(&gSU*ts))Wqxlpok4=e| z=!QRDXnVkItHkLoC=HuqM4`4~@ZiEc(wfr)IoI&Y+2FPFv<#m+o0&KtB0SF8N-1}F z3Fft>hoY$dz~IqJkhEaSj_t}YRO^p{?DBSnNX`+R)D^sUhN`~sbcuFL`{>If z4}dF%CW75`USE!rvh;|_sEkfpE(-(d5R+%aAw9Se?9`uvh{}jxNO>R-e&2;cqeITl zaKJuXqIgs4Jzh&5eyP#u|6X|d&HB4W?d@gUcdNJ@>x+-R)Qk@~g%KiMJY8jbgH7WU zi_y_eS>@PR^mC=I4^r75ovi6Fv;e9b^kEi?sF~*Svg>$|y~%G11`7?3rOJ&Ej%qk~ zkyi{icI!lF+>ZxWIaSKv^(dB zxkxt*u6o+-ri#K?{6JAhlzom3r(bE2w~#DEWW)DEORpvY&FOjHk0yrvyaBSAy=+&L zG#p#4N&RueV1!ECaYU2_n`$^vI#M62ER5^NkQ>UfrW{kB58H2ux;&%>Fg@bB4dRI| zmdkMS)ThHY_D7FHjmf?{NV_60A&qVP<5~RUzxWx0HmRgl!n_Pia=l)H^Y2pGD@jgW zENUiycIa-R{)mo$jTz+$r)%)swTl z#e!O6bh#)s5${2{)(I4{`idX^W2PBo+anDhnkWRpeZ6O0cbgMwO^#5humFrbff zHCT%=fR-F)Eb62guRxQj&)#FDJ$F`!DBclewtgyx;NHks2niISauMZdI8>p~An%hz zf=GvFqHl$UxXFfpN4V?F&pAsw#>)Cw>CJ!aCrZT0;_)+<&9oM0J4;WQsSIMs@#4to z5Xs@;%F!WFVgAe22T9}h6~lcmBP}9<^@wt2VwuJ^t-;|N{qvhb>4Ls ztE2mg{l0k2y#grJjvf1cJHO&JAFS@+e(3YNUF0_N2fy@V=ivT-%t8DxtZ2VN%pAw4 zM#<_O>g}{s8T3=B?#J|4gY~Gf55`=Y^k~y2N?Z&S4oSG!M`Fc-F6>rG%&BWg4z(wv zy#wph2}So6MZ04|EY9x;hG}$pu z>xP7^wX-^KZQmF|$x+loi#%bJW>ddluGZMJq(|dsrqmsMj-sTlfTe! zD7zkDFOKn7VEDfk9MG>9M<35Efv zb$NA55Q@EuC_xU)-?1>aH)0a;cVW>0({>C&lWW#_X6%C=$%S-jm$t_PtkHhuumK38 zpl9d7$#k@dtUtkFx8=JxNL<21QHR3;q#dsWwfvX@;Fh}oyN)L*S0&tQldXHU zuLW=JQ}7}d46T7B#Y0dBhn)FnG z%na2#)?mn$(ANn#CWYczQ9StEtVQ!~$KvcIT7e49Peh@mCY~oj zbPmz<6f1(N>#lpPTQ-5|g|P-!TBr-x=x`v5oR*gRt7-`iMr@z^eVq^jL>ZmMq}@j0 zxo#6=$CzD8ycFKiPxB>`4QX?vvrYmSM=uX0Z<*ZeVtdoi< zq9~Fk%#g51;wjG6Q*`)IEhx*Gba{a85)YE{rYoTxEhWj3b1ZnCpK?R~2q8NBi62HJ zC*UdI$<&guK0g^#6)z_h$TJJg80 zCkkOB4*hxRg0L`(aPS3QpUa*=xJUb}dq8+c$|Dv~2x*xYQvd^02cbT=_=Sa^`m9L_ z4LC)8#tJ$`OdP|_mi`$iZOiF^$U7FkLV4y;e8muqBOabP-i~)loS;CK(vW$Q+Di7L z#w<2P=QMfoHq`5sH9VSV&8UU;hlqWT4Uif*kXVz*{f%_Tx-}KJrNL2EEP#S*FZumn z8@5%MGRd<7XcRNR-45XmWol327EA&0-l+?WP!xNP*DLDcC+8Y6$0eNulfEdm6aB02 z3#-ewuIM!HeCY#rwI5KlqO1Opk2D1g4iGb2hftB(wrP`v(sk>vjugr7D3?ZxB5f^W zIP)^)WvFe7!CO#*4DiL63!kmvLZVaKVfhWoLjB)MAWnpV$}HID#I#%7mI1l;9R64r z+M&l6MHP7sXKyF;GD!!wVB816n|YqU(Qo|V0hBHA7F~u?ev|#uGPkfj8z)X6{ z)(^_F2boS_;(TWp{0~P7Nx_Bvs!rq2w4bTDWL&cu%sG`i-ITW0PzZsv8+vQu{3rrL znodxoby$s5Df134@gbB*-6)iwh{*+<3Q+M1`^d5m#@<)tS7wz|N0AEg6q3k&?xQ&Y zR-36iI%hC>=;XMHVRtON@o_^E{XXr1LKtkQ9REn4Ff4k;bKfcCR7@RIh*c8`{_O6r zUQfSJfI0&X4zy+yyp5&c8ggqBwWJyx;`$ z&rfWC2dC@&nz@P-w-*Az7-A&fsu%#Xp zP1-a6i}w}kI!oTIk=xw%ZAiVr?pq0#W7ywrzP`mj@%*r0`Ee7iLvt{r;(WC|o6TLf zt>B>v{?H0d(n*{z2cz_f{1dLzlk$lEHlV8q;v}5^tOdr1WXp0^H4f)c+!P7US>*@N)v*DRI`N8_i{8KbO80(CaN;dPfFd~r# z^J1G+l}M>^mReZcQ{u0~CFAA$+Q3>~Bbq%t3wQ}1*Vq`C)o(?Iv6Puq)mNl9l#?Ax z6~v=_r}ihaidpCO=0`L7X$poAXAkeT!2#(KK}V8HJLqd*QSz)=YeR)qeKNDk0rt!I zFP>8y_< zt;*O+AagTdXl5t7GhZyiL`coh6Qwgxf@1l(hDUD)9fhlLHXuDzCnmgx?HxsQh}CKBaI z+WGPc&j->Qn_dtIfBeO>p7TZ2-nMEssx65c=w%0pYKeq|BK|o!*7+*ph9M3P{v)gu zl}z`CWWhS0uKL0A7pq38bc-*`^ihm)_?-~TfEj)c)WCCF&Sp1e7e{!E=!gHO7gCre zQ08x9prg+J08v1$zlhXJu8_yyr4MFiD7t=6sz`U52f2KQebnbG;=F?d%RURWShyY~ zMX`#KoRktSrYTXVOEkC+V!9G(Gx;VW^mdj>)5}UrG=Cuyij|e*H`8BV?5%(t)#UZ& zAe5IA;dE<9Z7Y+7m;s@+qm_}aTTX4OR*Z>OXX<9^mX}+3ZDe>>B{78y%hI8HacMe< zU3h@F=wQh>sinvopdX~s64MC9V)Xh(#kaHBuRylUXqdyCV~-k zy}8nvxqta)GO*D&Y+$2*=$O$FMK61IyV0I(4_7E+N1;6S14J+tkPNY-rJbJ|sIMgk zX+j0^jk3ak&nrza7z^@?C6ai3NpXq4SkwfWl>3{$^w@*bXFTx0j2RDv=MEh@ml3(7 z{dBTSrIkr^oHALi#Ek2~8PgxcP7n6%?8Kd!xqo8C%$W~9ICI#%dBc$Qb?`d1QYn=t z(x@==!4+4qPQ&NU8+PfH^MH^q=`#8~{|#ERjEErF3P4_<_rMFw6ww zI@*B`-+Hc5`jQzSj~Q(d|4qlQnI2Cj`_Xc3w4K|4W7?oPl9r*)6sW|MtXJxcQmI5R z8GrRDWqQdVg+jk3ITb)aQ)RKg-9jW_CYFWFD%TF`I2mSZ6b)f{7?q$KVUf5B3w64Z zP6pBxgU%!_DsNhV254<~U79*sXOaD5{P=&!EV^X1|CtE+WiFxQQlHAKRjS{PHb1#G z+WeMUskNxQWIz--kQHsG^AoepP*8;xwSU^mvl%ONQj<}TNO87GB~BXWs{t3z*Xnq( zg$(MP?`byQqc~x4y64T-K&h-#@VcTxnidzg$*42Z`F}avpXWwn(dWHt3(oc}((lQ& zq~F^(TeHd=-O6SgjP9o&kZcr7LB#wDddGafL89vm=Trw)#K~{hgW`7aK zS-Iu3iWBmX#B|7RqKzJ~1uQ;}WOsa;@3Sb?>;=CTD&zHZKJKR0h#Gd|vr4FiXRCEE zuF+$VGl&h8;wj?w?N8JB*Ia{h+8g_dBk(gMfgN|kCb^3LRAot?wT(DI++_!~ifZHU zG@zo=(-Enq)k8~I^z)F??t>ZO{eO?eMseRsW}#ZligZ^fjKregN}-#g59zNMtGGgO z6}d*SSiV^C0C`BUmOQK23R}q=@udO9rj46(*7k8v%oYtnbDCrX_L$cN)Nq_xgwBMpp zr%0YLC0jHqRD-YaxsOZOn;ALe`As^i^tHr(0WNm3DNCM#rs5Y!kDY|H*l%D&N{Rip z)t;$R=r$B(E>o(^D7fDbYzJ zN!Ff-9NyiUm)bMglKWT-k$1ru9m4KQZC@trbfW6w?;@%>W@GcpA#WI zjVD5E7K{SwPz16mMrSQ%CVql9L#H7mrRRPs$BmApXq|dXxxuM5m49nlWOO=p<=*C4 zTO@*+G=p7>kxjtJqQS_NT<&90n!%WaIgB_1_T!v7Re6>YBO}W>3>FU?CCSGqI@4o}c?-8d42O5yW+w76`DNTo6r)$%ubwh|@6myfg)^u?a&#zOINn ze)E)v2i%(NsM44)H-GS!Y-ex5IJ`2`lHRTFoogzC=Jam;mad@(_eFnx^oAZqo_l(Z zoV$+*EbqN1JaYckdwcpUzUYzN+pd1Er`M87JiFOyJBqONIDZCh&&DR5+}0dB6VYg; zAXnHTwrX9qjaO(|=(C_ED`dIBv_*(5(y>fv#6E_1Z9Wz->+|eHm3XMf6xA14$#+mdw zvstG%@wp?V7JscKNzRb-dgR0bTuVXtV;e4)FCrmZYGFUkb;*m;7NsxBcq;v=jP2^p znTjNx(paP}&EzwDna-dg&6(~~8&pgQlD^Zm8voFB82NO0CzB4nnBbA*C2|yPrivt? zy&Ah&p-`%=&E)sZhMrzTLS!tWAd2 zTGRAx6MrB1Dlqn{=%+2iJ&gTV-f-;4+0%xk&wT2pTC+@P5^|p$|9M0AiF4;g4?V`T z@YUE?Jn{)pq?=}z5@<$yRFI!vr0t&CKXrh=vh<%Io$pyxdOv?}(F3Jxi=Haorf)I5 zqkqS+*K|<-FVheDKTNS4ExT@u!HaU!HlqOTn19KTYgEB>Eti86F@wZs2aD649tc^Q z$=FS9w=UF7?%WjUS&)qB7F|!NuV-;HNs1^_dUAGqH_qBUrv)Wor#HW-vUDquNRxhO zAq(PiVBnD%zoSP73&)W4g9PR|F=2EZ#UjIw%n*vojDOm=IkXoRrTX;-Ug9tGMHmE( zkbl&oK!kzD2*ZJd2?fz#Fj!h!Ukau5#25z{fv&9^5gN)RkbrI`u_Q{VQ~TpW;`H;b zJJme%c(%qQ2!@r<-}BnUt+h_8#nP|--iL1(bx%mpsH|EvVRpKC{`Ruo!6S)@=fGX)6?D9e*gv4p7qv(AusCIoZ)9-A0<}`iL?I$F%5R$j#Fb2$^SrKD<97OR6FqJJa!r_tr; z%5|L1Vow}?)YjIAh0|e#bRDNfRG+ZparHf~#OJk(mYlnf#pmSdi_8i!ihjggOGf8$ zby38-OZtKO7d3YtH_zqrSgpueoe-+dI+LjhLS|+tn^2mi6q@Oi5o6M_q}56Ea1u$%&?Y4b zT8C1r^JTE6`>4wi(afU8b|7kMt{A|VbN*5c2?ET z1+E3IF_Z1*Ou zvRuoKUpa=TyhlZPz~yk9nv75TpoF8L+1M6>&n+u2b7X!nGL~5+$;U7gD?1{*Qd_+&kbIg zwM@Cpuq1VvUp_*ZBFtCL5$0&;=;r8U1Kfi={Zj`97bQ#bH9g$jJ>C7~nLUD4n!bWu zkz;Y&JvP5B(|?xZ(_{wa*9tpQ-^k(mxcmFBaxZc>)zs)hvasnB?#a!Qn@5Z zh(n(1PUd{+$@%UyM@GPy7LYp~&b<75qnsM$KEFooQs=14)kD-1)U(k=XePHtGP3-j z6|_{NU9R1&-KRaGJ)xCqt%YgnP9nPWCzu&57;tS|Cx6&Ftxue_*47VVr<}OYpuA8S zm`xYAnFQ=aD0OOoxHAyL&oRt3&M|K`DNF3dxdV&? zipQG97R@kCD_UrOC`Vb4r*Yf71UPxJ(NvP}_J27wNx2~`$LKxJF5*XCc!PsBkc|^+i&YZ^h$pxaNZX#NO zfsLwR0~=F^jv2iT?6Du3&~~@PegH@8hb`zS+0Dkzb1za`54h4hv1*2p zM1M_P=QeC#%jSxT3Uye+eH!04v?eMUIq$xSBO`%cX?7xPp1HnSo1!xYFWozR?D&4; z7w0eh=JtKOs|ORww=S#MHoT%H=*k*Aq0i`hcSOG*KOx1aHRX(}_1XHZzkAgB8wmSJ zIQv(z`Kxg4IndOpBc8jIi&b~%7V8%qmVc%!b1ic>c}R?1BdW^Yy246s@q;4sN4D;G&JM5n?b*Jf*6PNUJ`G|7Wbg@QWeG&P{n5RJyI zp&Dy;$ce5GN}GZuYdh&i&%9LbHl18mjX@7WW zz@O$%_hwV|uYw(eU#46@z=$REPTGdVd&=^2kAX6cJs-I>9wtI$z3ZRmnk}&Y|+!T}3{h z!_FzBxX*0TILlcY327|l(vcK*MT6B8)axDA!fdACG%r|GBjf8N zM59m#1;L^4*qlXPuftZ5rO9>W(%fKSp(6{okz%%u=qxEgt=3@)gdju6pcz5G-x2cq z0+vGXrv?BlC>4c;D&&R!EPnt(LZ~{#g&4m>si{670l^ypo7+aKZGUTQ`$QZfv0bWl z3j~A(!gAq+zzde5)7#iO>e^C}`9eY-xPrpWed!3FmBoeJhjXP+`xinWwHKaiBt%g1 zpJlKre&7+cb;>}aa&nI_#&_I!z7WpC3rWhq76Hm&0qz_Napwq=K%{i3`(ZcD5z2)j z0@q*NCv~K%Ry{KHDSy>dsXL@CY6b5z`2y-RUm&$ORay+)mP5C0;3zK2VFs%}lTY%C zv-9(FvK>WAxhqY`(i5l2jN4OIai+^5a2{JYP@EGezPzZ2*L(cQ9Kyfp5x2phrCm|I34lf?Z68`p;LA&H z85I{5LBB^ZkbkD=ilXA`+|!y3vL zt00HuWEAA&w{s@uV*VZ%sd4V6S7#FfQT2W%3qfLzVM%}x^N890#veJ@aN#x zqtF=2jS-A;a3gv#S&s#bg5nXfM_ce$b^(?Wl8KqXY6S>YNJ>M6z=D zY>7|pPI4REDLM8WXPKlxoomQVDYut92TLl|5kn+ppnZsAh%<%#yB(-G>SFQO88yiz zmhHu0x4Xb$iDMxZTK+f|GV545Eu~nSlA_Z(%&ve%7qFNq4ahYCg+k7pQ0)+b2p0F! z!++*348)|4!e&x${clA1SJL{^IrMo)7e0FT1!vJmM366@WbkEYnRS+#qV>hKIvV-r zftis~1Smxeps?)^9VZ(Cl!FO8QpE5G4XA7kVrUdZVa1)ysn=P&Yp*@$6_aDNxHH8M zu+Hv3f7+GsaZqXg4gtg;hkQ)4#gpGU_J06xz9~M`*PRbT1~Vmzj=$i62$=DCcH{Gu z(zHnTuN=pmv=0m@-3|NTBl4;J1IKANO-?(Men@kqIRmAA?W63^IJY_X!+x^g@f|tt zNE+=VYEj7g)ePdg5aMR&H5#4Xp>~O8MF4NLmwGb-UavpkaOH@GMU`JroS$D*?0?8n zNyM_efS1c9yhCM6i4SHb8neqx%^3!>ImO_xWv9n&U9dVxgBfYTV0xM(yE(QbVs{X5 z+Z_%kp$5WYXDI->ss^lrX6lHjoc@5z<#gH|0m8}y>~>pe3FT4(HkzH2RvgI5QK{6t zKA@Hd(n?DmPN$=!*qIiA_lYZQLVw!qv<+#y(j;k-w2Z>Eh^|PJwk&O5+L5#qSl3Ly zjHEbRWCEef$oqs6!rSdUr98R_*G7zbH^&=z=Meq-`osF4^t|5E?Ue*x9K>LW)grW- zwcT>!f3@{ktPKY1&B8G&I~Nga8F&#WPMg)WQb#7x!xyf?ju72{zA59rW2+Kf8UAL};t-h~G0G`X*e!PY1|=#Y zwb_W##;dfVk|k&8l9RQ#Vt@U?xH92}mk~-&4~86mB`u^c&*64!5XqLr0rQl8NJuf&r`-Xe%tPQ5@ z-}&GH5pWV%NP8sqmVf3o3)LMn9y9+g{H{A`JZX`>Vf;+^O!tZLfcabDTb;}*Sam5z zqnUq0_lM@Ro_j=bzxqk~tmIk6lj^snZ_DMk(xs9+k{Qe_-qzQi&{Ge)>nC(kf<*A(kZQo5N3YX%5a zI=M=!l-r~>d4?uUpO%7{)IxZsNBges+xJhFn+!61dvnmsvJhE3Zqu zPQhN3Vqb%Fy?+_S4!siRUbu2=Yf&e*7?pNyxvn{OdK0EXbL`9}ow?k|zG6-`*vgG& zqodr+B1LoT$R>2LvFSUON}6Mzbd^;)R(^%0ibSesX_B@)g_8tvlc+d)fDyWkc zQug&cJ5$o}aK}%J--*6Mir!iL0EwWk*&(MEvU@Yr8UQXj0jg+ zZ?n=gd4Hz-UhDlX+KG&U31sxwNGK0|;W!csi8#myPQOl*TAoT%Q_Tp6GW;4lv0HPp z5EcoR?9*ot={k>w*vSy{WNSfO;i(bieJUbSj8qziL2DB4tN!;;iG9t?4uAf}#qC_c z;up^T#JQ-?LmDsiZ4q%CfBsVMiN2Clm$`Y|~Yop=6_on2K?!+m8+c-SB7@zYvY-L|(XmCB=Uth{$%5VU2IP&gj?SCs zo)@~N=+2_Gnd|c24}9$U$bC5Qan?@(Ekeq?Dpw!RHKB#BhS1%v$6f0~Z@S;|91A8n zw|~dZfC4msDWih(WYpuVj9l)_phxP>3i({wP#mxzcs0{3aOPw)wr4YrXJ^aJ8NNVf zCPTBX7J40I(KV4Izz1;(1%5jONT8Y2ZkcaiX2%_Yq(|64@>cC#y;pM#yk!Z9L zf#e7$1S(ic2h2SGbiB6yXzfw<0xRzP;(r@GqQw`#HNmC8gxwlG|E&DK6?`dr)VhR6 z-Q-fcThN{M#7=Gws*8*+v=B{&?mS%Wov$J!9BTHK!r$5agrXRYrcN9{18M$(E|nP( zxBhF+(U|r}4lGG-=WIrfb$jSjT^_TE-G8~i+}hn zxM^q6@ambR!&e{z*oJ$80r!O7a4?eDv)~fjkb>HRtBs3{w_6w6mUernm$JXRPX%Qv z@odF2y*@S_Go3QYZ0sTR=3@3ucBZaXSpwm3q1Ioi zTEb^9Nh|bwDmfk(zDGP-FY!-s&VP1Nr?rp4AIS^&0+EW@8S^uiWvtHFkRi#iR6Wu{ zTxU;s*%!V-Yy9oN_<4KhfqREmd_94kip0NS?-oBH$;)MLP!VRpFFZ?+zZ~kM?4UOB z#c<~r?}dq1m*TG_q=`YS{FGy;)8MHK6<{9FS9f0eBxxs>x-66%)hk2rL{ZK8pbbwXK^lTI?hhs$36Jy%wAKS zDOO*UH-Y~A^yhV&!f+XZ!bL0*mu5z82uO1YI1dSv6!N#2g6Vw zZ@}lyCEo2|N7LhqooR9jcJ_*&4fk5_)wZM3WA^V{ztdCFQ?@g%Hh;H5MR_T)say+f zE2UDMIqo~92q`qBz><<;wm5W|xpCN85D?i(oZ zGVO3=~V>YFr|LDXA#IO@hn9)lR<;#v5^-0Nk(_>_jl-#_=Y`}tBO2a50do2QMZA}Ip!ar}W{d0d z=(2oP`i4crNOw|jDKo^!STUap(cWF}UhJURT}Pv7WQk29(G70yv_C71UKD!}% zW%jz{_1UlGeVq4oo;)3K;tLV0KgZ+udp+KCokMTRDE2^c2H^_SicoPgIT9H|?nnn^ zfrnEmJnVb4IUz2T(L=3HH>?so4jF4m0)MyL6G<|bYdj>!Q|=k!nc!LN+2GmbIqZ>p ztfi)9xgIHNpDkT2-6cIN<)xOA%eg(rSeiw-CISx#$CZ7bUqPKr>p z6Tx)TcDq0s5_-Te=Pr=pc32oY0Yylb*vU;gdA7XsS2MNsi7$K%*mXNNv5P*oJAd(e znp#iM*g_EaMX-z+H%xf7^2C-q+6g9{bVH?|-@Hb4L6(9Ur|OJ@v|-=!w_Yim#8CiO1k?uKw4*{#R|^ z0vJ_wExPwP^Z%YXbLKypIrGW?pG-(#Vsao5MCDT?>&0uSpK43{3ca=U7WAR*ZKb8X=xv2e-rD<|nSaa#uKO)`70 zv(MV!wf5R;@4fb(ufvzvkOOtDg`Qc4&K(LFV9MqIwO^_L;1$PPg>M$04xSGEzVLU& z+Nh)0xma9YxV*SS>@3_+yv4f3Gf;S^$K)gn6JvH^z5SDpt%ZHXA9~dquZMGZOSw|M z(EEArtK9wWJ>EwgkADDe1k^06NAOYG9FN~6&mqt*Tc}iPJfPC}|CcKiFbSSIs}Gw0XGTaeAOckSs23;6jeoTmdn*bRtpoL_`<$WMx!#=!!IGvdT=IE5pk699C8_ zvWWTe+oM0-vE!#>Z{1IyM}D#A{$Kp!{yo1?{pP|Dk$)}Ues#y`iJMN{{3`yX%*p%S zdTSryWQOkjR|6+|kcfUF4H%qz9ZVgwh*{0_FfTJN+kfc!CI3s$TfYC}emD4$)9mq= z`D08|;2Pg`!HvER!K806c$@Do-(LUTz;kNrxbukr7<-I=&Hq|Jqx*r)D~bqXTS3UB zRfTLu(|;Ood>_Ii(1WJ%yOJv`#&LX~fRn;e;W&sQmEZ}LJ)Xm&%g<8N&a-r{|7^yL zFHguk;}kR?5)S%=V1SvLc|R-aK^4Fur*n=un9P|-D{s=PDldM=`R=2i`td@$g>!Q? zAKdEdd76H{H5{}p>lW{ z#(xjvHx%=f<RtOT)hodp~=WSk$-)W zrz5JPk>iomk#iAM#1kv)%41e4Ey&(05Cg=;+14{eq_$=(Pv_4O5;n_xj zHr7;BRM&({IfE?k&Dgw=E=zxet)^&krP_8OQ(mCX6F1M(G(P96=%J?R%fGjMze}&wtvdX zs`g52sCf0N-8XdKx$#pl!w9DTNXCdyeP(>)!s@|XQ!v_nLHW6`cIlEYt(^YPY$s)J zxVciCn0`NdoUSF)M_&M%JJm3y1U+@9R2KHsc_hzjPmd?%`K(84H-B^M1khGBCjC0K zI&5g0paH{SuSE=vSCrF)S_dhfCW#%Cw9)7ZgA6-7R{|6 zo}FXHfO4(r9FYe5B^DY=3o!TGx)WbRDn9L|3p&?)K=y>ywm08Qf8yewbL0_dETm=! z)3>orv}Oh9>ry#Kj(;;U9D9Rxy&rTqf66+ECh;UQ$?maQR_MN@`?~Hi{}I31uk(>5 zZ$I=|wNW>PpLkZK3LE7LOBSQXyT&8(c8ha&fGk69l57mavVow#<|9|>biLi%zvp{Z%>=aq?TE_ZrxRD z(jU+U&~N=Lsr~dt+P{0Y-cuQ*-TSW1(3g(_U3WuYZeZ>^j7n!-Jm569mJ&-@!9;y& zC2wrqZ2y*>ITpiZLRn!|X<4kKVSco=@T$_**cM?+#Mo!Y5&JwlQ!cD5eY5b**!zX= z$1W6Ji0Kv-E`Nw^iEe3lOn5A!i8e$cNEX({tfcmnu6+;%aWF_SHF2#$dK?7w>)^&n zFc^-6{Sj1IPh~<)O?#}Sral&~j5XMdG$Bj1!D2BQ!Zu?00rMo;?8Cj6+I@t5g1w@M zgfA^E-B?&!T2vUWD2x_Hqhdo$XlRH<1UqjRQA9u}f`9A{Q9&KS;ke)Li2F1}@rwF* zWo1PLV~q1Qq>E$5Adrc&J{iH02MePe4M*@kR0tvFk=SI65o0y68)IyY$ee;kJB;u! z#*FAE^$e#M^)&#H(MF^9%zGX`gvg1*-kehm^l}zr`FmDbWjQNbt;wcL%HF(d{v9g1 zIe!>tvwtTJ1e(dl>4^jWM%nk&$-b+S`p*a@t@3{7dVGia)5q?xC^jA+zb<#>wVJuO zAj>X6*IMKgGPyc%1ax3QS4fVf$7VjvwXOsVz*?nX{pCQRCnjdC|H<}k)(l`)Gs&*+ zgtF^9bC2TS@8wMQet;9@v>%v>Q0Pie;jeemjen$bBs8A>3f`Xne9q+WBV0j513iEC zhxGdF^3NFbmgk|j2+&*Hs8fn{JH{NJae(?@T1T`#(DT+29glZA_SkG;Hv-iTVbR8M zE4iZ_%XvJxl8zpWzOsb7qIA1AU$*_3$hM5~pDVF3a*$JIpjEXq8mZaZXl=60w=S?Y zTYs;zO4c^(5s2En!DtkPh`I%!Qe7dmtPR z2Ev8&YUIFruAZrHudc7JsSeL;mq=jZRDT<8Yj169lUl=-)tW$2Rb@$mUxT$}jZz%7 zYsx~bH>B6I+QxbF3JVvibJEE;FBTO9#Ns0ITr^q46kTjV)naQ4S&Bj} zM_Z1!uq~dYWly+sRz1iaKFwJ#YbdH14rW#~`T6L-VDZ^G$5JYz4u~bCZjZsFQhyr@ zOI5`|tk!r8t{^T^mj$ugR?^*DHZ9Ur*3!chL1NI>(&VEFw1fsB!*tj*2n21O9gF;KJ@u z)7XL=<}IZsIKH}~zN&9wI|WzPR)1Dp)kcHgp%yt5WV<`YmbAAoiC?#2`Viq%<}1>g zC5h>uQTX1rwFRZU^26*@0XTRNICw2^a1$Ps8c%9Y>X>7iV>;$x-7}hJbnG_mq?YN? z_Ud|l>{oq{Xqa1q2k=3L^#`{E8H7~~6VUPUN`ci8bTE!~x)B!U=W3ktP=8`U7Hnx( zMiW`%WbG!k)-WG@J*w4j0Vyv?9Dh~85k>>&dIN0rZe zYW9Kh=^>iutg55voigK1p9dlTk6RjFmdym8U#-*XG&)A(R|8l1bOo~JSw=NaUv|@8 z00#N>cYT7)L)+*%x6V#buYcw#bH7ViAfHt(Q9jqM`{Mc=S2o>1iT*aV()y>N>u=tc zt9vR8v2*?6(!dv%P5*IL_gsHV+y9vU(;O~f(7iLKRL#HzM&!a*OHI5}s0mByapeFTrsNHdl*49J^o@2*xpq2f$zeMM_5;hP4Kp zaXFe}2DKiO)zi!hN$xsRbNcK{$I^em{IQp?z2ohD``#vB{M3u-bJ%v2T<~-5U;gK> zPd)Ut)2GPVHO$;e4=qHsxKe7ZHCX2t!?&UG6S#xvH1}eliGOCRIfZX28?7>aU-P2j zP3@cdUlzYv`<~`qgU-WNu(xRMV)wF-vl^$Lc1urnfyd)72s`Cb#>l^#H>4~KS1Y3l zHkVdg;|_lu7}Zi8G8#%lc(+Q6g7HF4QOK&pI&XaivWNj|!ODV71<3+cfu}Ba`J1X; znZ@t3&2$QXxqlh_#~Z@rE>M-2YRH_RlA6JoMNFt(JM(YfEso?JDN+gI;Yh+bKUT!%T(L_8I(_eJw9AzX1?y`M5y%dE`kmPL%GCI%y z`;C==Mt?SiMu+Tz#mW0K!=^%pyz@L)S`%ZKZ$7-_+S@&LgT)?+c^bcZ6sM>zHbkae zuTwizw)@0=9SN@;ro<8Ny2sKn+Wx%F#e6TLmmQxu#ipUpEXIG5b_uQig$#ckT8{=6 zKQ2Dr_>HDF?5{2Qwf*PLpSS#K(eLeNV!vH<(SLqE_LoJx(XMf-Tl9;9c8Al^;#>5E z@SfQ7R^wXxhNgk0E%BS1Zj0a9bZ7h#;Tgg3#rUBh^9fyfX{4xDx~e(mbz3c3hiN{F z)zw5)Rr9PC6Kg=M%@e=ss*o+zW|+ba2U(G9KI8i(f6=^92*tG>^Fu2G#6XD+c-w2& zM1SI?j*vv;rV}Kjv_4siOFc{4w5+Dc5HfyBSxcu@NmyR1#N}tX=`&e-B|^#0S!1R7 zIp#{rc`jbQQKhMI5ij}+?S-xuM-at*^Mkli1czS)kIq(i5V_nfS1l-LhQZAnZ*B_C z3nF2mjVe%NIF%ioxpyyz{0HMg%;5jt%ztl?Yvz5l7$znyLL&&)17T;ge|D{nZZ3CH zovI0>t{xQ0xByNQk-=`x0Z-s8CPH_y0AhBr025X}Ne5bnAU#Kh8i6=DLKo!y<&HBu z1eY_%2usl97-5ljvKdx!QM5=g!n#$SpOC$lrqy@cy&~RT^SP%McWwIdE3fR-Ie*O5 z49nw+>`i`i-zQe5U)gotiQP}Kz85tjT8HL^qLgC;KOF0*T;O*aLDkI;b(?32K9E! z=PY|H-?F@H{JBx%(qS!;6Dm9^Ie&C2l~xzVoS=8utelM()E-mm6n(`DHjXjU zm_i<-uuCcP4FebcvppvNWI~}0p(GxN0rhoBm9WOTu zX3lLE|8v{!C#k{ER|zrLZqmD_f4Z!@UNn>Yr$Wm=Kh9K>KzcrwwBrrXj_cWORE%aM zlRmEcHv8SHw|q|q<@G(%+JABK8=uhH5xhyN zeGEUwKW=A5gJ=}VQ8kNb6+ttP<0gKAy^q;!8xRH}PXW??J1+$>IXwBKnl?6dL~Wa{UJ zFi(Fm{q0ZEB@24j!WVF?5LeNgFmN+js_tOTnM;4Bm&&StW`DeFnwe4E2b3&fE2KwC zoW-usvHP8mxTcuH&Vw!;VmM}}^GnXBod4`RL$kn&ih^8Vjfd{$Fa|Kh2sDd<<4@~9iBT%9(O+Pd|Can@Rswp__waV zFc+MEaoJ=G4hxqx;Se05ViHs_62&MgMx`iwjzIgOKZ&v<(a9*oMOP6U{=Fs9XmLq6 zRDw(z5}|YxHK$~)`k;QLp8ca9KczpaKScttUcXnZ*MDo&VUt=VdMQ^H6jXZ(3cQ}M z=yC61oGx){<{GKap<+crtx|~&L4bj$1enh40evcT+}MCIilzxdkOx$P3W$jb%N-ZwkjJXE6d=v3US>Vii@ zT9z$l=UBek?e%v1oG^A*|KX|rCrh(Na9j5r=$-n~7P7MV9?@@0Fyo&-gL8UlA0te^ z&wo6a+e;H5Z?`}%ZDVeh_5^J~p5dEpYi*2=%&&vt8}SgI3?(BswtXLepZhWY*2eR^7>Ws@P>hM= zxHS%f(jMpIp|}|L*2e4N(Rd_YwkX~fZ-0o#;&G|1t+lDCH4-VVsw!?>uZ~UOs)J(N zgRLA{#P?yWHibe?lSz%7*y$|54_ehpU=8n*I(UB|@?bGf@j?$4ueTOdD^o~yfoHM7 z;5C$K;+pr4U~Tr=z>La!CVOQV(Rw}0&$!8H8_;(>WfD1%B`!KOmIIhq3qw@!uiq8sPu>8DDdYqH-$Io-8p$ zxOotttANOy1Ti@SMB@SwhYNse%Z0PCXf!K)6bUacF4oVyBk6f#t1V#UTk9b^=^6lR z2B)jV218>@+rj|fiiy+K=(n|E;(xR?`Z$2VX(P9=V&a4h1!7Cg3QnEi@wIS7lddDG zGx)sXw@u9)JHQEK1@o9>1|ZT5PKY>HJk&+hYb;v==j;UJO{`%;jb%HVD;bAsBFsK~ zdy!!E2Gf5g%>RY-;q>!#pi2KS;I-O|@a^gSQ9HbUmyBDz*oO;xNmqH7ynl`2AEdve zb()negZb%K>`C9IdH{M)9sV9D4am*A!{z3X zs{uFIR+=T(1^ZvaM!o%7`!(Ty+;6+dep7gteOLIf?FIXh@XO(U4O^fK@^!qe&MxaN z0kgR}tF-vSfyn?4>Nue0lAQ!BN4uWV?g$A}zc zg`ve&A*QM*Nm-FV}GRP)S`MseOi4^ ztxUW->#h4ARus<9Nkn>6c0FiLC z%Eoi7Rb6p|)C$v!DaL&WiMkskD?m~RiC$EEqRMnarH+D*dcs>>6%B>N6UfVX8Ly}A zqr>>qS*s+vZB1SB0|=h#Y8XJ>-m@O?I>E=83tMVy=pM&5JAb(y$|hfite9~T*Es@T-=GDeHS~m>%3MkS987f zbb^rp1IN?%fW-NtDr5W*mBmj3Xr^{&YiI=0sRCgIhUJU1csR1UmwqA<;DKfUM#CV2-e*T{L8ChgLxaK0q5a_UD zd8g9rQ;lpj15YF#^No~u0vCGk%Qpx_9@eVpRI~1WRM;7|Fqvm}fth#2V+>Ms+VvJw zu6aI$cd`c4hvOie7FllJ+43m&DrRzZgXdXXVDWmccF5hLblHxB&S@c;IaSpObc6iG zcP6_Cda41LOHtV>NyFi*Mo_1nsX8GIiP07dmXBlq-_nu}MEs z5EyWu(=u~Lbc*hSViE8Nt=MMx&$Aq>azCN5Upa2LoheJ_9E4{$XX``hTIpU=UC=*3 zrEy#w9@yVtEGc~Zw~>v|N2;t(pP()BA!#w^<$j9A_NSVi+2NKaux8z_mQz}If6`M8 zx;DhVo%Z0eY-}VS*0c%4Dx1ZOl_%bOis!2<4v>!ZatOxICTR=!0d^FA;{l(HcOLBjGN81Y|y2$m=!bd-aq`5RW6QABKqiK5=TJ~{L$(@q;!SQ zuN$oKNLY9N>>UW(d6telPRcplBt(T}lnXpqqFV?+LUd1Y;&G#AswLVXJ1Ir$@4q=( zRvn^P&u8lR>doRp%bHzOOCRzwvlx;6zMD(2-M9mK4qs8{JSD zv<5t81p3+75Y8zPRQaqxKyk#dFH+b$-d}{G7GKYSc9)DexNRkO%ASX2qWJPE*JOr5|nOU^OKX7!LmNbF}+6hwR8fJ*Akz*^=7( z(MD3bf(vRDly5>N%9nZ`8LWn!>H|FwREpnfqNFX~e5Z^TMDWx>W*Lu>gJW~MGeJ-gVHf!xkkE!nn@|JB9ImEd7j4R6~=0E&P zsYAE;BRQOgTx1ySZl9Q^^ceiuo%+#78=(1}sAog{oHn+{SGVi{X zHE^0H)tS4tq~gaO-b@Md=||u!gwxsxTEpfwKBnilcXdkhd}&4(mkO1Q!>-I_@brI` z5T$@}wORZ2V~?Io>`Rye6bDOQ&p7d*dDEJGK7_Lak+2kSeCgbwCYG6rr@2{7sG_i) zj5D9jnXi9cFtU`T8lLVKxH@CbwXU~URUmdToD{)*E5godPuiFMQ9=0@kGuk_{^@Xo zk-)Hvwm&Z8OO0jn*asx#^^n5@bH>%GI>`k+IH$a76Jxnbyp(J@fYi{Y`fj zJxMQ~Q=IiP2HQFTG>6vwp_B?&>vzk;@_OPqFJ+*+e!9YcCHy=-n5h@D?UpAm$*3|p zXYg7!bPVmx}!Ex6(AcjWmQKHrB#1y-o?_~A1eM-|5pyGuL2)avti z$wy+dtYtyzNvjz&=d5t#@hsvFyb*kupA5`@ma25MBssAY(*8*)j-_oP3$s}LAySGDR7vdQf3Ud@c2mvS?< zM{<7hUVKqs36QmwRuL8Dv*RXwG`o>l&Fh*tx}G>=Y^<&^Q9|4@0N#wMZ-0 zIh|0kZwu?spc&cLKtzV(5WCE-E(#?2FXVAbSp7`Nw6{krV+h|ywELeIJ4o)H?5=a} zP}P?EU3aWq7#*I?-G!sT;WpJp9BxiXIM`FUQK8k0V9m7655dY1Fp)~vLU;{U(i|j8VtfA1>~0(%q&tpPkE$0 zl#s}NN^%JE`j9SDi~XyUY7C@OU-3huP1)TUk_nTtEK$?gsOVEOX?sdZhYePkH98d{ znNg?XB$+Gk5*x`MoFvA0cw|`R!Ra7);qgm^hU#3IQEU&OaGLFlW}~a|hobJIIGLvm zO^3`<%JrXFQKX95(=ajeRu0p;*DQ#|%Vj(oyImA;d;i@)ZKi=38#|I`)5;!ovt`k{X*v)#J!#ql56uAuS=t&@}GYqO-`nh?M|p7a_%Y= zRM|LGpQ~!)c>De8w4Mhkt9>BrRcijTcNdQ3VUz$rE$}ua$#0PZE<@12tT|n>HCIe4 zAhwO~MjLQFmxFQC4N;OsmrJwvmY#vp&zy}_ib9F4@2dvqTPZz2Ht@1FPKOC;et|dQ zBd60YZHc&5N!)!Qm^#*bvTKa^y~%&QpIfutYrX%XKL3Qz$3k&ZCd)D+Kf*2fr&<04 zvB7H3sVf4je9Od=`_e*0Ny>7wI61ygn5-vfd_-4g3gtu!!2$%Ru~J%D3xn=XHtPRV}kxHk)5{=7L`xVRm? zp+BI>olFy4j)Q z9+H}%Q}KJBF%n?7chXyauX=MSzsJt$m{WQ2jz`d^uQk`}^JM}wI~>h6z4ktyjd;%g ziHjv^W7y+;OYCmRz)9E7au%37C{GlNR0aya+d4+qT)%wHjJN-G{CL(<_(w^m#reZbJuiyuOc)Ust|hJx#;%b=*Q;Mkg(HU%8exrv0pc`SI|Li`T40^ekM7Xc;a) ztn^Y9X4Z~bsQ@ZPTZ{@x56BhE{vx=4(Nt_lsM8V7T|3O}apxw>;gPnV6d_CO;|sdB z^Re8E)ch+3S3LT|vE!}=VQw^Uu-1{k%orpDTZj7G_mW=V5;t3Z$=+yL5#0&u% zOmGa@!4LrCJxC8nfXO!u0fHnL2lzi12#G+z5FmHZZw!KjA&~U`|GGea|H05u=m89c zLBQ!9`NI!|K_Tg7|AAq^C?xs-M#4Z~&;uY842Q!H1Vh0H2$){Pe-lC>Xfzyo5W|2m z2l=2#%&!^z5er2jVQ>(b^alt>f?=2gj&LLteNY$)1A`BW(CH8dMNkM7hA#4l1_}v9 z{L@v^?^e^7pCbNMF&cx!927=l(DVWQNr(Z%|K*1PqfrOO1jRtWm;+;iVn`6gulMJV z3^5QC{6N+)Fbs`6&}tYM4n9~N3 Date: Mon, 28 Sep 2015 15:44:37 +0200 Subject: [PATCH 36/83] #210 Added support to run genattrib with a zip file and tests --- about_code_tool/genattrib.py | 35 + about_code_tool/tests/test_genattrib.py | 28 + .../tests/testdata/genattrib/basic.html | 771 + .../testdata/genattrib/basic/bootstrap.ABOUT | 16 + .../genattrib/basic/bootstrap.LICENSE | 176 + .../genattrib/basic/django_snippets.LICENSE | 9 + .../basic/django_snippets_2413.ABOUT | 14 + .../basic/elasticsearch-sources.ABOUT | 19 + .../genattrib/basic/elasticsearch.ABOUT | 22 + .../genattrib/basic/elasticsearch.LICENSE | 202 + .../genattrib/basic/elasticsearch.NOTICE | 5 + .../genattrib/basic/subdir/annotator.ABOUT | 14 + .../genattrib/basic/subdir/annotator.LICENSE | 25 + .../testdata/genattrib/zipped_about.html | 19263 ++++++++++++++++ .../tests/testdata/genattrib/zipped_about.zip | Bin 0 -> 284989 bytes 15 files changed, 20599 insertions(+) create mode 100644 about_code_tool/tests/testdata/genattrib/basic.html create mode 100644 about_code_tool/tests/testdata/genattrib/basic/bootstrap.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/basic/bootstrap.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/basic/django_snippets.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/basic/django_snippets_2413.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/basic/elasticsearch-sources.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/basic/elasticsearch.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/basic/elasticsearch.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/basic/elasticsearch.NOTICE create mode 100644 about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/zipped_about.html create mode 100644 about_code_tool/tests/testdata/genattrib/zipped_about.zip diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index c4eef3ba..52eda3e0 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -134,6 +134,37 @@ def check_about_file_existence_and_format(input_list): Create a verification CSV output for the attribution """ +def extract_zip(location): + """ + Extract a zip file at location in a temp directory and return the temporary + directory where the archive was extracted. + """ + import zipfile + import tempfile + if not zipfile.is_zipfile(location): + raise Exception('Incorrect zip file %(location)r' % locals()) + + archive_base_name = os.path.basename(location).replace('.zip', '') + base_dir = tempfile.mkdtemp() + target_dir = os.path.join(base_dir, archive_base_name) + os.makedirs(target_dir) + + with zipfile.ZipFile(location) as zipf: + for info in zipf.infolist(): + name = info.filename + content = zipf.read(name) + target = os.path.join(target_dir, name) + if not os.path.exists(os.path.dirname(target)): + os.makedirs(os.path.dirname(target)) + if not content and target.endswith(os.path.sep): + if not os.path.exists(target): + os.makedirs(target) + if not os.path.exists(target): + with open(target, 'wb') as f: + f.write(content) + return target_dir + + def main(parser, options, args): overwrite = options.overwrite verbosity = options.verbosity @@ -200,6 +231,10 @@ def main(parser, options, args): parser.print_help() sys.exit(errno.EEXIST) + if input_path.lower().endswith('.zip'): + # accept zipped ABOUT files as input + input_path = extract_zip(input_path) + if isdir(output_path): print('Output must be a HTML file.') parser.print_help() diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 701c2726..a2a47c84 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -21,6 +21,8 @@ from about_code_tool import genattrib +from about_code_tool.tests.test_about import get_temp_file + TESTS_DIR = os.path.abspath(os.path.dirname(__file__)) TESTDATA_DIR = os.path.join(TESTS_DIR, 'testdata') @@ -69,3 +71,29 @@ def test_component_subset_to_sublist(self): expected = ['/tmp/', '/tmp/t1/'] result = genattrib.component_subset_to_sublist(test) self.assertEqual(expected, result) + + def test_genattrib_basic(self): + about_dir = 'about_code_tool/tests/testdata/genattrib/basic/' + generated_attrib = get_temp_file('generated.html') + args = [about_dir, generated_attrib] + options = None + genattrib_command_tester(args, options) + expected = open('about_code_tool/tests/testdata/genattrib/basic.html').read() + result = open(generated_attrib).read() + assert expected ==result + + def test_genattrib_from_zipped_dir(self): + about_dir = 'about_code_tool/tests/testdata/genattrib/zipped_about.zip' + generated_attrib = get_temp_file('generated.html') + args = [about_dir, generated_attrib] + options = None + genattrib_command_tester(args, options) + expected = open('about_code_tool/tests/testdata/genattrib/zipped_about.html').read() + result = open(generated_attrib).read() + assert expected ==result + + +def genattrib_command_tester(args, options): + parser = genattrib.get_parser() + options, args = parser.parse_args(args, options) + genattrib.main(parser, options, args) diff --git a/about_code_tool/tests/testdata/genattrib/basic.html b/about_code_tool/tests/testdata/genattrib/basic.html new file mode 100644 index 00000000..80b09a83 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic.html @@ -0,0 +1,771 @@ + + + + + Open Source Software Information + + + +

    OPEN SOURCE SOFTWARE INFORMATION

    +
    + +

    For instructions on how to obtain a copy of any source code + being made publicly available by Starship Technology related to + software used in this product you may send your request in + writing to:

    + + Starship Technology LLC.
    + OSS Management
    + 7829 Montague Expressway
    + Santa Clara, CA 95031
    + USA
    + +

    The Starship Technology website www.dejacode.com also + contains information regarding Starship Technology's use of open + source. Starship Technology has created the www.dejacode.org to + serve as a portal for interaction with the software + community-at-large.

    + +

    This document contains additional information regarding + licenses, acknowledgments and required copyright notices for + open source packages used in this Starship Technology product. + This Starship Technology product contains the following open + source software components

    + +
    + + + +
    + + +
    +

    ElasticSearch + 1.6.0 +

    + + +
    Copyright 2009-2014 Elasticsearch
    + + +
    Elasticsearch
    +Copyright 2009-2015 Elasticsearch
    +
    +This product includes software developed by The Apache Software
    +Foundation (http://www.apache.org/).
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    + + +
    + +
    +

    bootstrap + 2.3.2 +

    + + +
    Copyright 2012 Twitter, Inc.
    + + + + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    ElasticSearch + 1.6.0 +

    + + +
    Copyright 2009-2015 Elasticsearch
    + + +
    Elasticsearch
    +Copyright 2009-2015 Elasticsearch
    +
    +This product includes software developed by The Apache Software
    +Foundation (http://www.apache.org/).
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    + + +
    + +
    +

    djangosnippets.org_2413 + 2011-04-12 +

    + + + + + +
    Terms of Service
    +We hate legal-speak as much as anybody, but on a site which is geared toward sharing code there has to be at least a little bit of it, so here goes:
    +
    +By creating an account here you agree to three things:
    +
    +That you will only post code which you wrote yourself and that you have the legal right to release under these terms.
    +That you grant any third party who sees the code you post a royalty-free, non-exclusive license to copy and distribute that code and to make and distribute derivative works based on that code. You may include license terms in snippets you post, if you wish to use a particular license (such as the BSD license or GNU GPL), but that license must permit royalty-free copying, distribution and modification of the code to which it is applied.
    +That if you post code of which you are not the author or for which you do not have the legal right to distribute according to these terms, you will indemnify and hold harmless the operators of this site and any third parties who are exposed to liability as a result of your actions.
    +If you can't legally agree to these terms, or don't want to, you cannot create an account here.
    + + +
    + +
    +

    Annotator + 1.2.10 +

    + + + + + +
    # Annotator licensing terms
    +
    +Annotator is free software, and you may use it under the terms of either the
    +MIT or the GNU GPL licenses:
    +
    +## GNU GPLv3
    +
    +You can redistribute this program and/or modify it under the terms of the
    +GNU General Public License as published by the Free Software Foundation,
    +either version 3 of the License, or (at your option) any later version.
    +
    +This program is distributed in the hope that it will be useful,
    +but WITHOUT ANY WARRANTY; without even the implied warranty of
    +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +GNU General Public License for more details.
    +
    +You should have received a copy of the GNU General Public License
    +along with this program. See LICENSE-GPL, or, if this file is missing,
    +<http://www.gnu.org/licenses/>.
    +
    +## MIT
    +
    +You may use the software under the terms of the MIT license, which can be
    +found in LICENSE-MIT, or, if this file is missing,
    +<http://www.opensource.org/licenses/mit-license>.
    +
    + + +
    + +
    + +

    Common Licenses Used in This Product

    + + + + +

    End

    + + \ No newline at end of file diff --git a/about_code_tool/tests/testdata/genattrib/basic/bootstrap.ABOUT b/about_code_tool/tests/testdata/genattrib/basic/bootstrap.ABOUT new file mode 100644 index 00000000..a298cf5d --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/bootstrap.ABOUT @@ -0,0 +1,16 @@ +about_resource: bootstrap-2.3.2.zip +download_url: https://github.com/twbs/bootstrap/archive/v2.3.2.zip +version: 2.3.2 + +name: bootstrap +home_url: http://twitter.github.com/bootstrap/ +owner: Twitter, Inc. + +description: Sleek, intuitive, and powerful front-end framework for faster and easier web development. +dje_license: apache-2.0 +license_text_file: bootstrap.LICENSE +copyright: Copyright 2012 Twitter, Inc. + +vcs_tool: git +vcs_repository: https://github.com/twitter/bootstrap.git +vcs_branch: /tree/v2.3.2 diff --git a/about_code_tool/tests/testdata/genattrib/basic/bootstrap.LICENSE b/about_code_tool/tests/testdata/genattrib/basic/bootstrap.LICENSE new file mode 100644 index 00000000..1b5ec8b7 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/bootstrap.LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/about_code_tool/tests/testdata/genattrib/basic/django_snippets.LICENSE b/about_code_tool/tests/testdata/genattrib/basic/django_snippets.LICENSE new file mode 100644 index 00000000..01b3fadf --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/django_snippets.LICENSE @@ -0,0 +1,9 @@ +Terms of Service +We hate legal-speak as much as anybody, but on a site which is geared toward sharing code there has to be at least a little bit of it, so here goes: + +By creating an account here you agree to three things: + +That you will only post code which you wrote yourself and that you have the legal right to release under these terms. +That you grant any third party who sees the code you post a royalty-free, non-exclusive license to copy and distribute that code and to make and distribute derivative works based on that code. You may include license terms in snippets you post, if you wish to use a particular license (such as the BSD license or GNU GPL), but that license must permit royalty-free copying, distribution and modification of the code to which it is applied. +That if you post code of which you are not the author or for which you do not have the legal right to distribute according to these terms, you will indemnify and hold harmless the operators of this site and any third parties who are exposed to liability as a result of your actions. +If you can't legally agree to these terms, or don't want to, you cannot create an account here. \ No newline at end of file diff --git a/about_code_tool/tests/testdata/genattrib/basic/django_snippets_2413.ABOUT b/about_code_tool/tests/testdata/genattrib/basic/django_snippets_2413.ABOUT new file mode 100644 index 00000000..f1018a04 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/django_snippets_2413.ABOUT @@ -0,0 +1,14 @@ +about_resource: django_snippets_2413.py +version: 2011-04-12 +download_url: http://djangosnippets.org/snippets/2413/download/ + +name: djangosnippets.org_2413 +home_url: http://djangosnippets.org/snippets/2413/ + +license_url: http://djangosnippets.org/about/tos/ +license_text_file: django_snippets.LICENSE +dje_license: mit +notes: The http://djangosnippets.org/ notice gives us permission to use the + stuff under just about any open source license, we assert MIT for them. + This file was modified to include the line "register = Library()" + without which the template tag is not registered. \ No newline at end of file diff --git a/about_code_tool/tests/testdata/genattrib/basic/elasticsearch-sources.ABOUT b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch-sources.ABOUT new file mode 100644 index 00000000..1ede24c4 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch-sources.ABOUT @@ -0,0 +1,19 @@ +about_resource: elasticsearch-1.6.0-src.tar.xz +download_url: https://github.com/elasticsearch/elasticsearch/archive/v1.6.0.tar.gz +version: 1.6.0 + +owner: ElasticSearch and Shay Banon +name: ElasticSearch + +home_url: http://www.elasticsearch.org/ + +vcs_tool: git +vcs_repository: https://github.com/elasticsearch/elasticsearch.git + +dje_license: apache-2.0 +notice_file: elasticsearch.NOTICE +license_text_file: elasticsearch.LICENSE +copyright: Copyright 2009-2014 Elasticsearch + +notes: Source code for the pre-built binaries we use, pruned from docs and + tests to keep the size small enough. diff --git a/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.ABOUT b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.ABOUT new file mode 100644 index 00000000..8e94018a --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.ABOUT @@ -0,0 +1,22 @@ +about_resource: elasticsearch-1.6.0.zip +download_url: https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.6.0.zip +version: 1.6.0 + +owner: ElasticSearch and Shay Banon +name: ElasticSearch + +home_url: http://www.elasticsearch.org/ + +vcs_tool: git +vcs_repository: https://github.com/elasticsearch/elasticsearch.git + +dje_license: apache-2.0 +notice_file: elasticsearch.NOTICE +license_text_file: elasticsearch.LICENSE +copyright: Copyright 2009-2015 Elasticsearch + +notes: This a prebuilt version working on all OSes. + The tar.gz works only with POSIX OSses and not Windows while the zip works on + all OS. See https://github.com/elasticsearch/elasticsearch/pull/2793 + ES contains a prebuilt binary of Apache-licensed Hyperic Sigar, Apache Lucene + and Apache Log4J as well as JNA which is LGPL-licensed. diff --git a/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.LICENSE b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.LICENSE new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.NOTICE b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.NOTICE new file mode 100644 index 00000000..23cae9e2 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/elasticsearch.NOTICE @@ -0,0 +1,5 @@ +Elasticsearch +Copyright 2009-2015 Elasticsearch + +This product includes software developed by The Apache Software +Foundation (http://www.apache.org/). diff --git a/about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.ABOUT b/about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.ABOUT new file mode 100644 index 00000000..0a08ed9f --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.ABOUT @@ -0,0 +1,14 @@ +about_resource: annotator-full.1.2.10.zip +download_url: https://github.com/openannotation/annotator/releases/download/v1.2.10/annotator-full.1.2.10.zip +version: 1.2.10 + +home_url: http://okfnlabs.org/projects/annotator/ +name: Annotator +owner: Open Knowledge + +license_text_file: annotator.LICENSE +license_url: https://okfn.org/ip-policy/ +dje_license: mit + +vcs_tool: git +vcs_repository: https://github.com/openannotation/annotator.git diff --git a/about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.LICENSE b/about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.LICENSE new file mode 100644 index 00000000..05ce546a --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/basic/subdir/annotator.LICENSE @@ -0,0 +1,25 @@ +# Annotator licensing terms + +Annotator is free software, and you may use it under the terms of either the +MIT or the GNU GPL licenses: + +## GNU GPLv3 + +You can redistribute this program and/or modify it under the terms of the +GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. See LICENSE-GPL, or, if this file is missing, +. + +## MIT + +You may use the software under the terms of the MIT license, which can be +found in LICENSE-MIT, or, if this file is missing, +. diff --git a/about_code_tool/tests/testdata/genattrib/zipped_about.html b/about_code_tool/tests/testdata/genattrib/zipped_about.html new file mode 100644 index 00000000..05759b89 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/zipped_about.html @@ -0,0 +1,19263 @@ + + + + + Open Source Software Information + + + +

    OPEN SOURCE SOFTWARE INFORMATION

    +
    + +

    For instructions on how to obtain a copy of any source code + being made publicly available by Starship Technology related to + software used in this product you may send your request in + writing to:

    + + Starship Technology LLC.
    + OSS Management
    + 7829 Montague Expressway
    + Santa Clara, CA 95031
    + USA
    + +

    The Starship Technology website www.dejacode.com also + contains information regarding Starship Technology's use of open + source. Starship Technology has created the www.dejacode.org to + serve as a portal for interaction with the software + community-at-large.

    + +

    This document contains additional information regarding + licenses, acknowledgments and required copyright notices for + open source packages used in this Starship Technology product. + This Starship Technology product contains the following open + source software components

    + +
    + +
    + +

    Underscore.string 2.3.3

    + +

    html5shiv 3.7.0

    + +

    ElasticSearch 1.6.0

    + +

    spin.js 1.3.2

    + +

    bootstrap 2.3.2

    + +

    RequireJS 2.1.15

    + +

    DataTables FixedHeader 2.0.10-dev

    + +

    jQuery treetable 3.2.0

    + +

    text 2.0.10

    + +

    Annotator 1.2.10

    + +

    mod_wsgi 3.4

    + +

    Underscore.js 1.6.0

    + +

    jsPlumb 1.7.2

    + +

    ElasticSearch 1.6.0

    + +

    Ember.js 1.12.1

    + +

    djangosnippets.org_2413 2011-04-12

    + +

    jQuery 1.11.2

    + +

    Font Awesome 3.2.0

    + +

    Django Debug Toolbar 1.3.2

    + +

    django-adminactions 0.7

    + +

    Django REST framework 3.2.3

    + +

    Pygments 2.0.2

    + +

    Selenium 2.47.3

    + +

    pytz 2015.6

    + +

    wheel 0.26.0

    + +

    PyYAML 3.11

    + +

    python-memcached 1.53

    + +

    virtualenv 12.0.5

    + +

    ABOUT tool 0.9.0

    + +

    Beautiful Soup 4.4.0

    + +

    Django 1.8.4

    + +

    anyjson 0.3.3

    + +

    pyreadline 2.0

    + +

    gnureadline 6.3.3

    + +

    urllib3 1.12

    + +

    pycrypto 2.6

    + +

    python-social-auth 0.2.12

    + +

    psycopg2 2.5.4

    + +

    funcparserlib 0.3.6

    + +

    python-ldap 2.4.20

    + +

    ecdsa 0.13

    + +

    django-filter 0.11.0

    + +

    pycrypto 2.6.1

    + +

    PyJWT 1.4.0

    + +

    psycopg2 2.6.1

    + +

    django-crispy-forms 1.5.2

    + +

    unicodecsv 0.14.0

    + +

    django-haystack 2.4.0

    + +

    mock 1.0.1

    + +

    django-debreach 1.2.1

    + +

    six 1.9.0

    + +

    setuptools 18.3.2

    + +

    django-auth-ldap 1.2.6

    + +

    python-ldap 2.4.20

    + +

    certifi 2015.9.6.2

    + +

    model_mommy 1.2.5

    + +

    paramiko 1.15.2

    + +

    celery 3.1.18

    + +

    mockldap 0.2.5

    + +

    Fabric 1.10.2

    + +

    python-dateutil 2.4.2

    + +

    pycrypto 2.6.1

    + +

    billiard 3.3.0.20

    + +

    oauthlib 1.0.3

    + +

    kombu 3.0.26

    + +

    django-reversion 1.8.7

    + +

    django-extensions 1.5.7

    + +

    requests 2.7.0

    + +

    django-haystack-panel 0.2.1

    + +

    Supervisor 3.1.3

    + +

    Whoosh 2.7.0

    + +

    django-tastypie 0.12.2

    + +

    python-mimeparse 0.1.4

    + +

    amqp 1.4.6

    + +

    requests-oauthlib 0.5.0

    + +

    Grappelli 2.7.1

    + +

    sqlparse 0.1.16

    + +

    elasticsearch-py 1.6.0

    + +

    virtualenv 12.0.5

    + +

    meld3 1.0.2

    + +

    pyaml 15.8.2

    + +

    python-openid 2.2.5

    + +

    pip 7.1.2

    + +

    natsort 4.0.3

    + +

    wincertstore 0.2

    + +

    JNA 4.1.0

    + +

    Sigar 1.6.4

    + +

    ASM Commons 4.1

    + +

    Apache Log4J 1.2.17

    + +

    JTS Topology Suite 1.13

    + +

    ANTLR runtime 3.5

    + +

    Apache Lucene 4.10.4

    + +

    ASM 4.1

    + +

    Spatial4J 0.4.1

    + +

    Groovy 2.4.0

    + +
    + +
    + + +
    +

    Underscore.string + 2.3.3 +

    + + + + + +
    Copyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    + + +
    + +
    +

    html5shiv + 3.7.0 +

    + + + +
    /*
    + HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
    +*/
    + + + + +
    + +
    +

    ElasticSearch + 1.6.0 +

    + + +
    Copyright 2009-2014 Elasticsearch
    + + +
    Elasticsearch
    +Copyright 2009-2015 Elasticsearch
    +
    +This product includes software developed by The Apache Software
    +Foundation (http://www.apache.org/).
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    + + +
    + +
    +

    spin.js + 1.3.2 +

    + + + + + +
    The MIT License
    +
    +Copyright (c) 2011 Felix Gnass [fgnass at neteye dot de]
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    + + +
    + +
    +

    bootstrap + 2.3.2 +

    + + +
    Copyright 2012 Twitter, Inc.
    + + + + +
                                  Apache License
    +                        Version 2.0, January 2004
    +                     http://www.apache.org/licenses/
    +
    +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +1. Definitions.
    +
    +   "License" shall mean the terms and conditions for use, reproduction,
    +   and distribution as defined by Sections 1 through 9 of this document.
    +
    +   "Licensor" shall mean the copyright owner or entity authorized by
    +   the copyright owner that is granting the License.
    +
    +   "Legal Entity" shall mean the union of the acting entity and all
    +   other entities that control, are controlled by, or are under common
    +   control with that entity. For the purposes of this definition,
    +   "control" means (i) the power, direct or indirect, to cause the
    +   direction or management of such entity, whether by contract or
    +   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +   outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +   "You" (or "Your") shall mean an individual or Legal Entity
    +   exercising permissions granted by this License.
    +
    +   "Source" form shall mean the preferred form for making modifications,
    +   including but not limited to software source code, documentation
    +   source, and configuration files.
    +
    +   "Object" form shall mean any form resulting from mechanical
    +   transformation or translation of a Source form, including but
    +   not limited to compiled object code, generated documentation,
    +   and conversions to other media types.
    +
    +   "Work" shall mean the work of authorship, whether in Source or
    +   Object form, made available under the License, as indicated by a
    +   copyright notice that is included in or attached to the work
    +   (an example is provided in the Appendix below).
    +
    +   "Derivative Works" shall mean any work, whether in Source or Object
    +   form, that is based on (or derived from) the Work and for which the
    +   editorial revisions, annotations, elaborations, or other modifications
    +   represent, as a whole, an original work of authorship. For the purposes
    +   of this License, Derivative Works shall not include works that remain
    +   separable from, or merely link (or bind by name) to the interfaces of,
    +   the Work and Derivative Works thereof.
    +
    +   "Contribution" shall mean any work of authorship, including
    +   the original version of the Work and any modifications or additions
    +   to that Work or Derivative Works thereof, that is intentionally
    +   submitted to Licensor for inclusion in the Work by the copyright owner
    +   or by an individual or Legal Entity authorized to submit on behalf of
    +   the copyright owner. For the purposes of this definition, "submitted"
    +   means any form of electronic, verbal, or written communication sent
    +   to the Licensor or its representatives, including but not limited to
    +   communication on electronic mailing lists, source code control systems,
    +   and issue tracking systems that are managed by, or on behalf of, the
    +   Licensor for the purpose of discussing and improving the Work, but
    +   excluding communication that is conspicuously marked or otherwise
    +   designated in writing by the copyright owner as "Not a Contribution."
    +
    +   "Contributor" shall mean Licensor and any individual or Legal Entity
    +   on behalf of whom a Contribution has been received by Licensor and
    +   subsequently incorporated within the Work.
    +
    +2. Grant of Copyright License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   copyright license to reproduce, prepare Derivative Works of,
    +   publicly display, publicly perform, sublicense, and distribute the
    +   Work and such Derivative Works in Source or Object form.
    +
    +3. Grant of Patent License. Subject to the terms and conditions of
    +   this License, each Contributor hereby grants to You a perpetual,
    +   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +   (except as stated in this section) patent license to make, have made,
    +   use, offer to sell, sell, import, and otherwise transfer the Work,
    +   where such license applies only to those patent claims licensable
    +   by such Contributor that are necessarily infringed by their
    +   Contribution(s) alone or by combination of their Contribution(s)
    +   with the Work to which such Contribution(s) was submitted. If You
    +   institute patent litigation against any entity (including a
    +   cross-claim or counterclaim in a lawsuit) alleging that the Work
    +   or a Contribution incorporated within the Work constitutes direct
    +   or contributory patent infringement, then any patent licenses
    +   granted to You under this License for that Work shall terminate
    +   as of the date such litigation is filed.
    +
    +4. Redistribution. You may reproduce and distribute copies of the
    +   Work or Derivative Works thereof in any medium, with or without
    +   modifications, and in Source or Object form, provided that You
    +   meet the following conditions:
    +
    +   (a) You must give any other recipients of the Work or
    +       Derivative Works a copy of this License; and
    +
    +   (b) You must cause any modified files to carry prominent notices
    +       stating that You changed the files; and
    +
    +   (c) You must retain, in the Source form of any Derivative Works
    +       that You distribute, all copyright, patent, trademark, and
    +       attribution notices from the Source form of the Work,
    +       excluding those notices that do not pertain to any part of
    +       the Derivative Works; and
    +
    +   (d) If the Work includes a "NOTICE" text file as part of its
    +       distribution, then any Derivative Works that You distribute must
    +       include a readable copy of the attribution notices contained
    +       within such NOTICE file, excluding those notices that do not
    +       pertain to any part of the Derivative Works, in at least one
    +       of the following places: within a NOTICE text file distributed
    +       as part of the Derivative Works; within the Source form or
    +       documentation, if provided along with the Derivative Works; or,
    +       within a display generated by the Derivative Works, if and
    +       wherever such third-party notices normally appear. The contents
    +       of the NOTICE file are for informational purposes only and
    +       do not modify the License. You may add Your own attribution
    +       notices within Derivative Works that You distribute, alongside
    +       or as an addendum to the NOTICE text from the Work, provided
    +       that such additional attribution notices cannot be construed
    +       as modifying the License.
    +
    +   You may add Your own copyright statement to Your modifications and
    +   may provide additional or different license terms and conditions
    +   for use, reproduction, or distribution of Your modifications, or
    +   for any such Derivative Works as a whole, provided Your use,
    +   reproduction, and distribution of the Work otherwise complies with
    +   the conditions stated in this License.
    +
    +5. Submission of Contributions. Unless You explicitly state otherwise,
    +   any Contribution intentionally submitted for inclusion in the Work
    +   by You to the Licensor shall be under the terms and conditions of
    +   this License, without any additional terms or conditions.
    +   Notwithstanding the above, nothing herein shall supersede or modify
    +   the terms of any separate license agreement you may have executed
    +   with Licensor regarding such Contributions.
    +
    +6. Trademarks. This License does not grant permission to use the trade
    +   names, trademarks, service marks, or product names of the Licensor,
    +   except as required for reasonable and customary use in describing the
    +   origin of the Work and reproducing the content of the NOTICE file.
    +
    +7. Disclaimer of Warranty. Unless required by applicable law or
    +   agreed to in writing, Licensor provides the Work (and each
    +   Contributor provides its Contributions) on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +   implied, including, without limitation, any warranties or conditions
    +   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +   PARTICULAR PURPOSE. You are solely responsible for determining the
    +   appropriateness of using or redistributing the Work and assume any
    +   risks associated with Your exercise of permissions under this License.
    +
    +8. Limitation of Liability. In no event and under no legal theory,
    +   whether in tort (including negligence), contract, or otherwise,
    +   unless required by applicable law (such as deliberate and grossly
    +   negligent acts) or agreed to in writing, shall any Contributor be
    +   liable to You for damages, including any direct, indirect, special,
    +   incidental, or consequential damages of any character arising as a
    +   result of this License or out of the use or inability to use the
    +   Work (including but not limited to damages for loss of goodwill,
    +   work stoppage, computer failure or malfunction, or any and all
    +   other commercial damages or losses), even if such Contributor
    +   has been advised of the possibility of such damages.
    +
    +9. Accepting Warranty or Additional Liability. While redistributing
    +   the Work or Derivative Works thereof, You may choose to offer,
    +   and charge a fee for, acceptance of support, warranty, indemnity,
    +   or other liability obligations and/or rights consistent with this
    +   License. However, in accepting such obligations, You may act only
    +   on Your own behalf and on Your sole responsibility, not on behalf
    +   of any other Contributor, and only if You agree to indemnify,
    +   defend, and hold each Contributor harmless for any liability
    +   incurred by, or claims asserted against, such Contributor by reason
    +   of your accepting any such warranty or additional liability.
    +
    +END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    RequireJS + 2.1.15 +

    + + + + + +
    RequireJS is released under two licenses: new BSD, and MIT. You may pick the
    +license that best suits your development needs. The text of both licenses are
    +provided below.
    +
    +
    +The "New" BSD License:
    +----------------------
    +
    +Copyright (c) 2010-2014, The Dojo Foundation
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +  * Redistributions of source code must retain the above copyright notice, this
    +    list of conditions and the following disclaimer.
    +  * Redistributions in binary form must reproduce the above copyright notice,
    +    this list of conditions and the following disclaimer in the documentation
    +    and/or other materials provided with the distribution.
    +  * Neither the name of the Dojo Foundation nor the names of its contributors
    +    may be used to endorse or promote products derived from this software
    +    without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
    +
    +MIT License
    +-----------
    +
    +Copyright (c) 2010-2014, The Dojo Foundation
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    + + +
    + +
    +

    DataTables FixedHeader + 2.0.10-dev +

    + + +
    Copyright 2008-2012 Allan Jardine, all rights reserved.
    + + +
    /*
    + * File:        FixedHeader.nightly.min.js
    + * Version:     2.1.0-dev
    + * Author:      Allan Jardine (www.sprymedia.co.uk)
    + * Info:        www.datatables.net
    + *
    + * Copyright 2008-2012 Allan Jardine, all rights reserved.
    + *
    + * This source file is free software, under either the GPL v2 license or a
    + * BSD style license, available at:
    + *   http://datatables.net/license_gpl2
    + *   http://datatables.net/license_bsd
    + *
    + * This source file is distributed in the hope that it will be useful, but
    + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
    + */
    + + + + +
    + +
    +

    jQuery treetable + 3.2.0 +

    + + +
    This plugin is released under both the MIT and the GPLv2 license by Ludo van den Boom.
    + + + + +
    This plugin is released under both the MIT and the GPLv2 license by Ludo van den Boom.
    +
    +Copyright (c) 2013 Ludo van den Boom, http://ludovandenboom.com
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +GNU GENERAL PUBLIC LICENSE
    +Version 2, June 1991
    +Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    +Everyone is permitted to copy and distribute verbatim copies
    +of this license document, but changing it is not allowed.
    +Preamble
    +The licenses for most software are designed to take away your
    +freedom to share and change it. By contrast, the GNU General Public
    +License is intended to guarantee your freedom to share and change free
    +software--to make sure the software is free for all its users. This
    +General Public License applies to most of the Free Software
    +Foundation's software and to any other program whose authors commit to
    +using it. (Some other Free Software Foundation software is covered by
    +the GNU Lesser General Public License instead.) You can apply it to
    +your programs, too.
    +When we speak of free software, we are referring to freedom, not
    +price. Our General Public Licenses are designed to make sure that you
    +have the freedom to distribute copies of free software (and charge for
    +this service if you wish), that you receive source code or can get it
    +if you want it, that you can change the software or use pieces of it
    +in new free programs; and that you know you can do these things.
    +To protect your rights, we need to make restrictions that forbid
    +anyone to deny you these rights or to ask you to surrender the rights.
    +These restrictions translate to certain responsibilities for you if you
    +distribute copies of the software, or if you modify it.
    +For example, if you distribute copies of such a program, whether
    +gratis or for a fee, you must give the recipients all the rights that
    +you have. You must make sure that they, too, receive or can get the
    +source code. And you must show them these terms so they know their
    +rights.
    +We protect your rights with two steps: (1) copyright the software, and
    +(2) offer you this license which gives you legal permission to copy,
    +distribute and/or modify the software.
    +Also, for each author's protection and ours, we want to make certain
    +that everyone understands that there is no warranty for this free
    +software. If the software is modified by someone else and passed on, we
    +want its recipients to know that what they have is not the original, so
    +that any problems introduced by others will not reflect on the original
    +authors' reputations.
    +Finally, any free program is threatened constantly by software
    +patents. We wish to avoid the danger that redistributors of a free
    +program will individually obtain patent licenses, in effect making the
    +program proprietary. To prevent this, we have made it clear that any
    +patent must be licensed for everyone's free use or not licensed at all.
    +The precise terms and conditions for copying, distribution and
    +modification follow.
    +GNU GENERAL PUBLIC LICENSE
    +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +0. This License applies to any program or other work which contains
    +a notice placed by the copyright holder saying it may be distributed
    +under the terms of this General Public License. The "Program", below,
    +refers to any such program or work, and a "work based on the Program"
    +means either the Program or any derivative work under copyright law:
    +that is to say, a work containing the Program or a portion of it,
    +either verbatim or with modifications and/or translated into another
    +language. (Hereinafter, translation is included without limitation in
    +the term "modification".) Each licensee is addressed as "you".
    +Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope. The act of
    +running the Program is not restricted, and the output from the Program
    +is covered only if its contents constitute a work based on the
    +Program (independent of having been made by running the Program).
    +Whether that is true depends on what the Program does.
    +1. You may copy and distribute verbatim copies of the Program's
    +source code as you receive it, in any medium, provided that you
    +conspicuously and appropriately publish on each copy an appropriate
    +copyright notice and disclaimer of warranty; keep intact all the
    +notices that refer to this License and to the absence of any warranty;
    +and give any other recipients of the Program a copy of this License
    +along with the Program.
    +You may charge a fee for the physical act of transferring a copy, and
    +you may at your option offer warranty protection in exchange for a fee.
    +2. You may modify your copy or copies of the Program or any portion
    +of it, thus forming a work based on the Program, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +a) You must cause the modified files to carry prominent notices
    +stating that you changed the files and the date of any change.
    +b) You must cause any work that you distribute or publish, that in
    +whole or in part contains or is derived from the Program or any
    +part thereof, to be licensed as a whole at no charge to all third
    +parties under the terms of this License.
    +c) If the modified program normally reads commands interactively
    +when run, you must cause it, when started running for such
    +interactive use in the most ordinary way, to print or display an
    +announcement including an appropriate copyright notice and a
    +notice that there is no warranty (or else, saying that you provide
    +a warranty) and that users may redistribute the program under
    +these conditions, and telling the user how to view a copy of this
    +License. (Exception: if the Program itself is interactive but
    +does not normally print such an announcement, your work based on
    +the Program is not required to print an announcement.)
    +These requirements apply to the modified work as a whole. If
    +identifiable sections of that work are not derived from the Program,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works. But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Program, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote it.
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Program.
    +In addition, mere aggregation of another work not based on the Program
    +with the Program (or with a work based on the Program) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +3. You may copy and distribute the Program (or a work based on it,
    +under Section 2) in object code or executable form under the terms of
    +Sections 1 and 2 above provided that you also do one of the following:
    +a) Accompany it with the complete corresponding machine-readable
    +source code, which must be distributed under the terms of Sections
    +1 and 2 above on a medium customarily used for software interchange; or,
    +b) Accompany it with a written offer, valid for at least three
    +years, to give any third party, for a charge no more than your
    +cost of physically performing source distribution, a complete
    +machine-readable copy of the corresponding source code, to be
    +distributed under the terms of Sections 1 and 2 above on a medium
    +customarily used for software interchange; or,
    +c) Accompany it with the information you received as to the offer
    +to distribute corresponding source code. (This alternative is
    +allowed only for noncommercial distribution and only if you
    +received the program in object code or executable form with such
    +an offer, in accord with Subsection b above.)
    +The source code for a work means the preferred form of the work for
    +making modifications to it. For an executable work, complete source
    +code means all the source code for all modules it contains, plus any
    +associated interface definition files, plus the scripts used to
    +control compilation and installation of the executable. However, as a
    +special exception, the source code distributed need not include
    +anything that is normally distributed (in either source or binary
    +form) with the major components (compiler, kernel, and so on) of the
    +operating system on which the executable runs, unless that component
    +itself accompanies the executable.
    +If distribution of executable or object code is made by offering
    +access to copy from a designated place, then offering equivalent
    +access to copy the source code from the same place counts as
    +distribution of the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +4. You may not copy, modify, sublicense, or distribute the Program
    +except as expressly provided under this License. Any attempt
    +otherwise to copy, modify, sublicense or distribute the Program is
    +void, and will automatically terminate your rights under this License.
    +However, parties who have received copies, or rights, from you under
    +this License will not have their licenses terminated so long as such
    +parties remain in full compliance.
    +5. You are not required to accept this License, since you have not
    +signed it. However, nothing else grants you permission to modify or
    +distribute the Program or its derivative works. These actions are
    +prohibited by law if you do not accept this License. Therefore, by
    +modifying or distributing the Program (or any work based on the
    +Program), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Program or works based on it.
    +6. Each time you redistribute the Program (or any work based on the
    +Program), the recipient automatically receives a license from the
    +original licensor to copy, distribute or modify the Program subject to
    +these terms and conditions. You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties to
    +this License.
    +7. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License. If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Program at all. For example, if a patent
    +license would not permit royalty-free redistribution of the Program by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Program.
    +If any portion of this section is held invalid or unenforceable under
    +any particular circumstance, the balance of the section is intended to
    +apply and the section as a whole is intended to apply in other
    +circumstances.
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system, which is
    +implemented by public license practices. Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +8. If the distribution and/or use of the Program is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Program under this License
    +may add an explicit geographical distribution limitation excluding
    +those countries, so that distribution is permitted only in or among
    +countries not thus excluded. In such case, this License incorporates
    +the limitation as if written in the body of this License.
    +9. The Free Software Foundation may publish revised and/or new versions
    +of the General Public License from time to time. Such new versions will
    +be similar in spirit to the present version, but may differ in detail to
    +address new problems or concerns.
    +Each version is given a distinguishing version number. If the Program
    +specifies a version number of this License which applies to it and "any
    +later version", you have the option of following the terms and conditions
    +either of that version or of any later version published by the Free
    +Software Foundation. If the Program does not specify a version number of
    +this License, you may choose any version ever published by the Free Software
    +Foundation.
    +10. If you wish to incorporate parts of the Program into other free
    +programs whose distribution conditions are different, write to the author
    +to ask for permission. For software which is copyrighted by the Free
    +Software Foundation, write to the Free Software Foundation; we sometimes
    +make exceptions for this. Our decision will be guided by the two goals
    +of preserving the free status of all derivatives of our free software and
    +of promoting the sharing and reuse of software generally.
    +NO WARRANTY
    +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
    +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
    +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
    +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    +REPAIR OR CORRECTION.
    +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGES.
    +
    +
    + + +
    + +
    +

    text + 2.0.10 +

    + + + + + +
    RequireJS is released under two licenses: new BSD, and MIT. You may pick the
    +license that best suits your development needs. The text of both licenses are
    +provided below.
    +
    +
    +The "New" BSD License:
    +----------------------
    +
    +Copyright (c) 2010-2011, The Dojo Foundation
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +  * Redistributions of source code must retain the above copyright notice, this
    +    list of conditions and the following disclaimer.
    +  * Redistributions in binary form must reproduce the above copyright notice,
    +    this list of conditions and the following disclaimer in the documentation
    +    and/or other materials provided with the distribution.
    +  * Neither the name of the Dojo Foundation nor the names of its contributors
    +    may be used to endorse or promote products derived from this software
    +    without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
    +
    +MIT License
    +-----------
    +
    +Copyright (c) 2010-2011, The Dojo Foundation
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    + + +
    + +
    +

    Annotator + 1.2.10 +

    + + + + + +
    # Annotator licensing terms
    +
    +Annotator is free software, and you may use it under the terms of either the
    +MIT or the GNU GPL licenses:
    +
    +## GNU GPLv3
    +
    +You can redistribute this program and/or modify it under the terms of the
    +GNU General Public License as published by the Free Software Foundation,
    +either version 3 of the License, or (at your option) any later version.
    +
    +This program is distributed in the hope that it will be useful,
    +but WITHOUT ANY WARRANTY; without even the implied warranty of
    +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +GNU General Public License for more details.
    +
    +You should have received a copy of the GNU General Public License
    +along with this program. See LICENSE-GPL, or, if this file is missing,
    +<http://www.gnu.org/licenses/>.
    +
    +## MIT
    +
    +You may use the software under the terms of the MIT license, which can be
    +found in LICENSE-MIT, or, if this file is missing,
    +<http://www.opensource.org/licenses/mit-license>.
    +
    + + +
    + +
    +

    mod_wsgi + 3.4 +

    + + + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    + + +
    + +
    +

    Underscore.js + 1.6.0 +

    + + +
    (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
    + + + + +
    Copyright (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative
    +Reporters & Editors
    +
    +Permission is hereby granted, free of charge, to any person
    +obtaining a copy of this software and associated documentation
    +files (the "Software"), to deal in the Software without
    +restriction, including without limitation the rights to use,
    +copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the
    +Software is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    +OTHER DEALINGS IN THE SOFTWARE.
    + + +
    + +
    +

    jsPlumb + 1.7.2 +

    + + + + + +
            GNU GENERAL PUBLIC LICENSE
    +           Version 2, June 1991
    +
    + Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    + 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +          Preamble
    +
    +  The licenses for most software are designed to take away your
    +freedom to share and change it.  By contrast, the GNU General Public
    +License is intended to guarantee your freedom to share and change free
    +software--to make sure the software is free for all its users.  This
    +General Public License applies to most of the Free Software
    +Foundation's software and to any other program whose authors commit to
    +using it.  (Some other Free Software Foundation software is covered by
    +the GNU Lesser General Public License instead.)  You can apply it to
    +your programs, too.
    +
    +  When we speak of free software, we are referring to freedom, not
    +price.  Our General Public Licenses are designed to make sure that you
    +have the freedom to distribute copies of free software (and charge for
    +this service if you wish), that you receive source code or can get it
    +if you want it, that you can change the software or use pieces of it
    +in new free programs; and that you know you can do these things.
    +
    +  To protect your rights, we need to make restrictions that forbid
    +anyone to deny you these rights or to ask you to surrender the rights.
    +These restrictions translate to certain responsibilities for you if you
    +distribute copies of the software, or if you modify it.
    +
    +  For example, if you distribute copies of such a program, whether
    +gratis or for a fee, you must give the recipients all the rights that
    +you have.  You must make sure that they, too, receive or can get the
    +source code.  And you must show them these terms so they know their
    +rights.
    +
    +  We protect your rights with two steps: (1) copyright the software, and
    +(2) offer you this license which gives you legal permission to copy,
    +distribute and/or modify the software.
    +
    +  Also, for each author's protection and ours, we want to make certain
    +that everyone understands that there is no warranty for this free
    +software.  If the software is modified by someone else and passed on, we
    +want its recipients to know that what they have is not the original, so
    +that any problems introduced by others will not reflect on the original
    +authors' reputations.
    +
    +  Finally, any free program is threatened constantly by software
    +patents.  We wish to avoid the danger that redistributors of a free
    +program will individually obtain patent licenses, in effect making the
    +program proprietary.  To prevent this, we have made it clear that any
    +patent must be licensed for everyone's free use or not licensed at all.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.
    +
    +        GNU GENERAL PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. This License applies to any program or other work which contains
    +a notice placed by the copyright holder saying it may be distributed
    +under the terms of this General Public License.  The "Program", below,
    +refers to any such program or work, and a "work based on the Program"
    +means either the Program or any derivative work under copyright law:
    +that is to say, a work containing the Program or a portion of it,
    +either verbatim or with modifications and/or translated into another
    +language.  (Hereinafter, translation is included without limitation in
    +the term "modification".)  Each licensee is addressed as "you".
    +
    +Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope.  The act of
    +running the Program is not restricted, and the output from the Program
    +is covered only if its contents constitute a work based on the
    +Program (independent of having been made by running the Program).
    +Whether that is true depends on what the Program does.
    +
    +  1. You may copy and distribute verbatim copies of the Program's
    +source code as you receive it, in any medium, provided that you
    +conspicuously and appropriately publish on each copy an appropriate
    +copyright notice and disclaimer of warranty; keep intact all the
    +notices that refer to this License and to the absence of any warranty;
    +and give any other recipients of the Program a copy of this License
    +along with the Program.
    +
    +You may charge a fee for the physical act of transferring a copy, and
    +you may at your option offer warranty protection in exchange for a fee.
    +
    +  2. You may modify your copy or copies of the Program or any portion
    +of it, thus forming a work based on the Program, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +
    +    a) You must cause the modified files to carry prominent notices
    +    stating that you changed the files and the date of any change.
    +
    +    b) You must cause any work that you distribute or publish, that in
    +    whole or in part contains or is derived from the Program or any
    +    part thereof, to be licensed as a whole at no charge to all third
    +    parties under the terms of this License.
    +
    +    c) If the modified program normally reads commands interactively
    +    when run, you must cause it, when started running for such
    +    interactive use in the most ordinary way, to print or display an
    +    announcement including an appropriate copyright notice and a
    +    notice that there is no warranty (or else, saying that you provide
    +    a warranty) and that users may redistribute the program under
    +    these conditions, and telling the user how to view a copy of this
    +    License.  (Exception: if the Program itself is interactive but
    +    does not normally print such an announcement, your work based on
    +    the Program is not required to print an announcement.)
    +
    +These requirements apply to the modified work as a whole.  If
    +identifiable sections of that work are not derived from the Program,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works.  But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Program, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote it.
    +
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Program.
    +
    +In addition, mere aggregation of another work not based on the Program
    +with the Program (or with a work based on the Program) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +
    +  3. You may copy and distribute the Program (or a work based on it,
    +under Section 2) in object code or executable form under the terms of
    +Sections 1 and 2 above provided that you also do one of the following:
    +
    +    a) Accompany it with the complete corresponding machine-readable
    +    source code, which must be distributed under the terms of Sections
    +    1 and 2 above on a medium customarily used for software interchange; or,
    +
    +    b) Accompany it with a written offer, valid for at least three
    +    years, to give any third party, for a charge no more than your
    +    cost of physically performing source distribution, a complete
    +    machine-readable copy of the corresponding source code, to be
    +    distributed under the terms of Sections 1 and 2 above on a medium
    +    customarily used for software interchange; or,
    +
    +    c) Accompany it with the information you received as to the offer
    +    to distribute corresponding source code.  (This alternative is
    +    allowed only for noncommercial distribution and only if you
    +    received the program in object code or executable form with such
    +    an offer, in accord with Subsection b above.)
    +
    +The source code for a work means the preferred form of the work for
    +making modifications to it.  For an executable work, complete source
    +code means all the source code for all modules it contains, plus any
    +associated interface definition files, plus the scripts used to
    +control compilation and installation of the executable.  However, as a
    +special exception, the source code distributed need not include
    +anything that is normally distributed (in either source or binary
    +form) with the major components (compiler, kernel, and so on) of the
    +operating system on which the executable runs, unless that component
    +itself accompanies the executable.
    +
    +If distribution of executable or object code is made by offering
    +access to copy from a designated place, then offering equivalent
    +access to copy the source code from the same place counts as
    +distribution of the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +
    +  4. You may not copy, modify, sublicense, or distribute the Program
    +except as expressly provided under this License.  Any attempt
    +otherwise to copy, modify, sublicense or distribute the Program is
    +void, and will automatically terminate your rights under this License.
    +However, parties who have received copies, or rights, from you under
    +this License will not have their licenses terminated so long as such
    +parties remain in full compliance.
    +
    +  5. You are not required to accept this License, since you have not
    +signed it.  However, nothing else grants you permission to modify or
    +distribute the Program or its derivative works.  These actions are
    +prohibited by law if you do not accept this License.  Therefore, by
    +modifying or distributing the Program (or any work based on the
    +Program), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Program or works based on it.
    +
    +  6. Each time you redistribute the Program (or any work based on the
    +Program), the recipient automatically receives a license from the
    +original licensor to copy, distribute or modify the Program subject to
    +these terms and conditions.  You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties to
    +this License.
    +
    +  7. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Program at all.  For example, if a patent
    +license would not permit royalty-free redistribution of the Program by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Program.
    +
    +If any portion of this section is held invalid or unenforceable under
    +any particular circumstance, the balance of the section is intended to
    +apply and the section as a whole is intended to apply in other
    +circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system, which is
    +implemented by public license practices.  Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +
    +  8. If the distribution and/or use of the Program is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Program under this License
    +may add an explicit geographical distribution limitation excluding
    +those countries, so that distribution is permitted only in or among
    +countries not thus excluded.  In such case, this License incorporates
    +the limitation as if written in the body of this License.
    +
    +  9. The Free Software Foundation may publish revised and/or new versions
    +of the General Public License from time to time.  Such new versions will
    +be similar in spirit to the present version, but may differ in detail to
    +address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Program
    +specifies a version number of this License which applies to it and "any
    +later version", you have the option of following the terms and conditions
    +either of that version or of any later version published by the Free
    +Software Foundation.  If the Program does not specify a version number of
    +this License, you may choose any version ever published by the Free Software
    +Foundation.
    +
    +  10. If you wish to incorporate parts of the Program into other free
    +programs whose distribution conditions are different, write to the author
    +to ask for permission.  For software which is copyrighted by the Free
    +Software Foundation, write to the Free Software Foundation; we sometimes
    +make exceptions for this.  Our decision will be guided by the two goals
    +of preserving the free status of all derivatives of our free software and
    +of promoting the sharing and reuse of software generally.
    +
    +          NO WARRANTY
    +
    +  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    +REPAIR OR CORRECTION.
    +
    +  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGES.
    +
    +
    +
    +Copyright (c) 2010 - 2014 jsPlumb, http://jsplumbtoolkit.com/
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    + + +
    + +
    +

    ElasticSearch + 1.6.0 +

    + + +
    Copyright 2009-2015 Elasticsearch
    + + +
    Elasticsearch
    +Copyright 2009-2015 Elasticsearch
    +
    +This product includes software developed by The Apache Software
    +Foundation (http://www.apache.org/).
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    + + +
    + +
    +

    Ember.js + 1.12.1 +

    + + +
    Copyright (c) 2015 Yehuda Katz, Tom Dale and Ember.js contributors
    + + + + +
    Copyright (c) 2015 Yehuda Katz, Tom Dale and Ember.js contributors
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    +of the Software, and to permit persons to whom the Software is furnished to do
    +so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    + + +
    + +
    +

    djangosnippets.org_2413 + 2011-04-12 +

    + + + + + +
    Terms of Service
    +We hate legal-speak as much as anybody, but on a site which is geared toward sharing code there has to be at least a little bit of it, so here goes:
    +
    +By creating an account here you agree to three things:
    +
    +That you will only post code which you wrote yourself and that you have the legal right to release under these terms.
    +That you grant any third party who sees the code you post a royalty-free, non-exclusive license to copy and distribute that code and to make and distribute derivative works based on that code. You may include license terms in snippets you post, if you wish to use a particular license (such as the BSD license or GNU GPL), but that license must permit royalty-free copying, distribution and modification of the code to which it is applied.
    +That if you post code of which you are not the author or for which you do not have the legal right to distribute according to these terms, you will indemnify and hold harmless the operators of this site and any third parties who are exposed to liability as a result of your actions.
    +If you can't legally agree to these terms, or don't want to, you cannot create an account here.
    + + +
    + +
    +

    jQuery + 1.11.2 +

    + + +
    Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
    + + + + +
    Copyright 2014 jQuery Foundation and other contributors
    +http://jquery.com/
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    + + +
    + +
    +

    Font Awesome + 3.2.0 +

    + + + +
    The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL.
    +Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html.
    +The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
    +Attribution is no longer required in Font Awesome 3.0, but much appreciated: Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome.
    +
    + + + + +
    + +
    +

    Django Debug Toolbar + 1.3.2 +

    + + +
    Copyright (c) Rob Hudson and individual contributors.
    + + + + +
    Copyright (c) Rob Hudson and individual contributors.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    1. Redistributions of source code must retain the above copyright notice, 
    +       this list of conditions and the following disclaimer.
    +    
    +    2. Redistributions in binary form must reproduce the above copyright 
    +       notice, this list of conditions and the following disclaimer in the
    +       documentation and/or other materials provided with the distribution.
    +
    +    3. Neither the name of Django nor the names of its contributors may be used
    +       to endorse or promote products derived from this software without
    +       specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    django-adminactions + 0.7 +

    + + +
    Copyright (c) 2010, Stefano Apostolico (s.apostolico@gmail.com)
    + + + + +
    * Copyright (c) 2010, Stefano Apostolico (s.apostolico@gmail.com)
    +* Dual licensed under the MIT or GPL Version 2 licenses.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    1. Redistributions of source code must retain the above copyright notice,
    +       this list of conditions and the following disclaimer.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    Django REST framework + 3.2.3 +

    + + +
    Copyright (c) 2011-2014, Tom Christie
    + + + + +
    Copyright (c) 2011-2014, Tom Christie
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +Redistributions in binary form must reproduce the above copyright notice, this
    +list of conditions and the following disclaimer in the documentation and/or
    +other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    Pygments + 2.0.2 +

    + + +
    Copyright (c) 2006-2014 by the respective authors (see AUTHORS file).
    + + + + +
    Copyright (c) 2006-2014 by the respective authors (see AUTHORS file).
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +* Redistributions of source code must retain the above copyright
    +  notice, this list of conditions and the following disclaimer.
    +
    +* Redistributions in binary form must reproduce the above copyright
    +  notice, this list of conditions and the following disclaimer in the
    +  documentation and/or other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    Selenium + 2.47.3 +

    + + +
    Copyright 2011 Software Freedom Conservancy.
    + + +
    Copyright 2011 Software Freedom Conservancy.
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    pytz + 2015.6 +

    + + + + + +
    Copyright (c) 2003-2009 Stuart Bishop <stuart@stuartbishop.net>
    +
    +Permission is hereby granted, free of charge, to any person obtaining a
    +copy of this software and associated documentation files (the "Software"),
    +to deal in the Software without restriction, including without limitation
    +the rights to use, copy, modify, merge, publish, distribute, sublicense,
    +and/or sell copies of the Software, and to permit persons to whom the
    +Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    + + +
    + +
    +

    wheel + 0.26.0 +

    + + +
    copyright (c) 2012-2014 Daniel Holth  and contributors.
    + + + + +
    "wheel" copyright (c) 2012-2014 Daniel Holth <dholth@fastmail.fm> and
    +contributors.
    +
    +The MIT License
    +
    +Permission is hereby granted, free of charge, to any person obtaining a
    +copy of this software and associated documentation files (the "Software"),
    +to deal in the Software without restriction, including without limitation
    +the rights to use, copy, modify, merge, publish, distribute, sublicense,
    +and/or sell copies of the Software, and to permit persons to whom the
    +Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included
    +in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
    +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    +OTHER DEALINGS IN THE SOFTWARE.
    +
    + + +
    + +
    +

    PyYAML + 3.11 +

    + + +
    Copyright (c) 2006 Kirill Simonov
    + + + + +
    Copyright (c) 2006 Kirill Simonov
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    +of the Software, and to permit persons to whom the Software is furnished to do
    +so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    +
    + + +
    + +
    +

    python-memcached + 1.53 +

    + + + + + +
    A. HISTORY OF THE SOFTWARE
    +==========================
    +
    +Python was created in the early 1990s by Guido van Rossum at Stichting
    +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    +as a successor of a language called ABC.  Guido remains Python's
    +principal author, although it includes many contributions from others.
    +
    +In 1995, Guido continued his work on Python at the Corporation for
    +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    +in Reston, Virginia where he released several versions of the
    +software.
    +
    +In May 2000, Guido and the Python core development team moved to
    +BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    +year, the PythonLabs team moved to Digital Creations (now Zope
    +Corporation, see http://www.zope.com).  In 2001, the Python Software
    +Foundation (PSF, see http://www.python.org/psf/) was formed, a
    +non-profit organization created specifically to own Python-related
    +Intellectual Property.  Zope Corporation is a sponsoring member of
    +the PSF.
    +
    +All Python releases are Open Source (see http://www.opensource.org for
    +the Open Source Definition).  Historically, most, but not all, Python
    +releases have also been GPL-compatible; the table below summarizes
    +the various releases.
    +
    +    Release         Derived     Year        Owner       GPL-
    +                    from                                compatible? (1)
    +
    +    0.9.0 thru 1.2              1991-1995   CWI         yes
    +    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    +    1.6             1.5.2       2000        CNRI        no
    +    2.0             1.6         2000        BeOpen.com  no
    +    1.6.1           1.6         2001        CNRI        yes (2)
    +    2.1             2.0+1.6.1   2001        PSF         no
    +    2.0.1           2.0+1.6.1   2001        PSF         yes
    +    2.1.1           2.1+2.0.1   2001        PSF         yes
    +    2.2             2.1.1       2001        PSF         yes
    +    2.1.2           2.1.1       2002        PSF         yes
    +    2.1.3           2.1.2       2002        PSF         yes
    +    2.2.1           2.2         2002        PSF         yes
    +    2.2.2           2.2.1       2002        PSF         yes
    +    2.2.3           2.2.2       2003        PSF         yes
    +    2.3             2.2.2       2002-2003   PSF         yes
    +    2.3.1           2.3         2002-2003   PSF         yes
    +    2.3.2           2.3.1       2002-2003   PSF         yes
    +    2.3.3           2.3.2       2002-2003   PSF         yes
    +    2.3.4           2.3.3       2004        PSF         yes
    +    2.3.5           2.3.4       2005        PSF         yes
    +    2.4             2.3         2004        PSF         yes
    +    2.4.1           2.4         2005        PSF         yes
    +    2.4.2           2.4.1       2005        PSF         yes
    +    2.4.3           2.4.2       2006        PSF         yes
    +    2.4.4           2.4.3       2006        PSF         yes
    +    2.5             2.4         2006        PSF         yes
    +    2.5.1           2.5         2007        PSF         yes
    +    2.5.2           2.5.2       2008        PSF         yes
    +
    +Footnotes:
    +
    +(1) GPL-compatible doesn't mean that we're distributing Python under
    +    the GPL.  All Python licenses, unlike the GPL, let you distribute
    +    a modified version without making your changes open source.  The
    +    GPL-compatible licenses make it possible to combine Python with
    +    other software that is released under the GPL; the others don't.
    +
    +(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
    +    because its license has a choice of law clause.  According to
    +    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
    +    is "not incompatible" with the GPL.
    +
    +Thanks to the many outside volunteers who have worked under Guido's
    +direction to make these releases possible.
    +
    +
    +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    +===============================================================
    +
    +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
    +--------------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Python Software Foundation
    +("PSF"), and the Individual or Organization ("Licensee") accessing and
    +otherwise using this software ("Python") in source or binary form and
    +its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, PSF
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python
    +alone or in any derivative version, provided, however, that PSF's
    +License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; 
    +All Rights Reserved" are retained in Python alone or in any derivative 
    +version prepared by Licensee.
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python.
    +
    +4. PSF is making Python available to Licensee on an "AS IS"
    +basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. Nothing in this License Agreement shall be deemed to create any
    +relationship of agency, partnership, or joint venture between PSF and
    +Licensee.  This License Agreement does not grant permission to use PSF
    +trademarks or trade name in a trademark sense to endorse or promote
    +products or services of Licensee, or any third party.
    +
    +8. By copying, installing or otherwise using Python, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    +-------------------------------------------
    +
    +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    +
    +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    +Individual or Organization ("Licensee") accessing and otherwise using
    +this software in source or binary form and its associated
    +documentation ("the Software").
    +
    +2. Subject to the terms and conditions of this BeOpen Python License
    +Agreement, BeOpen hereby grants Licensee a non-exclusive,
    +royalty-free, world-wide license to reproduce, analyze, test, perform
    +and/or display publicly, prepare derivative works, distribute, and
    +otherwise use the Software alone or in any derivative version,
    +provided, however, that the BeOpen Python License is retained in the
    +Software, alone or in any derivative version prepared by Licensee.
    +
    +3. BeOpen is making the Software available to Licensee on an "AS IS"
    +basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +5. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +6. This License Agreement shall be governed by and interpreted in all
    +respects by the law of the State of California, excluding conflict of
    +law provisions.  Nothing in this License Agreement shall be deemed to
    +create any relationship of agency, partnership, or joint venture
    +between BeOpen and Licensee.  This License Agreement does not grant
    +permission to use BeOpen trademarks or trade names in a trademark
    +sense to endorse or promote products or services of Licensee, or any
    +third party.  As an exception, the "BeOpen Python" logos available at
    +http://www.pythonlabs.com/logos.html may be used according to the
    +permissions granted on that web page.
    +
    +7. By copying, installing or otherwise using the software, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    +---------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Corporation for National
    +Research Initiatives, having an office at 1895 Preston White Drive,
    +Reston, VA 20191 ("CNRI"), and the Individual or Organization
    +("Licensee") accessing and otherwise using Python 1.6.1 software in
    +source or binary form and its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, CNRI
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 1.6.1
    +alone or in any derivative version, provided, however, that CNRI's
    +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    +1995-2001 Corporation for National Research Initiatives; All Rights
    +Reserved" are retained in Python 1.6.1 alone or in any derivative
    +version prepared by Licensee.  Alternately, in lieu of CNRI's License
    +Agreement, Licensee may substitute the following text (omitting the
    +quotes): "Python 1.6.1 is made available subject to the terms and
    +conditions in CNRI's License Agreement.  This Agreement together with
    +Python 1.6.1 may be located on the Internet using the following
    +unique, persistent identifier (known as a handle): 1895.22/1013.  This
    +Agreement may also be obtained from a proxy server on the Internet
    +using the following URL: http://hdl.handle.net/1895.22/1013".
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 1.6.1 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 1.6.1.
    +
    +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    +basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. This License Agreement shall be governed by the federal
    +intellectual property law of the United States, including without
    +limitation the federal copyright law, and, to the extent such
    +U.S. federal law does not apply, by the law of the Commonwealth of
    +Virginia, excluding Virginia's conflict of law provisions.
    +Notwithstanding the foregoing, with regard to derivative works based
    +on Python 1.6.1 that incorporate non-separable material that was
    +previously distributed under the GNU General Public License (GPL), the
    +law of the Commonwealth of Virginia shall govern this License
    +Agreement only as to issues arising under or with respect to
    +Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    +License Agreement shall be deemed to create any relationship of
    +agency, partnership, or joint venture between CNRI and Licensee.  This
    +License Agreement does not grant permission to use CNRI trademarks or
    +trade name in a trademark sense to endorse or promote products or
    +services of Licensee, or any third party.
    +
    +8. By clicking on the "ACCEPT" button where indicated, or by copying,
    +installing or otherwise using Python 1.6.1, Licensee agrees to be
    +bound by the terms and conditions of this License Agreement.
    +
    +        ACCEPT
    +
    +
    +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    +--------------------------------------------------
    +
    +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    +The Netherlands.  All rights reserved.
    +
    +Permission to use, copy, modify, and distribute this software and its
    +documentation for any purpose and without fee is hereby granted,
    +provided that the above copyright notice appear in all copies and that
    +both that copyright notice and this permission notice appear in
    +supporting documentation, and that the name of Stichting Mathematisch
    +Centrum or CWI not be used in advertising or publicity pertaining to
    +distribution of the software without specific, written prior
    +permission.
    +
    +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +This copy of Python includes a copy of bzip2, which is licensed under the following terms:
    +
    +
    +This program, "bzip2", the associated library "libbzip2", and all
    +documentation, are copyright (C) 1996-2005 Julian R Seward.  All
    +rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +
    +1. Redistributions of source code must retain the above copyright
    +   notice, this list of conditions and the following disclaimer.
    +
    +2. The origin of this software must not be misrepresented; you must 
    +   not claim that you wrote the original software.  If you use this 
    +   software in a product, an acknowledgment in the product 
    +   documentation would be appreciated but is not required.
    +
    +3. Altered source versions must be plainly marked as such, and must
    +   not be misrepresented as being the original software.
    +
    +4. The name of the author may not be used to endorse or promote 
    +   products derived from this software without specific prior written 
    +   permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
    +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
    +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +Julian Seward, Cambridge, UK.
    +jseward@acm.org
    +bzip2/libbzip2 version 1.0.3 of 15 February 2005
    +
    +
    +This copy of Python includes a copy of db, which is licensed under the following terms:
    +
    +/*-
    + * $Id: LICENSE,v 12.1 2005/06/16 20:20:10 bostic Exp $
    + */
    +
    +The following is the license that applies to this copy of the Berkeley DB
    +software.  For a license to use the Berkeley DB software under conditions
    +other than those described here, or to purchase support for this software,
    +please contact Sleepycat Software by email at info@sleepycat.com, or on
    +the Web at http://www.sleepycat.com.
    +
    +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    +/*
    + * Copyright (c) 1990-2005
    + *	Sleepycat Software.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Redistributions in any form must be accompanied by information on
    + *    how to obtain complete source code for the DB software and any
    + *    accompanying software that uses the DB software.  The source code
    + *    must either be included in the distribution or be available for no
    + *    more than the cost of distribution plus a nominal fee, and must be
    + *    freely redistributable under reasonable conditions.  For an
    + *    executable file, complete source code means the source code for all
    + *    modules it contains.  It does not include source code for modules or
    + *    files that typically accompany the major components of the operating
    + *    system on which the executable file runs.
    + *
    + * THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY EXPRESS
    + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
    + * NON-INFRINGEMENT, ARE DISCLAIMED.  IN NO EVENT SHALL SLEEPYCAT SOFTWARE
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    + * THE POSSIBILITY OF SUCH DAMAGE.
    + */
    +/*
    + * Copyright (c) 1990, 1993, 1994, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +/*
    + * Copyright (c) 1995, 1996
    + *	The President and Fellows of Harvard University.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +
    +This copy of Python includes a copy of openssl, which is licensed under the following terms:
    +
    +
    +  LICENSE ISSUES
    +  ==============
    +
    +  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
    +  the OpenSSL License and the original SSLeay license apply to the toolkit.
    +  See below for the actual license texts. Actually both licenses are BSD-style
    +  Open Source licenses. In case of any license issues related to OpenSSL
    +  please contact openssl-core@openssl.org.
    +
    +  OpenSSL License
    +  ---------------
    +
    +/* ====================================================================
    + * Copyright (c) 1998-2005 The OpenSSL Project.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + *
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer. 
    + *
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in
    + *    the documentation and/or other materials provided with the
    + *    distribution.
    + *
    + * 3. All advertising materials mentioning features or use of this
    + *    software must display the following acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    + *
    + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    + *    endorse or promote products derived from this software without
    + *    prior written permission. For written permission, please contact
    + *    openssl-core@openssl.org.
    + *
    + * 5. Products derived from this software may not be called "OpenSSL"
    + *    nor may "OpenSSL" appear in their names without prior written
    + *    permission of the OpenSSL Project.
    + *
    + * 6. Redistributions of any form whatsoever must retain the following
    + *    acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    + * OF THE POSSIBILITY OF SUCH DAMAGE.
    + * ====================================================================
    + *
    + * This product includes cryptographic software written by Eric Young
    + * (eay@cryptsoft.com).  This product includes software written by Tim
    + * Hudson (tjh@cryptsoft.com).
    + *
    + */
    +
    + Original SSLeay License
    + -----------------------
    +
    +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    + * All rights reserved.
    + *
    + * This package is an SSL implementation written
    + * by Eric Young (eay@cryptsoft.com).
    + * The implementation was written so as to conform with Netscapes SSL.
    + * 
    + * This library is free for commercial and non-commercial use as long as
    + * the following conditions are aheared to.  The following conditions
    + * apply to all code found in this distribution, be it the RC4, RSA,
    + * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    + * included with this distribution is covered by the same copyright terms
    + * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    + * 
    + * Copyright remains Eric Young's, and as such any Copyright notices in
    + * the code are not to be removed.
    + * If this package is used in a product, Eric Young should be given attribution
    + * as the author of the parts of the library used.
    + * This can be in the form of a textual message at program startup or
    + * in documentation (online or textual) provided with the package.
    + * 
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *    "This product includes cryptographic software written by
    + *     Eric Young (eay@cryptsoft.com)"
    + *    The word 'cryptographic' can be left out if the rouines from the library
    + *    being used are not cryptographic related :-).
    + * 4. If you include any Windows specific code (or a derivative thereof) from 
    + *    the apps directory (application code) you must include an acknowledgement:
    + *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    + * 
    + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + * 
    + * The licence and distribution terms for any publically available version or
    + * derivative of this code cannot be changed.  i.e. this code cannot simply be
    + * copied and put under another distribution licence
    + * [including the GNU Public Licence.]
    + */
    +
    +
    +This copy of Python includes a copy of tcl, which is licensed under the following terms:
    +
    +This software is copyrighted by the Regents of the University of
    +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
    +Corporation and other parties.  The following terms apply to all files
    +associated with the software unless explicitly disclaimed in
    +individual files.
    +
    +The authors hereby grant permission to use, copy, modify, distribute,
    +and license this software and its documentation for any purpose, provided
    +that existing copyright notices are retained in all copies and that this
    +notice is included verbatim in any distributions. No written agreement,
    +license, or royalty fee is required for any of the authorized uses.
    +Modifications to this software may be copyrighted by their authors
    +and need not follow the licensing terms described here, provided that
    +the new terms are clearly indicated on the first page of each file where
    +they apply.
    +
    +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    +
    +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    +MODIFICATIONS.
    +
    +GOVERNMENT USE: If you are acquiring this software on behalf of the
    +U.S. government, the Government shall have only "Restricted Rights"
    +in the software and related documentation as defined in the Federal 
    +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    +are acquiring the software on behalf of the Department of Defense, the
    +software shall be classified as "Commercial Computer Software" and the
    +Government shall have only "Restricted Rights" as defined in Clause
    +252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    +authors grant the U.S. Government and others acting in its behalf
    +permission to use and distribute the software in accordance with the
    +terms specified in this license. 
    +
    +This copy of Python includes a copy of tk, which is licensed under the following terms:
    +
    +This software is copyrighted by the Regents of the University of
    +California, Sun Microsystems, Inc., and other parties.  The following
    +terms apply to all files associated with the software unless explicitly
    +disclaimed in individual files.
    +
    +The authors hereby grant permission to use, copy, modify, distribute,
    +and license this software and its documentation for any purpose, provided
    +that existing copyright notices are retained in all copies and that this
    +notice is included verbatim in any distributions. No written agreement,
    +license, or royalty fee is required for any of the authorized uses.
    +Modifications to this software may be copyrighted by their authors
    +and need not follow the licensing terms described here, provided that
    +the new terms are clearly indicated on the first page of each file where
    +they apply.
    +
    +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    +
    +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    +MODIFICATIONS.
    +
    +GOVERNMENT USE: If you are acquiring this software on behalf of the
    +U.S. government, the Government shall have only "Restricted Rights"
    +in the software and related documentation as defined in the Federal 
    +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    +are acquiring the software on behalf of the Department of Defense, the
    +software shall be classified as "Commercial Computer Software" and the
    +Government shall have only "Restricted Rights" as defined in Clause
    +252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    +authors grant the U.S. Government and others acting in its behalf
    +permission to use and distribute the software in accordance with the
    +terms specified in this license.
    +
    + + +
    + +
    +

    virtualenv + 12.0.5 +

    + + +
    Copyright (c) 2007 Ian Bicking and Contributors
    +Copyright (c) 2009 Ian Bicking, The Open Planning Project
    +Copyright (c) 2011-2015 The virtualenv developers
    + + + + +
    Copyright (c) 2007 Ian Bicking and Contributors
    +Copyright (c) 2009 Ian Bicking, The Open Planning Project
    +Copyright (c) 2011-2014 The virtualenv developers
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    + + +
    + +
    +

    ABOUT tool + 0.9.0 +

    + + +
    Copyright (c) 2014 nexB, Inc.
    + + +
     Copyright (c) 2014 nexB, Inc. http://www.nexb.com/ - All rights reserved.
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +    http://www.apache.org/licenses/LICENSE-2.0
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    Beautiful Soup + 4.4.0 +

    + + + + + +
    Beautiful Soup is made available under the MIT license:
    +
    + Copyright (c) 2004-2012 Leonard Richardson
    +
    + Permission is hereby granted, free of charge, to any person obtaining
    + a copy of this software and associated documentation files (the
    + "Software"), to deal in the Software without restriction, including
    + without limitation the rights to use, copy, modify, merge, publish,
    + distribute, sublicense, and/or sell copies of the Software, and to
    + permit persons to whom the Software is furnished to do so, subject to
    + the following conditions:
    +
    + The above copyright notice and this permission notice shall be
    + included in all copies or substantial portions of the Software.
    +
    + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    + SOFTWARE, DAMMIT.
    +
    +Beautiful Soup incorporates code from the html5lib library, which is
    +also made available under the MIT license.
    +
    + + +
    + +
    +

    Django + 1.8.4 +

    + + + + + +
    Copyright (c) Django Software Foundation and individual contributors.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    1. Redistributions of source code must retain the above copyright notice, 
    +       this list of conditions and the following disclaimer.
    +    
    +    2. Redistributions in binary form must reproduce the above copyright 
    +       notice, this list of conditions and the following disclaimer in the
    +       documentation and/or other materials provided with the distribution.
    +
    +    3. Neither the name of Django nor the names of its contributors may be used
    +       to endorse or promote products derived from this software without
    +       specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    anyjson + 0.3.3 +

    + + + + + +
    This software is licensed under the ``New BSD License``:
    +
    +Copyright (c) 2009, by the authors
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +      this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +      notice, this list of conditions and the following disclaimer in the
    +      documentation and/or other materials provided with the distribution.
    +
    +Neither the name of the authors nor the names of its contributors may be used
    +to endorse or promote products derived from this software without specific
    +prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
    +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    pyreadline + 2.0 +

    + + +
    Copyright (c) 2006 Jorgen Stenarson .
    +Copyright (c) 2003-2006 Gary Bishop
    +Copyright (c) 2003-2006 Jack Trainor
    + + + + +
    pyreadline copyright and licensing notes
    +========================================
    +
    +Unless indicated otherwise, files in this project are covered by a BSD-type
    +license, included below.
    +
    +Individual authors are the holders of the copyright for their code and are
    +listed in each file.
    +
    +Some files may be licensed under different conditions. Ultimately each file 
    +indicates clearly the conditions under which its author/authors have 
    +decided to publish the code.
    +
    +
    +pyreadline license
    +------------------
    +
    +pyreadline is released under a BSD-type license.
    +
    +Copyright (c) 2006 J�rgen Stenarson <jorgen.stenarson@bostream.nu>.
    +
    +Copyright (c) 2003-2006 Gary Bishop
    +
    +Copyright (c) 2003-2006 Jack Trainor
    +
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +  a. Redistributions of source code must retain the above copyright notice,
    +     this list of conditions and the following disclaimer.
    +
    +  b. Redistributions in binary form must reproduce the above copyright
    +     notice, this list of conditions and the following disclaimer in the
    +     documentation and/or other materials provided with the distribution.
    +
    +  c. Neither the name of the copyright holders nor the names of any
    +     contributors to this software may be used to endorse or promote products
    +     derived from this software without specific prior written permission.
    +
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
    +DAMAGE.
    +
    + + +
    + +
    +

    gnureadline + 6.3.3 +

    + + + + + +
                        GNU GENERAL PUBLIC LICENSE
    +                       Version 3, 29 June 2007
    +
    + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +                            Preamble
    +
    +  The GNU General Public License is a free, copyleft license for
    +software and other kinds of works.
    +
    +  The licenses for most software and other practical works are designed
    +to take away your freedom to share and change the works.  By contrast,
    +the GNU General Public License is intended to guarantee your freedom to
    +share and change all versions of a program--to make sure it remains free
    +software for all its users.  We, the Free Software Foundation, use the
    +GNU General Public License for most of our software; it applies also to
    +any other work released this way by its authors.  You can apply it to
    +your programs, too.
    +
    +  When we speak of free software, we are referring to freedom, not
    +price.  Our General Public Licenses are designed to make sure that you
    +have the freedom to distribute copies of free software (and charge for
    +them if you wish), that you receive source code or can get it if you
    +want it, that you can change the software or use pieces of it in new
    +free programs, and that you know you can do these things.
    +
    +  To protect your rights, we need to prevent others from denying you
    +these rights or asking you to surrender the rights.  Therefore, you have
    +certain responsibilities if you distribute copies of the software, or if
    +you modify it: responsibilities to respect the freedom of others.
    +
    +  For example, if you distribute copies of such a program, whether
    +gratis or for a fee, you must pass on to the recipients the same
    +freedoms that you received.  You must make sure that they, too, receive
    +or can get the source code.  And you must show them these terms so they
    +know their rights.
    +
    +  Developers that use the GNU GPL protect your rights with two steps:
    +(1) assert copyright on the software, and (2) offer you this License
    +giving you legal permission to copy, distribute and/or modify it.
    +
    +  For the developers' and authors' protection, the GPL clearly explains
    +that there is no warranty for this free software.  For both users' and
    +authors' sake, the GPL requires that modified versions be marked as
    +changed, so that their problems will not be attributed erroneously to
    +authors of previous versions.
    +
    +  Some devices are designed to deny users access to install or run
    +modified versions of the software inside them, although the manufacturer
    +can do so.  This is fundamentally incompatible with the aim of
    +protecting users' freedom to change the software.  The systematic
    +pattern of such abuse occurs in the area of products for individuals to
    +use, which is precisely where it is most unacceptable.  Therefore, we
    +have designed this version of the GPL to prohibit the practice for those
    +products.  If such problems arise substantially in other domains, we
    +stand ready to extend this provision to those domains in future versions
    +of the GPL, as needed to protect the freedom of users.
    +
    +  Finally, every program is threatened constantly by software patents.
    +States should not allow patents to restrict development and use of
    +software on general-purpose computers, but in those that do, we wish to
    +avoid the special danger that patents applied to a free program could
    +make it effectively proprietary.  To prevent this, the GPL assures that
    +patents cannot be used to render the program non-free.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.
    +
    +                       TERMS AND CONDITIONS
    +
    +  0. Definitions.
    +
    +  "This License" refers to version 3 of the GNU General Public License.
    +
    +  "Copyright" also means copyright-like laws that apply to other kinds of
    +works, such as semiconductor masks.
    +
    +  "The Program" refers to any copyrightable work licensed under this
    +License.  Each licensee is addressed as "you".  "Licensees" and
    +"recipients" may be individuals or organizations.
    +
    +  To "modify" a work means to copy from or adapt all or part of the work
    +in a fashion requiring copyright permission, other than the making of an
    +exact copy.  The resulting work is called a "modified version" of the
    +earlier work or a work "based on" the earlier work.
    +
    +  A "covered work" means either the unmodified Program or a work based
    +on the Program.
    +
    +  To "propagate" a work means to do anything with it that, without
    +permission, would make you directly or secondarily liable for
    +infringement under applicable copyright law, except executing it on a
    +computer or modifying a private copy.  Propagation includes copying,
    +distribution (with or without modification), making available to the
    +public, and in some countries other activities as well.
    +
    +  To "convey" a work means any kind of propagation that enables other
    +parties to make or receive copies.  Mere interaction with a user through
    +a computer network, with no transfer of a copy, is not conveying.
    +
    +  An interactive user interface displays "Appropriate Legal Notices"
    +to the extent that it includes a convenient and prominently visible
    +feature that (1) displays an appropriate copyright notice, and (2)
    +tells the user that there is no warranty for the work (except to the
    +extent that warranties are provided), that licensees may convey the
    +work under this License, and how to view a copy of this License.  If
    +the interface presents a list of user commands or options, such as a
    +menu, a prominent item in the list meets this criterion.
    +
    +  1. Source Code.
    +
    +  The "source code" for a work means the preferred form of the work
    +for making modifications to it.  "Object code" means any non-source
    +form of a work.
    +
    +  A "Standard Interface" means an interface that either is an official
    +standard defined by a recognized standards body, or, in the case of
    +interfaces specified for a particular programming language, one that
    +is widely used among developers working in that language.
    +
    +  The "System Libraries" of an executable work include anything, other
    +than the work as a whole, that (a) is included in the normal form of
    +packaging a Major Component, but which is not part of that Major
    +Component, and (b) serves only to enable use of the work with that
    +Major Component, or to implement a Standard Interface for which an
    +implementation is available to the public in source code form.  A
    +"Major Component", in this context, means a major essential component
    +(kernel, window system, and so on) of the specific operating system
    +(if any) on which the executable work runs, or a compiler used to
    +produce the work, or an object code interpreter used to run it.
    +
    +  The "Corresponding Source" for a work in object code form means all
    +the source code needed to generate, install, and (for an executable
    +work) run the object code and to modify the work, including scripts to
    +control those activities.  However, it does not include the work's
    +System Libraries, or general-purpose tools or generally available free
    +programs which are used unmodified in performing those activities but
    +which are not part of the work.  For example, Corresponding Source
    +includes interface definition files associated with source files for
    +the work, and the source code for shared libraries and dynamically
    +linked subprograms that the work is specifically designed to require,
    +such as by intimate data communication or control flow between those
    +subprograms and other parts of the work.
    +
    +  The Corresponding Source need not include anything that users
    +can regenerate automatically from other parts of the Corresponding
    +Source.
    +
    +  The Corresponding Source for a work in source code form is that
    +same work.
    +
    +  2. Basic Permissions.
    +
    +  All rights granted under this License are granted for the term of
    +copyright on the Program, and are irrevocable provided the stated
    +conditions are met.  This License explicitly affirms your unlimited
    +permission to run the unmodified Program.  The output from running a
    +covered work is covered by this License only if the output, given its
    +content, constitutes a covered work.  This License acknowledges your
    +rights of fair use or other equivalent, as provided by copyright law.
    +
    +  You may make, run and propagate covered works that you do not
    +convey, without conditions so long as your license otherwise remains
    +in force.  You may convey covered works to others for the sole purpose
    +of having them make modifications exclusively for you, or provide you
    +with facilities for running those works, provided that you comply with
    +the terms of this License in conveying all material for which you do
    +not control copyright.  Those thus making or running the covered works
    +for you must do so exclusively on your behalf, under your direction
    +and control, on terms that prohibit them from making any copies of
    +your copyrighted material outside their relationship with you.
    +
    +  Conveying under any other circumstances is permitted solely under
    +the conditions stated below.  Sublicensing is not allowed; section 10
    +makes it unnecessary.
    +
    +  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    +
    +  No covered work shall be deemed part of an effective technological
    +measure under any applicable law fulfilling obligations under article
    +11 of the WIPO copyright treaty adopted on 20 December 1996, or
    +similar laws prohibiting or restricting circumvention of such
    +measures.
    +
    +  When you convey a covered work, you waive any legal power to forbid
    +circumvention of technological measures to the extent such circumvention
    +is effected by exercising rights under this License with respect to
    +the covered work, and you disclaim any intention to limit operation or
    +modification of the work as a means of enforcing, against the work's
    +users, your or third parties' legal rights to forbid circumvention of
    +technological measures.
    +
    +  4. Conveying Verbatim Copies.
    +
    +  You may convey verbatim copies of the Program's source code as you
    +receive it, in any medium, provided that you conspicuously and
    +appropriately publish on each copy an appropriate copyright notice;
    +keep intact all notices stating that this License and any
    +non-permissive terms added in accord with section 7 apply to the code;
    +keep intact all notices of the absence of any warranty; and give all
    +recipients a copy of this License along with the Program.
    +
    +  You may charge any price or no price for each copy that you convey,
    +and you may offer support or warranty protection for a fee.
    +
    +  5. Conveying Modified Source Versions.
    +
    +  You may convey a work based on the Program, or the modifications to
    +produce it from the Program, in the form of source code under the
    +terms of section 4, provided that you also meet all of these conditions:
    +
    +    a) The work must carry prominent notices stating that you modified
    +    it, and giving a relevant date.
    +
    +    b) The work must carry prominent notices stating that it is
    +    released under this License and any conditions added under section
    +    7.  This requirement modifies the requirement in section 4 to
    +    "keep intact all notices".
    +
    +    c) You must license the entire work, as a whole, under this
    +    License to anyone who comes into possession of a copy.  This
    +    License will therefore apply, along with any applicable section 7
    +    additional terms, to the whole of the work, and all its parts,
    +    regardless of how they are packaged.  This License gives no
    +    permission to license the work in any other way, but it does not
    +    invalidate such permission if you have separately received it.
    +
    +    d) If the work has interactive user interfaces, each must display
    +    Appropriate Legal Notices; however, if the Program has interactive
    +    interfaces that do not display Appropriate Legal Notices, your
    +    work need not make them do so.
    +
    +  A compilation of a covered work with other separate and independent
    +works, which are not by their nature extensions of the covered work,
    +and which are not combined with it such as to form a larger program,
    +in or on a volume of a storage or distribution medium, is called an
    +"aggregate" if the compilation and its resulting copyright are not
    +used to limit the access or legal rights of the compilation's users
    +beyond what the individual works permit.  Inclusion of a covered work
    +in an aggregate does not cause this License to apply to the other
    +parts of the aggregate.
    +
    +  6. Conveying Non-Source Forms.
    +
    +  You may convey a covered work in object code form under the terms
    +of sections 4 and 5, provided that you also convey the
    +machine-readable Corresponding Source under the terms of this License,
    +in one of these ways:
    +
    +    a) Convey the object code in, or embodied in, a physical product
    +    (including a physical distribution medium), accompanied by the
    +    Corresponding Source fixed on a durable physical medium
    +    customarily used for software interchange.
    +
    +    b) Convey the object code in, or embodied in, a physical product
    +    (including a physical distribution medium), accompanied by a
    +    written offer, valid for at least three years and valid for as
    +    long as you offer spare parts or customer support for that product
    +    model, to give anyone who possesses the object code either (1) a
    +    copy of the Corresponding Source for all the software in the
    +    product that is covered by this License, on a durable physical
    +    medium customarily used for software interchange, for a price no
    +    more than your reasonable cost of physically performing this
    +    conveying of source, or (2) access to copy the
    +    Corresponding Source from a network server at no charge.
    +
    +    c) Convey individual copies of the object code with a copy of the
    +    written offer to provide the Corresponding Source.  This
    +    alternative is allowed only occasionally and noncommercially, and
    +    only if you received the object code with such an offer, in accord
    +    with subsection 6b.
    +
    +    d) Convey the object code by offering access from a designated
    +    place (gratis or for a charge), and offer equivalent access to the
    +    Corresponding Source in the same way through the same place at no
    +    further charge.  You need not require recipients to copy the
    +    Corresponding Source along with the object code.  If the place to
    +    copy the object code is a network server, the Corresponding Source
    +    may be on a different server (operated by you or a third party)
    +    that supports equivalent copying facilities, provided you maintain
    +    clear directions next to the object code saying where to find the
    +    Corresponding Source.  Regardless of what server hosts the
    +    Corresponding Source, you remain obligated to ensure that it is
    +    available for as long as needed to satisfy these requirements.
    +
    +    e) Convey the object code using peer-to-peer transmission, provided
    +    you inform other peers where the object code and Corresponding
    +    Source of the work are being offered to the general public at no
    +    charge under subsection 6d.
    +
    +  A separable portion of the object code, whose source code is excluded
    +from the Corresponding Source as a System Library, need not be
    +included in conveying the object code work.
    +
    +  A "User Product" is either (1) a "consumer product", which means any
    +tangible personal property which is normally used for personal, family,
    +or household purposes, or (2) anything designed or sold for incorporation
    +into a dwelling.  In determining whether a product is a consumer product,
    +doubtful cases shall be resolved in favor of coverage.  For a particular
    +product received by a particular user, "normally used" refers to a
    +typical or common use of that class of product, regardless of the status
    +of the particular user or of the way in which the particular user
    +actually uses, or expects or is expected to use, the product.  A product
    +is a consumer product regardless of whether the product has substantial
    +commercial, industrial or non-consumer uses, unless such uses represent
    +the only significant mode of use of the product.
    +
    +  "Installation Information" for a User Product means any methods,
    +procedures, authorization keys, or other information required to install
    +and execute modified versions of a covered work in that User Product from
    +a modified version of its Corresponding Source.  The information must
    +suffice to ensure that the continued functioning of the modified object
    +code is in no case prevented or interfered with solely because
    +modification has been made.
    +
    +  If you convey an object code work under this section in, or with, or
    +specifically for use in, a User Product, and the conveying occurs as
    +part of a transaction in which the right of possession and use of the
    +User Product is transferred to the recipient in perpetuity or for a
    +fixed term (regardless of how the transaction is characterized), the
    +Corresponding Source conveyed under this section must be accompanied
    +by the Installation Information.  But this requirement does not apply
    +if neither you nor any third party retains the ability to install
    +modified object code on the User Product (for example, the work has
    +been installed in ROM).
    +
    +  The requirement to provide Installation Information does not include a
    +requirement to continue to provide support service, warranty, or updates
    +for a work that has been modified or installed by the recipient, or for
    +the User Product in which it has been modified or installed.  Access to a
    +network may be denied when the modification itself materially and
    +adversely affects the operation of the network or violates the rules and
    +protocols for communication across the network.
    +
    +  Corresponding Source conveyed, and Installation Information provided,
    +in accord with this section must be in a format that is publicly
    +documented (and with an implementation available to the public in
    +source code form), and must require no special password or key for
    +unpacking, reading or copying.
    +
    +  7. Additional Terms.
    +
    +  "Additional permissions" are terms that supplement the terms of this
    +License by making exceptions from one or more of its conditions.
    +Additional permissions that are applicable to the entire Program shall
    +be treated as though they were included in this License, to the extent
    +that they are valid under applicable law.  If additional permissions
    +apply only to part of the Program, that part may be used separately
    +under those permissions, but the entire Program remains governed by
    +this License without regard to the additional permissions.
    +
    +  When you convey a copy of a covered work, you may at your option
    +remove any additional permissions from that copy, or from any part of
    +it.  (Additional permissions may be written to require their own
    +removal in certain cases when you modify the work.)  You may place
    +additional permissions on material, added by you to a covered work,
    +for which you have or can give appropriate copyright permission.
    +
    +  Notwithstanding any other provision of this License, for material you
    +add to a covered work, you may (if authorized by the copyright holders of
    +that material) supplement the terms of this License with terms:
    +
    +    a) Disclaiming warranty or limiting liability differently from the
    +    terms of sections 15 and 16 of this License; or
    +
    +    b) Requiring preservation of specified reasonable legal notices or
    +    author attributions in that material or in the Appropriate Legal
    +    Notices displayed by works containing it; or
    +
    +    c) Prohibiting misrepresentation of the origin of that material, or
    +    requiring that modified versions of such material be marked in
    +    reasonable ways as different from the original version; or
    +
    +    d) Limiting the use for publicity purposes of names of licensors or
    +    authors of the material; or
    +
    +    e) Declining to grant rights under trademark law for use of some
    +    trade names, trademarks, or service marks; or
    +
    +    f) Requiring indemnification of licensors and authors of that
    +    material by anyone who conveys the material (or modified versions of
    +    it) with contractual assumptions of liability to the recipient, for
    +    any liability that these contractual assumptions directly impose on
    +    those licensors and authors.
    +
    +  All other non-permissive additional terms are considered "further
    +restrictions" within the meaning of section 10.  If the Program as you
    +received it, or any part of it, contains a notice stating that it is
    +governed by this License along with a term that is a further
    +restriction, you may remove that term.  If a license document contains
    +a further restriction but permits relicensing or conveying under this
    +License, you may add to a covered work material governed by the terms
    +of that license document, provided that the further restriction does
    +not survive such relicensing or conveying.
    +
    +  If you add terms to a covered work in accord with this section, you
    +must place, in the relevant source files, a statement of the
    +additional terms that apply to those files, or a notice indicating
    +where to find the applicable terms.
    +
    +  Additional terms, permissive or non-permissive, may be stated in the
    +form of a separately written license, or stated as exceptions;
    +the above requirements apply either way.
    +
    +  8. Termination.
    +
    +  You may not propagate or modify a covered work except as expressly
    +provided under this License.  Any attempt otherwise to propagate or
    +modify it is void, and will automatically terminate your rights under
    +this License (including any patent licenses granted under the third
    +paragraph of section 11).
    +
    +  However, if you cease all violation of this License, then your
    +license from a particular copyright holder is reinstated (a)
    +provisionally, unless and until the copyright holder explicitly and
    +finally terminates your license, and (b) permanently, if the copyright
    +holder fails to notify you of the violation by some reasonable means
    +prior to 60 days after the cessation.
    +
    +  Moreover, your license from a particular copyright holder is
    +reinstated permanently if the copyright holder notifies you of the
    +violation by some reasonable means, this is the first time you have
    +received notice of violation of this License (for any work) from that
    +copyright holder, and you cure the violation prior to 30 days after
    +your receipt of the notice.
    +
    +  Termination of your rights under this section does not terminate the
    +licenses of parties who have received copies or rights from you under
    +this License.  If your rights have been terminated and not permanently
    +reinstated, you do not qualify to receive new licenses for the same
    +material under section 10.
    +
    +  9. Acceptance Not Required for Having Copies.
    +
    +  You are not required to accept this License in order to receive or
    +run a copy of the Program.  Ancillary propagation of a covered work
    +occurring solely as a consequence of using peer-to-peer transmission
    +to receive a copy likewise does not require acceptance.  However,
    +nothing other than this License grants you permission to propagate or
    +modify any covered work.  These actions infringe copyright if you do
    +not accept this License.  Therefore, by modifying or propagating a
    +covered work, you indicate your acceptance of this License to do so.
    +
    +  10. Automatic Licensing of Downstream Recipients.
    +
    +  Each time you convey a covered work, the recipient automatically
    +receives a license from the original licensors, to run, modify and
    +propagate that work, subject to this License.  You are not responsible
    +for enforcing compliance by third parties with this License.
    +
    +  An "entity transaction" is a transaction transferring control of an
    +organization, or substantially all assets of one, or subdividing an
    +organization, or merging organizations.  If propagation of a covered
    +work results from an entity transaction, each party to that
    +transaction who receives a copy of the work also receives whatever
    +licenses to the work the party's predecessor in interest had or could
    +give under the previous paragraph, plus a right to possession of the
    +Corresponding Source of the work from the predecessor in interest, if
    +the predecessor has it or can get it with reasonable efforts.
    +
    +  You may not impose any further restrictions on the exercise of the
    +rights granted or affirmed under this License.  For example, you may
    +not impose a license fee, royalty, or other charge for exercise of
    +rights granted under this License, and you may not initiate litigation
    +(including a cross-claim or counterclaim in a lawsuit) alleging that
    +any patent claim is infringed by making, using, selling, offering for
    +sale, or importing the Program or any portion of it.
    +
    +  11. Patents.
    +
    +  A "contributor" is a copyright holder who authorizes use under this
    +License of the Program or a work on which the Program is based.  The
    +work thus licensed is called the contributor's "contributor version".
    +
    +  A contributor's "essential patent claims" are all patent claims
    +owned or controlled by the contributor, whether already acquired or
    +hereafter acquired, that would be infringed by some manner, permitted
    +by this License, of making, using, or selling its contributor version,
    +but do not include claims that would be infringed only as a
    +consequence of further modification of the contributor version.  For
    +purposes of this definition, "control" includes the right to grant
    +patent sublicenses in a manner consistent with the requirements of
    +this License.
    +
    +  Each contributor grants you a non-exclusive, worldwide, royalty-free
    +patent license under the contributor's essential patent claims, to
    +make, use, sell, offer for sale, import and otherwise run, modify and
    +propagate the contents of its contributor version.
    +
    +  In the following three paragraphs, a "patent license" is any express
    +agreement or commitment, however denominated, not to enforce a patent
    +(such as an express permission to practice a patent or covenant not to
    +sue for patent infringement).  To "grant" such a patent license to a
    +party means to make such an agreement or commitment not to enforce a
    +patent against the party.
    +
    +  If you convey a covered work, knowingly relying on a patent license,
    +and the Corresponding Source of the work is not available for anyone
    +to copy, free of charge and under the terms of this License, through a
    +publicly available network server or other readily accessible means,
    +then you must either (1) cause the Corresponding Source to be so
    +available, or (2) arrange to deprive yourself of the benefit of the
    +patent license for this particular work, or (3) arrange, in a manner
    +consistent with the requirements of this License, to extend the patent
    +license to downstream recipients.  "Knowingly relying" means you have
    +actual knowledge that, but for the patent license, your conveying the
    +covered work in a country, or your recipient's use of the covered work
    +in a country, would infringe one or more identifiable patents in that
    +country that you have reason to believe are valid.
    +
    +  If, pursuant to or in connection with a single transaction or
    +arrangement, you convey, or propagate by procuring conveyance of, a
    +covered work, and grant a patent license to some of the parties
    +receiving the covered work authorizing them to use, propagate, modify
    +or convey a specific copy of the covered work, then the patent license
    +you grant is automatically extended to all recipients of the covered
    +work and works based on it.
    +
    +  A patent license is "discriminatory" if it does not include within
    +the scope of its coverage, prohibits the exercise of, or is
    +conditioned on the non-exercise of one or more of the rights that are
    +specifically granted under this License.  You may not convey a covered
    +work if you are a party to an arrangement with a third party that is
    +in the business of distributing software, under which you make payment
    +to the third party based on the extent of your activity of conveying
    +the work, and under which the third party grants, to any of the
    +parties who would receive the covered work from you, a discriminatory
    +patent license (a) in connection with copies of the covered work
    +conveyed by you (or copies made from those copies), or (b) primarily
    +for and in connection with specific products or compilations that
    +contain the covered work, unless you entered into that arrangement,
    +or that patent license was granted, prior to 28 March 2007.
    +
    +  Nothing in this License shall be construed as excluding or limiting
    +any implied license or other defenses to infringement that may
    +otherwise be available to you under applicable patent law.
    +
    +  12. No Surrender of Others' Freedom.
    +
    +  If conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot convey a
    +covered work so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you may
    +not convey it at all.  For example, if you agree to terms that obligate you
    +to collect a royalty for further conveying from those to whom you convey
    +the Program, the only way you could satisfy both those terms and this
    +License would be to refrain entirely from conveying the Program.
    +
    +  13. Use with the GNU Affero General Public License.
    +
    +  Notwithstanding any other provision of this License, you have
    +permission to link or combine any covered work with a work licensed
    +under version 3 of the GNU Affero General Public License into a single
    +combined work, and to convey the resulting work.  The terms of this
    +License will continue to apply to the part which is the covered work,
    +but the special requirements of the GNU Affero General Public License,
    +section 13, concerning interaction through a network will apply to the
    +combination as such.
    +
    +  14. Revised Versions of this License.
    +
    +  The Free Software Foundation may publish revised and/or new versions of
    +the GNU General Public License from time to time.  Such new versions will
    +be similar in spirit to the present version, but may differ in detail to
    +address new problems or concerns.
    +
    +  Each version is given a distinguishing version number.  If the
    +Program specifies that a certain numbered version of the GNU General
    +Public License "or any later version" applies to it, you have the
    +option of following the terms and conditions either of that numbered
    +version or of any later version published by the Free Software
    +Foundation.  If the Program does not specify a version number of the
    +GNU General Public License, you may choose any version ever published
    +by the Free Software Foundation.
    +
    +  If the Program specifies that a proxy can decide which future
    +versions of the GNU General Public License can be used, that proxy's
    +public statement of acceptance of a version permanently authorizes you
    +to choose that version for the Program.
    +
    +  Later license versions may give you additional or different
    +permissions.  However, no additional obligations are imposed on any
    +author or copyright holder as a result of your choosing to follow a
    +later version.
    +
    +  15. Disclaimer of Warranty.
    +
    +  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    +APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    +IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. Limitation of Liability.
    +
    +  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGES.
    +
    +  17. Interpretation of Sections 15 and 16.
    +
    +  If the disclaimer of warranty and limitation of liability provided
    +above cannot be given local legal effect according to their terms,
    +reviewing courts shall apply local law that most closely approximates
    +an absolute waiver of all civil liability in connection with the
    +Program, unless a warranty or assumption of liability accompanies a
    +copy of the Program in return for a fee.
    +
    +                     END OF TERMS AND CONDITIONS
    +
    +            How to Apply These Terms to Your New Programs
    +
    +  If you develop a new program, and you want it to be of the greatest
    +possible use to the public, the best way to achieve this is to make it
    +free software which everyone can redistribute and change under these terms.
    +
    +  To do so, attach the following notices to the program.  It is safest
    +to attach them to the start of each source file to most effectively
    +state the exclusion of warranty; and each file should have at least
    +the "copyright" line and a pointer to where the full notice is found.
    +
    +    <one line to give the program's name and a brief idea of what it does.>
    +    Copyright (C) <year>  <name of author>
    +
    +    This program is free software: you can redistribute it and/or modify
    +    it under the terms of the GNU General Public License as published by
    +    the Free Software Foundation, either version 3 of the License, or
    +    (at your option) any later version.
    +
    +    This program is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +    GNU General Public License for more details.
    +
    +    You should have received a copy of the GNU General Public License
    +    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +  If the program does terminal interaction, make it output a short
    +notice like this when it starts in an interactive mode:
    +
    +    <program>  Copyright (C) <year>  <name of author>
    +    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    +    This is free software, and you are welcome to redistribute it
    +    under certain conditions; type `show c' for details.
    +
    +The hypothetical commands `show w' and `show c' should show the appropriate
    +parts of the General Public License.  Of course, your program's commands
    +might be different; for a GUI interface, you would use an "about box".
    +
    +  You should also get your employer (if you work as a programmer) or school,
    +if any, to sign a "copyright disclaimer" for the program, if necessary.
    +For more information on this, and how to apply and follow the GNU GPL, see
    +<http://www.gnu.org/licenses/>.
    +
    +  The GNU General Public License does not permit incorporating your program
    +into proprietary programs.  If your program is a subroutine library, you
    +may consider it more useful to permit linking proprietary applications with
    +the library.  If this is what you want to do, use the GNU Lesser General
    +Public License instead of this License.  But first, please read
    +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
    +
    + + +
    + +
    +

    urllib3 + 1.12 +

    + + + + + +
    This is the MIT license: http://www.opensource.org/licenses/mit-license.php
    +
    +Copyright 2008-2013 Andrey Petrov and contributors (see CONTRIBUTORS.txt)
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of this
    +software and associated documentation files (the "Software"), to deal in the Software
    +without restriction, including without limitation the rights to use, copy, modify, merge,
    +publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
    +to whom the Software is furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all copies or
    +substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
    +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    +DEALINGS IN THE SOFTWARE.
    +
    + + +
    + +
    +

    pycrypto + 2.6 +

    + + + + + +
    Copyright and licensing of the Python Cryptography Toolkit ("PyCrypto"):
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    +
    +Previously, the copyright and/or licensing status of the Python
    +Cryptography Toolkit ("PyCrypto") had been somewhat ambiguous.  The
    +original intention of Andrew M. Kuchling and other contributors has
    +been to dedicate PyCrypto to the public domain, but that intention was
    +not necessarily made clear in the original disclaimer (see
    +LEGAL/copy/LICENSE.orig).
    +
    +Additionally, some files within PyCrypto had specified their own
    +licenses that differed from the PyCrypto license itself.  For example,
    +the original RIPEMD.c module simply had a copyright statement and
    +warranty disclaimer, without clearly specifying any license terms.
    +(An updated version on the author's website came with a license that
    +contained a GPL-incompatible advertising clause.)
    +
    +To rectify this situation for PyCrypto 2.1, the following steps have
    +been taken:
    +
    + 1. Obtaining explicit permission from the original contributors to
    +    dedicate their contributions to the public domain if they have not
    +    already done so.  (See the "LEGAL/copy/stmts" directory for
    +    contributors' statements.)
    +
    + 2. Replacing some modules with clearly-licensed code from other
    +    sources (e.g. the DES and DES3 modules were replaced with new ones
    +    based on Tom St. Denis's public-domain LibTomCrypt library.)
    +
    + 3. Replacing some modules with code written from scratch (e.g. the
    +    RIPEMD and Blowfish modules were re-implemented from their
    +    respective algorithm specifications without reference to the old
    +    implementations).
    +
    + 4. Removing some modules altogether without replacing them.
    +
    +To the best of our knowledge, with the exceptions noted below or
    +within the files themselves, the files that constitute PyCrypto are in
    +the public domain.  Most are distributed with the following notice:
    +
    +  The contents of this file are dedicated to the public domain.  To
    +  the extent that dedication to the public domain is not available,
    +  everyone is granted a worldwide, perpetual, royalty-free,
    +  non-exclusive license to exercise all rights associated with the
    +  contents of this file for any purpose whatsoever.
    +  No rights are reserved.
    +
    +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    +  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    +  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +  SOFTWARE.
    +
    +Exception:
    +
    + - Portions of HMAC.py and setup.py are derived from Python 2.2, and
    +   are therefore Copyright (c) 2001, 2002, 2003 Python Software
    +   Foundation (All Rights Reserved).  They are licensed by the PSF
    +   under the terms of the Python 2.2 license.  (See the file
    +   LEGAL/copy/LICENSE.python-2.2 for details.)
    +
    +EXPORT RESTRICTIONS:
    +
    +Note that the export or re-export of cryptographic software and/or
    +source code may be subject to regulation in your jurisdiction.
    +
    +
    +
    +==================================================================
    +LICENSE.python-2.2
    +LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    +LICENSE.libtom  LICENSE file from LibTomCrypt
    +stmts/          Statements by contributors
    +
    +==================================================================
    +LICENSE.python-2.2
    +
    +A. HISTORY OF THE SOFTWARE
    +==========================
    +
    +Python was created in the early 1990s by Guido van Rossum at Stichting
    +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    +as a successor of a language called ABC.  Guido remains Python's
    +principal author, although it includes many contributions from others.
    +
    +In 1995, Guido continued his work on Python at the Corporation for
    +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    +in Reston, Virginia where he released several versions of the
    +software.
    +
    +In May 2000, Guido and the Python core development team moved to
    +BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    +year, the PythonLabs team moved to Digital Creations (now Zope
    +Corporation, see http://www.zope.com).  In 2001, the Python Software
    +Foundation (PSF, see http://www.python.org/psf/) was formed, a
    +non-profit organization created specifically to own Python-related
    +Intellectual Property.  Zope Corporation is a sponsoring member of
    +the PSF.
    +
    +All Python releases are Open Source (see http://www.opensource.org for
    +the Open Source Definition).  Historically, most, but not all, Python
    +releases have also been GPL-compatible; the table below summarizes
    +the various releases.
    +
    +    Release         Derived     Year        Owner       GPL-
    +            from                                compatible? (1)
    +
    +    0.9.0 thru 1.2              1991-1995   CWI         yes
    +    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    +    1.6             1.5.2       2000        CNRI        no
    +    2.0             1.6         2000        BeOpen.com  no
    +    1.6.1           1.6         2001        CNRI        no
    +    2.1             2.0+1.6.1   2001        PSF         no
    +    2.0.1           2.0+1.6.1   2001        PSF         yes
    +    2.1.1           2.1+2.0.1   2001        PSF         yes
    +    2.2             2.1.1       2001        PSF         yes
    +    2.1.2           2.1.1       2002        PSF         yes
    +    2.1.3           2.1.2       2002        PSF         yes
    +    2.2.1           2.2         2002        PSF         yes
    +    2.2.2           2.2.1       2002        PSF         yes
    +    2.2.3           2.2.2       2003        PSF         yes
    +
    +Footnotes:
    +
    +(1) GPL-compatible doesn't mean that we're distributing Python under
    +    the GPL.  All Python licenses, unlike the GPL, let you distribute
    +    a modified version without making your changes open source.  The
    +    GPL-compatible licenses make it possible to combine Python with
    +    other software that is released under the GPL; the others don't.
    +
    +Thanks to the many outside volunteers who have worked under Guido's
    +direction to make these releases possible.
    +
    +
    +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    +===============================================================
    +
    +PSF LICENSE AGREEMENT FOR PYTHON 2.2.3
    +--------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Python Software Foundation
    +("PSF"), and the Individual or Organization ("Licensee") accessing and
    +otherwise using Python 2.2.3 software in source or binary form and its
    +associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, PSF
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 2.2.3
    +alone or in any derivative version, provided, however, that PSF's
    +License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
    +retained in Python 2.2.3 alone or in any derivative version prepared
    +by Licensee.
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 2.2.3 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 2.2.3.
    +
    +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
    +basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. Nothing in this License Agreement shall be deemed to create any
    +relationship of agency, partnership, or joint venture between PSF and
    +Licensee.  This License Agreement does not grant permission to use PSF
    +trademarks or trade name in a trademark sense to endorse or promote
    +products or services of Licensee, or any third party.
    +
    +8. By copying, installing or otherwise using Python 2.2.3, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    +-------------------------------------------
    +
    +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    +
    +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    +Individual or Organization ("Licensee") accessing and otherwise using
    +this software in source or binary form and its associated
    +documentation ("the Software").
    +
    +2. Subject to the terms and conditions of this BeOpen Python License
    +Agreement, BeOpen hereby grants Licensee a non-exclusive,
    +royalty-free, world-wide license to reproduce, analyze, test, perform
    +and/or display publicly, prepare derivative works, distribute, and
    +otherwise use the Software alone or in any derivative version,
    +provided, however, that the BeOpen Python License is retained in the
    +Software, alone or in any derivative version prepared by Licensee.
    +
    +3. BeOpen is making the Software available to Licensee on an "AS IS"
    +basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +5. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +6. This License Agreement shall be governed by and interpreted in all
    +respects by the law of the State of California, excluding conflict of
    +law provisions.  Nothing in this License Agreement shall be deemed to
    +create any relationship of agency, partnership, or joint venture
    +between BeOpen and Licensee.  This License Agreement does not grant
    +permission to use BeOpen trademarks or trade names in a trademark
    +sense to endorse or promote products or services of Licensee, or any
    +third party.  As an exception, the "BeOpen Python" logos available at
    +http://www.pythonlabs.com/logos.html may be used according to the
    +permissions granted on that web page.
    +
    +7. By copying, installing or otherwise using the software, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    +---------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Corporation for National
    +Research Initiatives, having an office at 1895 Preston White Drive,
    +Reston, VA 20191 ("CNRI"), and the Individual or Organization
    +("Licensee") accessing and otherwise using Python 1.6.1 software in
    +source or binary form and its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, CNRI
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 1.6.1
    +alone or in any derivative version, provided, however, that CNRI's
    +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    +1995-2001 Corporation for National Research Initiatives; All Rights
    +Reserved" are retained in Python 1.6.1 alone or in any derivative
    +version prepared by Licensee.  Alternately, in lieu of CNRI's License
    +Agreement, Licensee may substitute the following text (omitting the
    +quotes): "Python 1.6.1 is made available subject to the terms and
    +conditions in CNRI's License Agreement.  This Agreement together with
    +Python 1.6.1 may be located on the Internet using the following
    +unique, persistent identifier (known as a handle): 1895.22/1013.  This
    +Agreement may also be obtained from a proxy server on the Internet
    +using the following URL: http://hdl.handle.net/1895.22/1013".
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 1.6.1 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 1.6.1.
    +
    +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    +basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. This License Agreement shall be governed by the federal
    +intellectual property law of the United States, including without
    +limitation the federal copyright law, and, to the extent such
    +U.S. federal law does not apply, by the law of the Commonwealth of
    +Virginia, excluding Virginia's conflict of law provisions.
    +Notwithstanding the foregoing, with regard to derivative works based
    +on Python 1.6.1 that incorporate non-separable material that was
    +previously distributed under the GNU General Public License (GPL), the
    +law of the Commonwealth of Virginia shall govern this License
    +Agreement only as to issues arising under or with respect to
    +Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    +License Agreement shall be deemed to create any relationship of
    +agency, partnership, or joint venture between CNRI and Licensee.  This
    +License Agreement does not grant permission to use CNRI trademarks or
    +trade name in a trademark sense to endorse or promote products or
    +services of Licensee, or any third party.
    +
    +8. By clicking on the "ACCEPT" button where indicated, or by copying,
    +installing or otherwise using Python 1.6.1, Licensee agrees to be
    +bound by the terms and conditions of this License Agreement.
    +
    +        ACCEPT
    +
    +
    +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    +--------------------------------------------------
    +
    +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    +The Netherlands.  All rights reserved.
    +
    +Permission to use, copy, modify, and distribute this software and its
    +documentation for any purpose and without fee is hereby granted,
    +provided that the above copyright notice appear in all copies and that
    +both that copyright notice and this permission notice appear in
    +supporting documentation, and that the name of Stichting Mathematisch
    +Centrum or CWI not be used in advertising or publicity pertaining to
    +distribution of the software without specific, written prior
    +permission.
    +
    +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +
    +===================================================================
    +LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    +===================================================================
    +Distribute and use freely; there are no restrictions on further
    +dissemination and usage except those imposed by the laws of your
    +country of residence.  This software is provided "as is" without
    +warranty of fitness for use or suitability for any purpose, express
    +or implied. Use at your own risk or not at all.
    +===================================================================
    +
    +Incorporating the code into commercial products is permitted; you do
    +not have to make source available or contribute your changes back
    +(though that would be nice).
    +
    +--amk                                                             (www.amk.ca)
    +
    +
    +
    +LICENSE.libtom  LICENSE file from LibTomCrypt
    +===================================================================
    +LibTomCrypt is public domain.  As should all quality software be.
    +
    +Tom St Denis
    +
    +
    +
    +Statements by contributors
    +===================================================================
    +From dlitz@dlitz.net Sun Nov 23 00:17:22 2008
    +Date: Sun, 23 Nov 2008 00:17:22 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: "A. M. Kuchling" <amk@amk.ca>
    +Subject: PyCrypto license clarification
    +Message-ID: <20081123051722.GA29253@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: multipart/signed; micalg=pgp-sha1;
    +    protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4"
    +Content-Disposition: inline
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3461
    +Lines: 78
    +
    +
    +--YiEDa0DAkWCtVeE4
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +Content-Transfer-Encoding: quoted-printable
    +
    +Hi Andrew,
    +
    +People often ask me what license PyCrypto is covered by, if it's=20
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them. =20
    +The text in the current LICENSE file (quoted below) is not entirely clear=
    +=20
    +on the point of whether distributing modified versions is allowed.  (It=20
    +says "distribute and use", but not "modify".)
    +
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +     Distribute and use freely; there are no restrictions on further
    +     dissemination and usage except those imposed by the laws of your
    +     country of residence.  This software is provided "as is" without
    +     warranty of fitness for use or suitability for any purpose, express
    +     or implied. Use at your own risk or not at all.
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +     Incorporating the code into commercial products is permitted; you do
    +     not have to make source available or contribute your changes back
    +     (though that would be nice).
    +
    +     --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I'd like to take steps to move toward a=20
    +clearer licensing regime.  I'm asking as many copyright holders as I can=20
    +find, starting with you, if I can release PyCrypto under something clearer=
    +=20
    +and more standard.  Below, I have quoted a public domain dedication that=20
    +was recommended in _Intellectual Property and Open Source: A Practical=20
    +Guide to Protecting Code_, by Van Lindberg.
    +
    +May I, on your behalf, dedicate to the public domain your considerable=20
    +contributions to PyCrypto, with the following notice?
    +
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +     The contents of this file are dedicated to the public domain.  To the
    +     extent that dedication to the public domain is not available, everyone
    +     is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +     to exercise all rights associated with the contents of this file for
    +     any purpose whatsoever.  No rights are reserved.
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +Regards,
    +  - Dwayne
    +
    +--=20
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +--YiEDa0DAkWCtVeE4
    +Content-Type: application/pgp-signature; name="signature.asc"
    +Content-Description: Digital signature
    +Content-Disposition: inline
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.5 (GNU/Linux)
    +
    +iEYEARECAAYFAkko52IACgkQHBG4d+eAS0XPPQCfcyQ2DdAXKg9N7Z+jeSFFD5EZ
    +yloAn33a3ZjkteyJaTbzEqImOEW8JGpf
    +=aBEW
    +-----END PGP SIGNATURE-----
    +
    +--YiEDa0DAkWCtVeE4--
    +
    +From amk@amk.ca Sun Nov 23 07:51:59 2008
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <amk@amk.ca>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 5C2C75047D
    +    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 07:51:59 -0500 (EST)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id D632D10111
    +    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    +Received: (vmailmgr-postfix 12026 invoked by uid 1003); 23 Nov 2008 06:51:58 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (goedel.dlitz.net: domain of amk@amk.ca does not designate permitted sender hosts)
    +Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.7])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 97DC710105
    +    for <dlitz@dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    +Received: (qmail 3992 invoked from network); 23 Nov 2008 12:51:52 -0000
    +Received: from dsl092-163-165.wdc2.dsl.speakeasy.net (HELO localhost) (akuchling@[66.92.163.165])
    +          (envelope-sender <amk@amk.ca>)
    +          by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP
    +          for <dlitz@dlitz.net>; 23 Nov 2008 12:51:52 -0000
    +Date: Sun, 23 Nov 2008 07:51:34 -0500
    +From: "A.M. Kuchling" <amk@amk.ca>
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20081123125134.GA21239@amk.local>
    +Reply-To: amk@amk.ca
    +References: <20081123051722.GA29253@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii
    +Content-Disposition: inline
    +In-Reply-To: <20081123051722.GA29253@rivest.dlitz.net>
    +User-Agent: Mutt/1.5.13 (2006-08-11)
    +Status: RO
    +Content-Length: 537
    +Lines: 15
    +
    +> People often ask me what license PyCrypto is covered by, if it's 
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +> The text in the current LICENSE file (quoted below) is not entirely clear 
    +> on the point of whether distributing modified versions is allowed.  (It 
    +> says "distribute and use", but not "modify".)
    +
    +The intention is that it be public domain.
    +
    +> May I, on your behalf, dedicate to the public domain your considerable 
    +> contributions to PyCrypto, with the following notice?
    +
    +You may.
    +
    +--amk
    +
    +
    +================================================
    +From dlitz@dlitz.net Sat Feb 28 21:45:09 2009
    +Date: Sat, 28 Feb 2009 21:45:09 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Barry A Warsaw <barry@python.org>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090301024509.GA13195@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2535
    +
    +Hi Barry,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am 
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's 
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +The text in the current LICENSE file (quoted below) is not entirely clear 
    +on the point of whether distributing modified versions is allowed.  (It 
    +says "distribute and use", but not "modify".)
    +
    +  ===================================================================
    +  Distribute and use freely; there are no restrictions on further
    +  dissemination and usage except those imposed by the laws of your
    +  country of residence.  This software is provided "as is" without
    +  warranty of fitness for use or suitability for any purpose, express
    +  or implied. Use at your own risk or not at all.
    +  ===================================================================
    +
    +  Incorporating the code into commercial products is permitted; you do
    +  not have to make source available or contribute your changes back
    +  (though that would be nice).
    +
    +  --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a 
    +clearer licensing regime.  I am asking as many copyright holders as I can 
    +find if I can release PyCrypto under something clearer and more standard.  
    +Below, I have quoted a public domain dedication that was recommended in 
    +_Intellectual Property and Open Source: A Practical Guide to Protecting 
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    +Pointer, and Wim Lewis, and they have all approved the following dedication 
    +for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your 
    +behalf, dedicate to the public domain all your contributions to PyCrypto, 
    +with the following notice?
    +
    +  =======================================================================
    +  The contents of this file are dedicated to the public domain.  To the
    +  extent that dedication to the public domain is not available, everyone
    +  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +  to exercise all rights associated with the contents of this file for
    +  any purpose whatsoever.  No rights are reserved.
    +  =======================================================================
    +
    +Regards,
    +  - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +     Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From barry@python.org Mon Mar  2 11:29:39 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <barry@python.org>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 6E01AC6640B
    +    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 11:29:39 -0500 (EST)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 0644E1007A
    +    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 10:29:39 -0600 (CST)
    +Received: (vmailmgr-postfix 8668 invoked by uid 1003);  2 Mar 2009 10:29:39 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (python.org: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="barry@python.org"; helo=mail.wooz.org; client-ip=216.15.33.230
    +Received: from mail.wooz.org (216-15-33-230.c3-0.slvr-ubr2.lnh-slvr.md.static.cable.rcn.com [216.15.33.230])
    +    by goedel.dlitz.net (Postfix) with ESMTP id CCEA110073
    +    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 10:29:38 -0600 (CST)
    +Received: from snowdog.wooz.org (snowdog.wooz.org [192.168.11.202])
    +    by mail.wooz.org (Postfix) with ESMTPSA id ACE30E3C9F
    +    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 11:29:35 -0500 (EST)
    +Message-Id: <09BF1A39-B015-4820-97A3-8642490C8254@python.org>
    +From: Barry Warsaw <barry@python.org>
    +To: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +In-Reply-To: <20090301024509.GA13195@rivest.dlitz.net>
    +Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
    +Content-Transfer-Encoding: quoted-printable
    +Mime-Version: 1.0 (Apple Message framework v930.3)
    +Subject: Re: PyCrypto license clarification
    +Date: Mon, 2 Mar 2009 11:29:34 -0500
    +References: <20090301024509.GA13195@rivest.dlitz.net>
    +X-Pgp-Agent: GPGMail d55 (v55, Leopard)
    +X-Mailer: Apple Mail (2.930.3)
    +Status: RO
    +Content-Length: 869
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On Feb 28, 2009, at 9:45 PM, Dwayne C. Litzenberger wrote:
    +
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am =20=
    +
    +> working on a new release at http://www.pycrypto.org/.
    +
    +Great!  I'm glad to see someone taking up the mantle of this important =20=
    +
    +Python library.
    +
    +> I understand that you have made contributions to PyCrypto.  May I, =20
    +> on your behalf, dedicate to the public domain all your contributions =20=
    +
    +> to PyCrypto, with the following notice?
    +
    +Absolutely yes.
    +
    +Cheers,
    +Barry
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.9 (Darwin)
    +
    +iQCVAwUBSawJbnEjvBPtnXfVAQLZjgP/ecG+JdZwNvPJRfsa6rhY6+MHLDHI6agk
    +evkJnSJQAcVHlZnVlVeR5IXgvDUMakZjU4SOV7MqkhsKA9lIet7PaD9VSYgn3ra5
    +gElwI2DQDoOy5GExXMm74gqrrb1PCCbCRmpaYNo+DZohwHkeFBjbwDRA3wItOrH7
    +SK4w9VBJtfY=3D
    +=3DQduY
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +===================================================
    +From dlitz@dlitz.net Sat Feb 28 23:24:14 2009
    +Date: Sat, 28 Feb 2009 23:24:14 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Jeethu Rao <jeethurao@gmail.com>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090301042414.GA15122@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2513
    +
    +Hi Jeethu,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am 
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's 
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +The text in the current LICENSE file (quoted below) is not entirely clear 
    +on the point of whether distributing modified versions is allowed.  (It 
    +says "distribute and use", but not "modify".)
    +
    + ===================================================================
    + Distribute and use freely; there are no restrictions on further
    + dissemination and usage except those imposed by the laws of your
    + country of residence.  This software is provided "as is" without
    + warranty of fitness for use or suitability for any purpose, express
    + or implied. Use at your own risk or not at all.
    + ===================================================================
    +
    + Incorporating the code into commercial products is permitted; you do
    + not have to make source available or contribute your changes back
    + (though that would be nice).
    +
    + --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a 
    +clearer licensing regime.  I am asking as many copyright holders as I can 
    +find if I can release PyCrypto under something clearer and more standard.  
    +Below, I have quoted a public domain dedication that was recommended in 
    +_Intellectual Property and Open Source: A Practical Guide to Protecting 
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    +Pointer, and Wim Lewis, and they have all approved the following text for 
    +their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your 
    +behalf, dedicate to the public domain all your contributions to PyCrypto, 
    +with the following notice?
    +
    + =======================================================================
    + The contents of this file are dedicated to the public domain.  To the
    + extent that dedication to the public domain is not available, everyone
    + is granted a worldwide, perpetual, royalty-free, non-exclusive license
    + to exercise all rights associated with the contents of this file for
    + any purpose whatsoever.  No rights are reserved.
    + =======================================================================
    +
    +Regards,
    + - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +       Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From jeethurao@gmail.com Sun Mar  8 17:28:16 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <jeethurao@gmail.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 0CC83515D9
    +    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 17:28:16 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 4E58F450CB
    +    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 15:28:15 -0600 (CST)
    +Received: (vmailmgr-postfix 5011 invoked by uid 1003);  8 Mar 2009 15:28:15 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: pass (gmail.com ... _spf.google.com: 209.85.198.249 is authorized to use 'jeethurao@gmail.com' in 'mfrom' identity (mechanism 'ip4:209.85.128.0/17' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="jeethurao@gmail.com"; helo=rv-out-0708.google.com; client-ip=209.85.198.249
    +Received: from rv-out-0708.google.com (unknown [209.85.198.249])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 3C097449E7
    +    for <dlitz@dlitz.net>; Sun,  8 Mar 2009 15:28:12 -0600 (CST)
    +Received: by rv-out-0708.google.com with SMTP id k29so1252333rvb.26
    +        for <dlitz@dlitz.net>; Sun, 08 Mar 2009 14:27:56 -0700 (PDT)
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    +        d=gmail.com; s=gamma;
    +        h=domainkey-signature:mime-version:received:in-reply-to:references
    +         :date:message-id:subject:from:to:content-type;
    +        bh=YWy9U32WCU/ksRqukHwaOZyJQBUs4Yvt5mI20U6mI/g=;
    +        b=oMjI22lIxYiJKge2zNJW3rRiUi9LqFXmey5Wp0pLItuNF+X3duyfhopTuBAKw7MwVY
    +         B5E6VQuGVEyzBbNsctyVgq6DhQiQtouCLZymSViobmuDmKn5DtUKoxpDk0xCxQmHYaas
    +         L9/A6D3/J66kKrNBgX9mc0GPcZTviVFYkPR0Q=
    +DomainKey-Signature: a=rsa-sha1; c=nofws;
    +        d=gmail.com; s=gamma;
    +        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
    +         :content-type;
    +        b=Ym7CStuDEfJKay1AJyWZkZmJA1lnTcwCG6akBHAXLld8ht6PFcmlsffzZG8hJCIVJ8
    +         vljqcT+G6cywVTBw1pyGX7ECYzr0+vhGvgdpACGrs24zikHfpSSd5GFogzXaLVvGVH8p
    +         bqSHpfWKKtEP4gAQkiNeIq1GNtR2j8U3fnRyg=
    +MIME-Version: 1.0
    +Received: by 10.141.176.13 with SMTP id d13mr2656028rvp.231.1236547674677; 
    +    Sun, 08 Mar 2009 14:27:54 -0700 (PDT)
    +In-Reply-To: <20090301042414.GA15122@rivest.dlitz.net>
    +References: <20090301042414.GA15122@rivest.dlitz.net>
    +Date: Mon, 9 Mar 2009 02:57:54 +0530
    +Message-ID: <e3c0ddba0903081427p3a7b1058g417dd8624df68d6d@mail.gmail.com>
    +Subject: Re: PyCrypto license clarification
    +From: Jeethu Rao <jeethurao@gmail.com>
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Content-Type: multipart/alternative; boundary=000e0cd209d0e5a3d40464a23054
    +Status: RO
    +Content-Length: 7668
    +
    +--000e0cd209d0e5a3d40464a23054
    +Content-Type: text/plain; charset=ISO-8859-1
    +Content-Transfer-Encoding: 7bit
    +
    +Hi Dwayne,My contribution to pycrypto are very very minimal (The sha256
    +module, IIRC).
    +I'd be fine with the public domain license for PyCrypto.
    +
    +Jeethu Rao
    +PS: Apologies for the delay in my response.
    +I don't really check this email address all that often,
    +please direct any further correspondence to jeethu@jeethurao.com
    +
    +On Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <dlitz@dlitz.net>wrote:
    +
    +> Hi Jeethu,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +>
    +> People often ask me what license PyCrypto is covered by, if it's
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  The
    +> text in the current LICENSE file (quoted below) is not entirely clear on the
    +> point of whether distributing modified versions is allowed.  (It says
    +> "distribute and use", but not "modify".)
    +>
    +> ===================================================================
    +> Distribute and use freely; there are no restrictions on further
    +> dissemination and usage except those imposed by the laws of your
    +> country of residence.  This software is provided "as is" without
    +> warranty of fitness for use or suitability for any purpose, express
    +> or implied. Use at your own risk or not at all.
    +> ===================================================================
    +>
    +> Incorporating the code into commercial products is permitted; you do
    +> not have to make source available or contribute your changes back
    +> (though that would be nice).
    +>
    +> --amk                                                    (www.amk.ca)
    +>
    +> For the next PyCrypto release, I would like to take steps to move toward a
    +> clearer licensing regime.  I am asking as many copyright holders as I can
    +> find if I can release PyCrypto under something clearer and more standard.
    +>  Below, I have quoted a public domain dedication that was recommended in
    +> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +> Pointer, and Wim Lewis, and they have all approved the following text for
    +> their contributions.
    +>
    +> I understand that you have made contributions to PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +> with the following notice?
    +>
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +> Regards,
    +> - Dwayne
    +>
    +> --
    +> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>      Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>
    +
    +
    +
    +-- 
    +Jeethu Rao
    +
    +--000e0cd209d0e5a3d40464a23054
    +Content-Type: text/html; charset=ISO-8859-1
    +Content-Transfer-Encoding: quoted-printable
    +
    +Hi Dwayne,<div>My contribution to pycrypto are very very minimal (The sha25=
    +6 module, IIRC).</div><div>I&#39;d be fine with the public domain license f=
    +or PyCrypto.</div><div><br></div><div>Jeethu Rao</div><div>PS: Apologies fo=
    +r the delay in my response.=A0</div>
    +<div>I don&#39;t really check this email address all that often,</div><div>=
    +please direct any further correspondence to <a href=3D"mailto:jeethu@jeethu=
    +rao.com">jeethu@jeethurao.com</a><br><div><br><div class=3D"gmail_quote">On=
    + Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <span dir=3D"ltr">&lt;=
    +<a href=3D"mailto:dlitz@dlitz.net">dlitz@dlitz.net</a>&gt;</span> wrote:<br=
    +>
    +<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
    +x #ccc solid;padding-left:1ex;">Hi Jeethu,<br>
    +<br>
    +I am the new maintainer of the Python Cryptography Toolkit, and I am workin=
    +g on a new release at <a href=3D"http://www.pycrypto.org/" target=3D"_blank=
    +">http://www.pycrypto.org/</a>.<br>
    +<br>
    +People often ask me what license PyCrypto is covered by, if it&#39;s GPL-co=
    +mpatible, etc. =A0Right now, I&#39;m not really sure what to tell them. =A0=
    +The text in the current LICENSE file (quoted below) is not entirely clear o=
    +n the point of whether distributing modified versions is allowed. =A0(It sa=
    +ys &quot;distribute and use&quot;, but not &quot;modify&quot;.)<br>
    +
    +<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +Distribute and use freely; there are no restrictions on further<br>
    +dissemination and usage except those imposed by the laws of your<br>
    +country of residence. =A0This software is provided &quot;as is&quot; withou=
    +t<br>
    +warranty of fitness for use or suitability for any purpose, express<br>
    +or implied. Use at your own risk or not at all.<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +<br>
    +Incorporating the code into commercial products is permitted; you do<br>
    +not have to make source available or contribute your changes back<br>
    +(though that would be nice).<br>
    +<br>
    +--amk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
    +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(<a href=3D"http://www.amk.ca" target=3D=
    +"_blank">www.amk.ca</a>)<br>
    +<br>
    +For the next PyCrypto release, I would like to take steps to move toward a =
    +clearer licensing regime. =A0I am asking as many copyright holders as I can=
    + find if I can release PyCrypto under something clearer and more standard. =
    +=A0Below, I have quoted a public domain dedication that was recommended in =
    +_Intellectual Property and Open Source: A Practical Guide to Protecting Cod=
    +e_, by Van Lindberg. =A0I have already contacted A. M. Kuchling, Robey Poin=
    +ter, and Wim Lewis, and they have all approved the following text for their=
    + contributions.<br>
    +
    +<br>
    +I understand that you have made contributions to PyCrypto. =A0May I, on you=
    +r behalf, dedicate to the public domain all your contributions to PyCrypto,=
    + with the following notice?<br>
    +<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +The contents of this file are dedicated to the public domain. =A0To the<br>
    +extent that dedication to the public domain is not available, everyone<br>
    +is granted a worldwide, perpetual, royalty-free, non-exclusive license<br>
    +to exercise all rights associated with the contents of this file for<br>
    +any purpose whatsoever. =A0No rights are reserved.<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +<br>
    +Regards,<br>
    +- Dwayne<br><font color=3D"#888888">
    +<br>
    +-- <br>
    +Dwayne C. Litzenberger &lt;<a href=3D"mailto:dlitz@dlitz.net" target=3D"_bl=
    +ank">dlitz@dlitz.net</a>&gt;<br>
    + =A0 =A0 =A0Key-signing key =A0 - 19E1 1FE8 B3CF F273 ED17 =A04A24 928C EC1=
    +3 39C2 5CF7<br>
    +</font></blockquote></div><br><br clear=3D"all"><br>-- <br>Jeethu Rao<br>
    +</div></div>
    +
    +--000e0cd209d0e5a3d40464a23054--
    +
    +
    +=======================================================
    +From dlitz@dlitz.net Mon May  4 22:49:14 2009
    +Date: Mon, 4 May 2009 22:49:14 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Joris Bontje <joris@bontje.nl>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090505024914.GA9219@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2553
    +
    +Hi Joris,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +  ===================================================================
    +  Distribute and use freely; there are no restrictions on further
    +  dissemination and usage except those imposed by the laws of your
    +  country of residence.  This software is provided "as is" without
    +  warranty of fitness for use or suitability for any purpose, express
    +  or implied. Use at your own risk or not at all.
    +  ===================================================================
    +
    +  Incorporating the code into commercial products is permitted; you do
    +  not have to make source available or contribute your changes back
    +  (though that would be nice).
    +
    +  --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +have all approved the following dedication for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your
    +behalf, dedicate to the public domain all your contributions to PyCrypto,
    +with the following notice?
    +
    +  =======================================================================
    +  The contents of this file are dedicated to the public domain.  To the
    +  extent that dedication to the public domain is not available, everyone
    +  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +  to exercise all rights associated with the contents of this file for
    +  any purpose whatsoever.  No rights are reserved.
    +  =======================================================================
    +
    +Regards,
    + - Dwayne
    +
    +--
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From joris@bontje.nl Tue May  5 03:08:32 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <joris@bontje.nl>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 7AA4B9E5078
    +    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 03:08:32 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 2315B40583
    +    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 01:08:32 -0600 (CST)
    +Received: (vmailmgr-postfix 16890 invoked by uid 1003);  5 May 2009 01:08:32 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (bontje.nl: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="joris@bontje.nl"; helo=smtp6.versatel.nl; client-ip=62.58.50.97
    +Received: from smtp6.versatel.nl (smtp6.versatel.nl [62.58.50.97])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 2D76A4052C
    +    for <dlitz@dlitz.net>; Tue,  5 May 2009 01:08:30 -0600 (CST)
    +Received: (qmail 4224 invoked by uid 0); 5 May 2009 07:08:25 -0000
    +Received: from qmail06.zonnet.nl (HELO dell062.admin.zonnet.nl) ([10.170.1.123])
    +          (envelope-sender <joris@bontje.nl>)
    +          by 10.170.1.96 (qmail-ldap-1.03) with SMTP
    +          for < >; 5 May 2009 07:08:25 -0000
    +Received: by dell062.admin.zonnet.nl (Postfix, from userid 33)
    +    id 9BE9B15759B; Tue,  5 May 2009 09:08:25 +0200 (CEST)
    +Received: from firewall66.interaccess.nl (firewall66.interaccess.nl
    +    [193.173.35.66]) by www.webmail.vuurwerk.nl (Horde MIME library) with HTTP;
    +    Tue, 05 May 2009 09:08:25 +0200
    +Message-ID: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +Date: Tue, 05 May 2009 09:08:25 +0200
    +From: joris@bontje.nl
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Subject: Re: PyCrypto license clarification
    +References: <20090505024914.GA9219@rivest.dlitz.net>
    +In-Reply-To: <20090505024914.GA9219@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain;
    +    charset=ISO-8859-1;
    +    format="flowed"
    +Content-Disposition: inline
    +Content-Transfer-Encoding: 7bit
    +User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
    +Status: RO
    +X-Status: A
    +Content-Length: 3488
    +
    +Hi Dwayne,
    +
    +Thanks for taking over the PyCrypto library and putting in the required 
    +effort to keep this going.
    +I was very excited to read that it is now one of the installed 
    +libraries for Google AppsEngine!
    +
    +You have my full permission to dedicate all my contributions to 
    +PyCrypto to the public domain with your suggested notice:
    +=======================================================================
    +The contents of this file are dedicated to the public domain.  To the
    +extent that dedication to the public domain is not available, everyone
    +is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +to exercise all rights associated with the contents of this file for
    +any purpose whatsoever.  No rights are reserved.
    +=======================================================================
    +
    +
    +Regards,
    +Joris
    +
    +Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    +
    +> Hi Joris,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +>
    +> People often ask me what license PyCrypto is covered by, if it's
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +> The text in the current LICENSE file (quoted below) is not entirely clear
    +> on the point of whether distributing modified versions is allowed.  (It
    +> says "distribute and use", but not "modify".)
    +>
    +> ===================================================================
    +> Distribute and use freely; there are no restrictions on further
    +> dissemination and usage except those imposed by the laws of your
    +> country of residence.  This software is provided "as is" without
    +> warranty of fitness for use or suitability for any purpose, express
    +> or implied. Use at your own risk or not at all.
    +> ===================================================================
    +>
    +> Incorporating the code into commercial products is permitted; you do
    +> not have to make source available or contribute your changes back
    +> (though that would be nice).
    +>
    +> --amk                                                    (www.amk.ca)
    +>
    +> For the next PyCrypto release, I would like to take steps to move toward a
    +> clearer licensing regime.  I am asking as many copyright holders as I can
    +> find if I can release PyCrypto under something clearer and more standard.
    +> Below, I have quoted a public domain dedication that was recommended in
    +> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +> have all approved the following dedication for their contributions.
    +>
    +> I understand that you have made contributions to PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +> with the following notice?
    +>
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +> Regards,
    +> - Dwayne
    +>
    +> --
    +> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +
    +
    +From dlitz@dlitz.net Tue May  5 17:53:47 2009
    +Date: Tue, 5 May 2009 17:53:47 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: joris@bontje.nl
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090505215347.GB9933@rivest.dlitz.net>
    +References: <20090505024914.GA9219@rivest.dlitz.net> <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +In-Reply-To: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3863
    +
    +Excellent!  Thank you!
    +
    +On Tue, May 05, 2009 at 09:08:25AM +0200, joris@bontje.nl wrote:
    +> Hi Dwayne,
    +>
    +> Thanks for taking over the PyCrypto library and putting in the required 
    +> effort to keep this going.
    +> I was very excited to read that it is now one of the installed libraries 
    +> for Google AppsEngine!
    +>
    +> You have my full permission to dedicate all my contributions to PyCrypto to 
    +> the public domain with your suggested notice:
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +>
    +> Regards,
    +> Joris
    +>
    +> Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    +>
    +>> Hi Joris,
    +>>
    +>> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>>
    +>> People often ask me what license PyCrypto is covered by, if it's
    +>> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +>> The text in the current LICENSE file (quoted below) is not entirely clear
    +>> on the point of whether distributing modified versions is allowed.  (It
    +>> says "distribute and use", but not "modify".)
    +>>
    +>> ===================================================================
    +>> Distribute and use freely; there are no restrictions on further
    +>> dissemination and usage except those imposed by the laws of your
    +>> country of residence.  This software is provided "as is" without
    +>> warranty of fitness for use or suitability for any purpose, express
    +>> or implied. Use at your own risk or not at all.
    +>> ===================================================================
    +>>
    +>> Incorporating the code into commercial products is permitted; you do
    +>> not have to make source available or contribute your changes back
    +>> (though that would be nice).
    +>>
    +>> --amk                                                    (www.amk.ca)
    +>>
    +>> For the next PyCrypto release, I would like to take steps to move toward a
    +>> clearer licensing regime.  I am asking as many copyright holders as I can
    +>> find if I can release PyCrypto under something clearer and more standard.
    +>> Below, I have quoted a public domain dedication that was recommended in
    +>> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +>> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +>> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +>> have all approved the following dedication for their contributions.
    +>>
    +>> I understand that you have made contributions to PyCrypto.  May I, on your
    +>> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +>> with the following notice?
    +>>
    +>> =======================================================================
    +>> The contents of this file are dedicated to the public domain.  To the
    +>> extent that dedication to the public domain is not available, everyone
    +>> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>> to exercise all rights associated with the contents of this file for
    +>> any purpose whatsoever.  No rights are reserved.
    +>> =======================================================================
    +>>
    +>> Regards,
    +>> - Dwayne
    +>>
    +>> --
    +>> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>
    +>
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +
    +==========================================================
    +Date: Sun, 23 Nov 2008 15:54:35 -0800
    +From: Wim Lewis <wiml@hhhh.org>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Cc: Wim Lewis <wiml@hhhh.org>
    +Message-Id: <9D5C3135-7414-47D7-9D41-0AC6C3A84D97@hhhh.org>
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On November 23, 2008, you wrote:
    +>Hi Wim,
    +>
    +>I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>working on a new release at http://www.pycrypto.org/.
    +>
    +>I understand that you have made contributions to PyCrypto. May I, on
    +>your behalf, dedicate to the public domain all your contributions to
    +>PyCrypto, with the following notice?
    +>
    +>   =======================================================================
    +>   The contents of this file are dedicated to the public domain.  To the
    +>   extent that dedication to the public domain is not available, everyone
    +>   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>   to exercise all rights associated with the contents of this file for
    +>   any purpose whatsoever.  No rights are reserved.
    +>   =======================================================================
    +
    +Certainly! I think the only code of mine in PyCrypto is the CAST-5 / CAST-128
    +implementation, which already has a public-domain notice at the top of
    +the file. But I am happy to have that, any any other code of mine that
    +might have wandered in there under an unclear open sourcish license,
    +distributed under the public-domain dedication you quote.
    +
    +Wim.
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.6 (Darwin)
    +
    +iQCVAwUBSSnnAl8UnN8n93LBAQLp/gQAhr7x8Av1mstc2kxEJDWTm26PTAZxMz4B
    +FektbDOzkxgc5580MGGeeX/MVn8aw+1BHg0YD85gsntlDzkcQtb+BR/xAvJ5zKyA
    +J/Mn/I+I6ekJQ3juh8IPHLAduOXM9Rtguas/yR+Doaq0xOPKoBx+/5+t1lLJtBcZ
    +wrPEa9Oui9s=
    +=zSY9
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +==========================================================
    +From dlitz@dlitz.net Sat Apr 18 09:14:20 2009
    +Date: Sat, 18 Apr 2009 09:14:20 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Mark Moraes <moraes@computer.org>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090418131419.GA14494@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2635
    +
    +Hi Mark,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +       ===================================================================
    +       Distribute and use freely; there are no restrictions on further
    +       dissemination and usage except those imposed by the laws of your
    +       country of residence.  This software is provided "as is" without
    +       warranty of fitness for use or suitability for any purpose, express
    +       or implied. Use at your own risk or not at all.
    +       ===================================================================
    +
    +       Incorporating the code into commercial products is permitted; you do
    +       not have to make source available or contribute your changes back
    +       (though that would be nice).
    +
    +       --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they have all
    +approved the following dedication for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your
    +behalf, dedicate to the public domain all your contributions to PyCrypto,
    +with the following notice?
    +
    +       =======================================================================
    +       The contents of this file are dedicated to the public domain.  To the
    +       extent that dedication to the public domain is not available, everyone
    +       is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +       to exercise all rights associated with the contents of this file for
    +       any purpose whatsoever.  No rights are reserved.
    +       =======================================================================
    +
    +Regards,
    +    - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +    Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From markmoraes@yahoo.com Mon Apr 20 19:25:37 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <markmoraes@yahoo.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 5D9AE984FDD
    +    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 19:25:37 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id DE41F4025F
    +    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    +Received: (vmailmgr-postfix 7604 invoked by uid 1003); 20 Apr 2009 17:25:36 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (yahoo.com: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="markmoraes@yahoo.com"; helo=web32405.mail.mud.yahoo.com; client-ip=68.142.207.198
    +Received: from web32405.mail.mud.yahoo.com (web32405.mail.mud.yahoo.com [68.142.207.198])
    +    by goedel.dlitz.net (Postfix) with SMTP id B5EAF401EE
    +    for <dlitz@dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    +Received: (qmail 34697 invoked by uid 60001); 20 Apr 2009 23:25:33 -0000
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1240269933; bh=OvxqbYnCg7R6tUN3YmlgFURM3CuHh1JeHyXhDzkaThU=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=F2h2bFzpQxyKFZ8BhenniyupGw4Zvlekb9BSk91qKU+51W/TkSGBij5YZIhkLQdkQk0qLz5f4g8dT6bOME3sEY1j10hlx0K0u2UD0yoYTINBCmsdMQRoJ7ph9bmt+p/EJhRpe+FiV6aoLV0FONWiHfGDghPT1dulWXfVTqgB2aU=
    +DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
    +  s=s1024; d=yahoo.com;
    +  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
    +  b=r6RShFF5VzQLg+9tcn1xKuo4Rs4IVvXF6fdqOpQrMyRCxeFooebhuTE35grGqlomOJLwM0+mZwRb6rGkDj763caOAlo8Ect/qlADW5izXfmVQaDchTbTqmpsJBmQnTQs9iZ+InrG+3UIwtUSGfX7fhEWmI9P/HBzxf9Wp4b3jeo=;
    +Message-ID: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +X-YMail-OSG: FrK8aWMVM1mFJtLpMGbUbCLjbUQC.i.JkIAKUHSFsFn7t9PbtewAewXJ2uhZGCOlGCX6oVnG3u.CgqzAffY4vZSnfTT8wnCkzZNZ_g6k.XUc3ipo_6e.92TXl4p8MxDGAf1tpNF5nXPwcQ7aREs7jGoWWVJYVytp50clsUFSHzf7Zbpa8P1Yoe_xSzf3OAgRSh5fCrbFCC8sHPCuwrL3YhasbtHmkWffteSS.x6gEcBaxf03oz4FeDb5mpJ54g11Xonq8h_TmzX9g84Bin9g_3fJ4WSXm6g6.tohLyfXcUxoz4j036wyWpTKPrWEzIUQaN83Sv_bj_Ghxw--
    +Received: from [69.124.140.74] by web32405.mail.mud.yahoo.com via HTTP; Mon, 20 Apr 2009 16:25:32 PDT
    +X-Mailer: YahooMailClassic/5.2.15 YahooMailWebService/0.7.289.1
    +Date: Mon, 20 Apr 2009 16:25:32 -0700 (PDT)
    +From: M Moraes <markmoraes@yahoo.com>
    +Reply-To: moraes@computer.org
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii
    +Status: RO
    +X-Status: A
    +Content-Length: 3222
    +
    +
    +Hi Dwayne.
    +
    +Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    +
    +Regards,
    +Mark.
    +
    +--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    +
    +> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +> Subject: PyCrypto license clarification
    +> To: "Mark Moraes" <moraes@computer.org>
    +> Date: Saturday, April 18, 2009, 9:14 AM
    +> Hi Mark,
    +> 
    +> I am the new maintainer of the Python Cryptography Toolkit,
    +> and I am
    +> working on a new release at http://www.pycrypto.org/.
    +> 
    +> People often ask me what license PyCrypto is covered by, if
    +> it's
    +> GPL-compatible, etc.  Right now, I'm not really sure
    +> what to tell them.
    +> The text in the current LICENSE file (quoted below) is not
    +> entirely clear
    +> on the point of whether distributing modified versions is
    +> allowed.  (It
    +> says "distribute and use", but not "modify".)
    +> 
    +>      
    +> ===================================================================
    +>       Distribute and use freely; there are
    +> no restrictions on further
    +>       dissemination and usage except those
    +> imposed by the laws of your
    +>       country of residence.  This
    +> software is provided "as is" without
    +>       warranty of fitness for use or
    +> suitability for any purpose, express
    +>       or implied. Use at your own risk or
    +> not at all.
    +>      
    +> ===================================================================
    +> 
    +>       Incorporating the code into commercial
    +> products is permitted; you do
    +>       not have to make source available or
    +> contribute your changes back
    +>       (though that would be nice).
    +> 
    +>       --amk       
    +>                
    +>                
    +>             (www.amk.ca)
    +> 
    +> For the next PyCrypto release, I would like to take steps
    +> to move toward a
    +> clearer licensing regime.  I am asking as many
    +> copyright holders as I can
    +> find if I can release PyCrypto under something clearer and
    +> more standard.
    +> Below, I have quoted a public domain dedication that was
    +> recommended in
    +> _Intellectual Property and Open Source: A Practical Guide
    +> to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A.
    +> M. Kuchling, Robey
    +> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    +> have all
    +> approved the following dedication for their contributions.
    +> 
    +> I understand that you have made contributions to
    +> PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your
    +> contributions to PyCrypto,
    +> with the following notice?
    +> 
    +>      
    +> =======================================================================
    +>       The contents of this file are
    +> dedicated to the public domain.  To the
    +>       extent that dedication to the public
    +> domain is not available, everyone
    +>       is granted a worldwide, perpetual,
    +> royalty-free, non-exclusive license
    +>       to exercise all rights associated with
    +> the contents of this file for
    +>       any purpose whatsoever.  No
    +> rights are reserved.
    +>      
    +> =======================================================================
    +> 
    +> Regards,
    +>    - Dwayne
    +> 
    +> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>    Key-signing key   - 19E1
    +> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +> 
    +
    +
    +From dlitz@dlitz.net Mon Apr 20 20:01:37 2009
    +Date: Mon, 20 Apr 2009 20:01:37 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: moraes@computer.org
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090421000137.GA29012@rivest.dlitz.net>
    +References: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +In-Reply-To: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3677
    +
    +Thanks a lot, and don't worry about not responding to previous emails.  I 
    +do that too much myself. :)
    +
    +On Mon, Apr 20, 2009 at 04:25:32PM -0700, M Moraes wrote:
    +>
    +>Hi Dwayne.
    +>
    +>Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    +>
    +>Regards,
    +>Mark.
    +>
    +>--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    +>
    +>> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>> Subject: PyCrypto license clarification
    +>> To: "Mark Moraes" <moraes@computer.org>
    +>> Date: Saturday, April 18, 2009, 9:14 AM
    +>> Hi Mark,
    +>> 
    +>> I am the new maintainer of the Python Cryptography Toolkit,
    +>> and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>> 
    +>> People often ask me what license PyCrypto is covered by, if
    +>> it's
    +>> GPL-compatible, etc.  Right now, I'm not really sure
    +>> what to tell them.
    +>> The text in the current LICENSE file (quoted below) is not
    +>> entirely clear
    +>> on the point of whether distributing modified versions is
    +>> allowed.  (It
    +>> says "distribute and use", but not "modify".)
    +>> 
    +>>      
    +>> ===================================================================
    +>>       Distribute and use freely; there are
    +>> no restrictions on further
    +>>       dissemination and usage except those
    +>> imposed by the laws of your
    +>>       country of residence.  This
    +>> software is provided "as is" without
    +>>       warranty of fitness for use or
    +>> suitability for any purpose, express
    +>>       or implied. Use at your own risk or
    +>> not at all.
    +>>      
    +>> ===================================================================
    +>> 
    +>>       Incorporating the code into commercial
    +>> products is permitted; you do
    +>>       not have to make source available or
    +>> contribute your changes back
    +>>       (though that would be nice).
    +>> 
    +>>       --amk       
    +>>                
    +>>                
    +>>             (www.amk.ca)
    +>> 
    +>> For the next PyCrypto release, I would like to take steps
    +>> to move toward a
    +>> clearer licensing regime.  I am asking as many
    +>> copyright holders as I can
    +>> find if I can release PyCrypto under something clearer and
    +>> more standard.
    +>> Below, I have quoted a public domain dedication that was
    +>> recommended in
    +>> _Intellectual Property and Open Source: A Practical Guide
    +>> to Protecting
    +>> Code_, by Van Lindberg.  I have already contacted A.
    +>> M. Kuchling, Robey
    +>> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    +>> have all
    +>> approved the following dedication for their contributions.
    +>> 
    +>> I understand that you have made contributions to
    +>> PyCrypto.  May I, on your
    +>> behalf, dedicate to the public domain all your
    +>> contributions to PyCrypto,
    +>> with the following notice?
    +>> 
    +>>      
    +>> =======================================================================
    +>>       The contents of this file are
    +>> dedicated to the public domain.  To the
    +>>       extent that dedication to the public
    +>> domain is not available, everyone
    +>>       is granted a worldwide, perpetual,
    +>> royalty-free, non-exclusive license
    +>>       to exercise all rights associated with
    +>> the contents of this file for
    +>>       any purpose whatsoever.  No
    +>> rights are reserved.
    +>>      
    +>> =======================================================================
    +>> 
    +>> Regards,
    +>>    - Dwayne
    +>> 
    +>> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>>    Key-signing key   - 19E1
    +>> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>> 
    +>
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +
    +
    +
    +==========================================================
    +Date: Mon, 16 Feb 2009 12:58:00 -0800
    +From: Robey Pointer <robey@lag.net>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Received-SPF: pass (goedel.dlitz.net: domain of robey@lag.net designates 69.61.78.186 as permitted sender)
    +Message-Id: <F469A078-6305-4484-BEA8-F4EC38A4154F@lag.net>
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On 23 Nov 2008, at 07:42, Dwayne C. Litzenberger wrote:
    +
    +> For the next PyCrypto release, I would like to take steps to move  
    +> toward a clearer licensing regime.  I am asking as many copyright  
    +> holders as I can find if I can release PyCrypto under something  
    +> clearer and more standard.  Below, I have quoted a public domain  
    +> dedication that was recommended in _Intellectual Property and Open  
    +> Source: A Practical Guide to Protecting Code_, by Van Lindberg.  I  
    +> have already contacted A. M. Kuchling, and he has approved the  
    +> following dedication for his contributions.
    +>
    +> May I, on your behalf, dedicate to the public domain all your  
    +> contributions to PyCrypto, with the following notice?
    +>
    +>     
    +> = 
    +> ======================================================================
    +>    The contents of this file are dedicated to the public domain.  To  
    +> the
    +>    extent that dedication to the public domain is not available,  
    +> everyone
    +>    is granted a worldwide, perpetual, royalty-free, non-exclusive  
    +> license
    +>    to exercise all rights associated with the contents of this file  
    +> for
    +>    any purpose whatsoever.  No rights are reserved.
    +>     
    +> = 
    +> ======================================================================
    +>
    +
    +In case I haven't replied to this yet: Yes, this is fine with me.
    +
    +robey
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.8 (Darwin)
    +
    +iEYEARECAAYFAkmZ01gACgkQQQDkKvyJ6cOLvQCfQmYYuVODvIlyLg0hgCI9LAbQ
    +SH8AoLJgaq1lIi7/ZYDc+/Cd8VO0xLbr
    +=Mv6g
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +==========================================================
    +From dlitz@dlitz.net Sun Aug  2 21:48:25 2009
    +Date: Sun, 2 Aug 2009 21:48:25 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Paul Swartz <paulswartz@gmail.com>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090803014825.GA1326@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2631
    +
    +Hi Paul,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +   ===================================================================
    +   Distribute and use freely; there are no restrictions on further
    +   dissemination and usage except those imposed by the laws of your
    +   country of residence.  This software is provided "as is" without
    +   warranty of fitness for use or suitability for any purpose, express
    +   or implied. Use at your own risk or not at all.
    +   ===================================================================
    +
    +   Incorporating the code into commercial products is permitted; you do
    +   not have to make source available or contribute your changes back
    +   (though that would be nice).
    +
    +   --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, Joris Bontje, and Mark 
    +Moraes, and they have all approved the following dedication for their 
    +contributions.
    +
    +I understand that you have made contributions to PyCrypto, under nickname 
    +"z3p" and/or other names.  May I, on your behalf, dedicate to the public 
    +domain all your contributions to PyCrypto, with the following notice?
    +
    +   =======================================================================
    +   The contents of this file are dedicated to the public domain.  To the
    +   extent that dedication to the public domain is not available, everyone
    +   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +   to exercise all rights associated with the contents of this file for
    +   any purpose whatsoever.  No rights are reserved.
    +   =======================================================================
    +
    +Regards,
    +  - Dwayne
    +
    +--
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +   Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From paulswartz@gmail.com Mon Aug  3 12:14:07 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <paulswartz@gmail.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 30B9D984FC4
    +    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 12:14:07 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id AD9AE81068
    +    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 10:14:06 -0600 (CST)
    +Received: (vmailmgr-postfix 32055 invoked by uid 1003);  3 Aug 2009 10:14:06 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: pass (gmail.com ... _spf.google.com: 72.14.220.159 is authorized to use 'paulswartz@gmail.com' in 'mfrom' identity (mechanism 'ip4:72.14.192.0/18' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="paulswartz@gmail.com"; helo=fg-out-1718.google.com; client-ip=72.14.220.159
    +Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 4E63881066
    +    for <dlitz@dlitz.net>; Mon,  3 Aug 2009 10:14:05 -0600 (CST)
    +Received: by fg-out-1718.google.com with SMTP id d23so1076840fga.3
    +        for <dlitz@dlitz.net>; Mon, 03 Aug 2009 09:14:04 -0700 (PDT)
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    +        d=gmail.com; s=gamma;
    +        h=domainkey-signature:mime-version:received:in-reply-to:references
    +         :from:date:message-id:subject:to:content-type
    +         :content-transfer-encoding;
    +        bh=A0RHBf0TnribKS5qOHJ3WYbkZ+b0cuPeuoKAvpApWcc=;
    +        b=gyTqkRhKlHadFKIZCBWsRbnMNVDq1PWlJbyC0EvxPskaoHr3HAR96MWQNBePu/40Ac
    +         Vn55qlIqTdom4e9zlUEE6MwZo9kqi/Qw0L/SLib0DlQeNqo/eHYqPmuVswltaYwNAyMJ
    +         Y9++76rPGzqYdALsfvsmwv7Q3/bEmjVTr0tQE=
    +DomainKey-Signature: a=rsa-sha1; c=nofws;
    +        d=gmail.com; s=gamma;
    +        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
    +         :content-type:content-transfer-encoding;
    +        b=jze7KSMkUGilfVCXKXaaXMi5NAtGdMQOtVZZfRNyGSy68xOd2sxefjyyig3EfT6Nv6
    +         Q3opUMsT96Q6zjZND55w446kTh2uBTNz4d3NwIeEWJnG3xcliRQu/mXPFp8AzPI3CefL
    +         1ornJLM1eQ2XyuZA73jem+SJtfdHUcSD1UhgI=
    +MIME-Version: 1.0
    +Received: by 10.239.157.147 with SMTP id q19mr601802hbc.61.1249316043185; Mon, 
    +    03 Aug 2009 09:14:03 -0700 (PDT)
    +In-Reply-To: <20090803014825.GA1326@rivest.dlitz.net>
    +References: <20090803014825.GA1326@rivest.dlitz.net>
    +From: Paul Swartz <paulswartz@gmail.com>
    +Date: Mon, 3 Aug 2009 12:13:43 -0400
    +Message-ID: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Content-Type: text/plain; charset=UTF-8
    +Content-Transfer-Encoding: quoted-printable
    +Status: RO
    +X-Status: A
    +Content-Length: 1450
    +
    +On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wro=
    +te:
    +> Hi Paul,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +
    +That's great!
    +
    +> I understand that you have made contributions to PyCrypto, under nickname
    +> "z3p" and/or other names. =C2=A0May I, on your behalf, dedicate to the pu=
    +blic
    +> domain all your contributions to PyCrypto, with the following notice?
    +>
    +> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +> =C2=A0The contents of this file are dedicated to the public domain. =C2=
    +=A0To the
    +> =C2=A0extent that dedication to the public domain is not available, every=
    +one
    +> =C2=A0is granted a worldwide, perpetual, royalty-free, non-exclusive lice=
    +nse
    +> =C2=A0to exercise all rights associated with the contents of this file fo=
    +r
    +> =C2=A0any purpose whatsoever. =C2=A0No rights are reserved.
    +> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +Yes, that's fine.  Good luck with the new release!
    +
    +-p
    +--=20
    +Paul Swartz
    +paulswartz at gmail dot com
    +http://paulswartz.net/
    +AIM: z3penguin
    +
    +
    +From dlitz@dlitz.net Mon Aug  3 14:35:01 2009
    +Date: Mon, 3 Aug 2009 14:35:01 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Paul Swartz <paulswartz@gmail.com>
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090803183501.GA17472@rivest.dlitz.net>
    +References: <20090803014825.GA1326@rivest.dlitz.net> <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=iso-8859-1; format=flowed
    +Content-Disposition: inline
    +Content-Transfer-Encoding: 8bit
    +In-Reply-To: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 1250
    +
    +On Mon, Aug 03, 2009 at 12:13:43PM -0400, Paul Swartz wrote:
    +>On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wrote:
    +>> Hi Paul,
    +>>
    +>> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>
    +>That's great!
    +>
    +>> I understand that you have made contributions to PyCrypto, under nickname
    +>> "z3p" and/or other names. �May I, on your behalf, dedicate to the public
    +>> domain all your contributions to PyCrypto, with the following notice?
    +>>
    +>> �=======================================================================
    +>> �The contents of this file are dedicated to the public domain. �To the
    +>> �extent that dedication to the public domain is not available, everyone
    +>> �is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>> �to exercise all rights associated with the contents of this file for
    +>> �any purpose whatsoever. �No rights are reserved.
    +>> �=======================================================================
    +>
    +>Yes, that's fine.  Good luck with the new release!
    +
    +Perfect!  Thanks for the quick response!
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +
    +
    +==========================================================
    +
    +
    + + +
    + +
    +

    python-social-auth + 0.2.12 +

    + + +
    Copyright (c) 2012-2013, Matias Aguirre
    + + + + +
    Copyright (c) 2012-2013, Matías Aguirre
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    1. Redistributions of source code must retain the above copyright notice,
    +       this list of conditions and the following disclaimer.
    +
    +    2. Redistributions in binary form must reproduce the above copyright
    +       notice, this list of conditions and the following disclaimer in the
    +       documentation and/or other materials provided with the distribution.
    +
    +    3. Neither the name of this project nor the names of its contributors may be
    +       used to endorse or promote products derived from this software without
    +       specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    psycopg2 + 2.5.4 +

    + + + +
    psycopg2 and the LGPL
    +=====================
    +
    +psycopg2 is free software: you can redistribute it and/or modify it
    +under the terms of the GNU Lesser General Public License as published
    +by the Free Software Foundation, either version 3 of the License, or
    +(at your option) any later version.
    +
    +psycopg2 is distributed in the hope that it will be useful, but WITHOUT
    +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    +FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
    +License for more details.
    +
    +In addition, as a special exception, the copyright holders give
    +permission to link this program with the OpenSSL library (or with
    +modified versions of OpenSSL that use the same license as OpenSSL),
    +and distribute linked combinations including the two.
    +
    +You must obey the GNU Lesser General Public License in all respects for
    +all of the code used other than OpenSSL. If you modify file(s) with this
    +exception, you may extend this exception to your version of the file(s),
    +but you are not obligated to do so. If you do not wish to do so, delete
    +this exception statement from your version. If you delete this exception
    +statement from all source files in the program, then also delete it here.
    +
    +You should have received a copy of the GNU Lesser General Public License
    +along with psycopg2 (see the doc/ directory.)
    +If not, see .
    +
    +
    +Alternative licenses
    +====================
    +
    +If you prefer you can use the Zope Database Adapter ZPsycopgDA (i.e.,
    +every file inside the ZPsycopgDA directory) user the ZPL license as
    +published on the Zope web site, http://www.zope.org/Resources/ZPL.
    +
    +Also, the following BSD-like license applies (at your option) to the
    +files following the pattern psycopg/adapter*.{h,c} and
    +psycopg/microprotocol*.{h,c}:
    +
    + Permission is granted to anyone to use this software for any purpose,
    + including commercial applications, and to alter it and redistribute it
    + freely, subject to the following restrictions:
    +
    + 1. The origin of this software must not be misrepresented; you must not
    +    claim that you wrote the original software. If you use this
    +    software in a product, an acknowledgment in the product documentation
    +    would be appreciated but is not required.
    + 
    + 2. Altered source versions must be plainly marked as such, and must not
    +    be misrepresented as being the original software.
    + 
    + 3. This notice may not be removed or altered from any source distribution.
    +
    + ============================================================================
    + This build contains zlib 1.2.8
    + http://zlib.net/zlib-1.2.8.tar.gz
    +
    +   version 1.2.8, April 28th, 2013
    +
    +  Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
    +
    +  This software is provided 'as-is', without any express or implied
    +  warranty.  In no event will the authors be held liable for any damages
    +  arising from the use of this software.
    +
    +  Permission is granted to anyone to use this software for any purpose,
    +  including commercial applications, and to alter it and redistribute it
    +  freely, subject to the following restrictions:
    +
    +  1. The origin of this software must not be misrepresented; you must not
    +     claim that you wrote the original software. If you use this software
    +     in a product, an acknowledgment in the product documentation would be
    +     appreciated but is not required.
    +  2. Altered source versions must be plainly marked as such, and must not be
    +     misrepresented as being the original software.
    +  3. This notice may not be removed or altered from any source distribution.
    +
    +  Jean-loup Gailly        Mark Adler
    +  jloup@gzip.org          madler@alumni.caltech.edu
    + 
    +==============================================================================
    + This build contains libpq from Postgres 9.3.5
    + 
    + PostgreSQL Database Management System
    +(formerly known as Postgres, then as Postgres95)
    +
    +Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
    +
    +Portions Copyright (c) 1994, The Regents of the University of California
    +
    +Permission to use, copy, modify, and distribute this software and its
    +documentation for any purpose, without fee, and without a written agreement
    +is hereby granted, provided that the above copyright notice and this
    +paragraph and the following two paragraphs appear in all copies.
    +
    +IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
    +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
    +LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
    +DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    +
    +THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
    +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    +AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
    +ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
    +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
    +
    + 
    + =============================================================================
    + This build contains OpenSSL 1.0.1i 
    + 
    +  LICENSE ISSUES
    +  ==============
    +
    +  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
    +  the OpenSSL License and the original SSLeay license apply to the toolkit.
    +  See below for the actual license texts. Actually both licenses are BSD-style
    +  Open Source licenses. In case of any license issues related to OpenSSL
    +  please contact openssl-core@openssl.org.
    +
    +  OpenSSL License
    +  ---------------
    +
    +/* ====================================================================
    + * Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + *
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer. 
    + *
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in
    + *    the documentation and/or other materials provided with the
    + *    distribution.
    + *
    + * 3. All advertising materials mentioning features or use of this
    + *    software must display the following acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    + *
    + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    + *    endorse or promote products derived from this software without
    + *    prior written permission. For written permission, please contact
    + *    openssl-core@openssl.org.
    + *
    + * 5. Products derived from this software may not be called "OpenSSL"
    + *    nor may "OpenSSL" appear in their names without prior written
    + *    permission of the OpenSSL Project.
    + *
    + * 6. Redistributions of any form whatsoever must retain the following
    + *    acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    + * OF THE POSSIBILITY OF SUCH DAMAGE.
    + * ====================================================================
    + *
    + * This product includes cryptographic software written by Eric Young
    + * (eay@cryptsoft.com).  This product includes software written by Tim
    + * Hudson (tjh@cryptsoft.com).
    + *
    + */
    +
    + Original SSLeay License
    + -----------------------
    +
    +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    + * All rights reserved.
    + *
    + * This package is an SSL implementation written
    + * by Eric Young (eay@cryptsoft.com).
    + * The implementation was written so as to conform with Netscapes SSL.
    + * 
    + * This library is free for commercial and non-commercial use as long as
    + * the following conditions are aheared to.  The following conditions
    + * apply to all code found in this distribution, be it the RC4, RSA,
    + * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    + * included with this distribution is covered by the same copyright terms
    + * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    + * 
    + * Copyright remains Eric Young's, and as such any Copyright notices in
    + * the code are not to be removed.
    + * If this package is used in a product, Eric Young should be given attribution
    + * as the author of the parts of the library used.
    + * This can be in the form of a textual message at program startup or
    + * in documentation (online or textual) provided with the package.
    + * 
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *    "This product includes cryptographic software written by
    + *     Eric Young (eay@cryptsoft.com)"
    + *    The word 'cryptographic' can be left out if the rouines from the library
    + *    being used are not cryptographic related :-).
    + * 4. If you include any Windows specific code (or a derivative thereof) from 
    + *    the apps directory (application code) you must include an acknowledgement:
    + *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    + * 
    + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + * 
    + * The licence and distribution terms for any publically available version or
    + * derivative of this code cannot be changed.  i.e. this code cannot simply be
    + * copied and put under another distribution licence
    + * [including the GNU Public Licence.]
    + */
    +
    + 
    + + + +
    		   GNU LESSER GENERAL PUBLIC LICENSE
    +                       Version 3, 29 June 2007
    +
    + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +
    +  This version of the GNU Lesser General Public License incorporates
    +the terms and conditions of version 3 of the GNU General Public
    +License, supplemented by the additional permissions listed below.
    +
    +  0. Additional Definitions. 
    +
    +  As used herein, "this License" refers to version 3 of the GNU Lesser
    +General Public License, and the "GNU GPL" refers to version 3 of the GNU
    +General Public License.
    +
    +  "The Library" refers to a covered work governed by this License,
    +other than an Application or a Combined Work as defined below.
    +
    +  An "Application" is any work that makes use of an interface provided
    +by the Library, but which is not otherwise based on the Library.
    +Defining a subclass of a class defined by the Library is deemed a mode
    +of using an interface provided by the Library.
    +
    +  A "Combined Work" is a work produced by combining or linking an
    +Application with the Library.  The particular version of the Library
    +with which the Combined Work was made is also called the "Linked
    +Version".
    +
    +  The "Minimal Corresponding Source" for a Combined Work means the
    +Corresponding Source for the Combined Work, excluding any source code
    +for portions of the Combined Work that, considered in isolation, are
    +based on the Application, and not on the Linked Version.
    +
    +  The "Corresponding Application Code" for a Combined Work means the
    +object code and/or source code for the Application, including any data
    +and utility programs needed for reproducing the Combined Work from the
    +Application, but excluding the System Libraries of the Combined Work.
    +
    +  1. Exception to Section 3 of the GNU GPL.
    +
    +  You may convey a covered work under sections 3 and 4 of this License
    +without being bound by section 3 of the GNU GPL.
    +
    +  2. Conveying Modified Versions.
    +
    +  If you modify a copy of the Library, and, in your modifications, a
    +facility refers to a function or data to be supplied by an Application
    +that uses the facility (other than as an argument passed when the
    +facility is invoked), then you may convey a copy of the modified
    +version:
    +
    +   a) under this License, provided that you make a good faith effort to
    +   ensure that, in the event an Application does not supply the
    +   function or data, the facility still operates, and performs
    +   whatever part of its purpose remains meaningful, or
    +
    +   b) under the GNU GPL, with none of the additional permissions of
    +   this License applicable to that copy.
    +
    +  3. Object Code Incorporating Material from Library Header Files.
    +
    +  The object code form of an Application may incorporate material from
    +a header file that is part of the Library.  You may convey such object
    +code under terms of your choice, provided that, if the incorporated
    +material is not limited to numerical parameters, data structure
    +layouts and accessors, or small macros, inline functions and templates
    +(ten or fewer lines in length), you do both of the following:
    +
    +   a) Give prominent notice with each copy of the object code that the
    +   Library is used in it and that the Library and its use are
    +   covered by this License.
    +
    +   b) Accompany the object code with a copy of the GNU GPL and this license
    +   document.
    +
    +  4. Combined Works.
    +
    +  You may convey a Combined Work under terms of your choice that,
    +taken together, effectively do not restrict modification of the
    +portions of the Library contained in the Combined Work and reverse
    +engineering for debugging such modifications, if you also do each of
    +the following:
    +
    +   a) Give prominent notice with each copy of the Combined Work that
    +   the Library is used in it and that the Library and its use are
    +   covered by this License.
    +
    +   b) Accompany the Combined Work with a copy of the GNU GPL and this license
    +   document.
    +
    +   c) For a Combined Work that displays copyright notices during
    +   execution, include the copyright notice for the Library among
    +   these notices, as well as a reference directing the user to the
    +   copies of the GNU GPL and this license document.
    +
    +   d) Do one of the following:
    +
    +       0) Convey the Minimal Corresponding Source under the terms of this
    +       License, and the Corresponding Application Code in a form
    +       suitable for, and under terms that permit, the user to
    +       recombine or relink the Application with a modified version of
    +       the Linked Version to produce a modified Combined Work, in the
    +       manner specified by section 6 of the GNU GPL for conveying
    +       Corresponding Source.
    +
    +       1) Use a suitable shared library mechanism for linking with the
    +       Library.  A suitable mechanism is one that (a) uses at run time
    +       a copy of the Library already present on the user's computer
    +       system, and (b) will operate properly with a modified version
    +       of the Library that is interface-compatible with the Linked
    +       Version. 
    +
    +   e) Provide Installation Information, but only if you would otherwise
    +   be required to provide such information under section 6 of the
    +   GNU GPL, and only to the extent that such information is
    +   necessary to install and execute a modified version of the
    +   Combined Work produced by recombining or relinking the
    +   Application with a modified version of the Linked Version. (If
    +   you use option 4d0, the Installation Information must accompany
    +   the Minimal Corresponding Source and Corresponding Application
    +   Code. If you use option 4d1, you must provide the Installation
    +   Information in the manner specified by section 6 of the GNU GPL
    +   for conveying Corresponding Source.)
    +
    +  5. Combined Libraries.
    +
    +  You may place library facilities that are a work based on the
    +Library side by side in a single library together with other library
    +facilities that are not Applications and are not covered by this
    +License, and convey such a combined library under terms of your
    +choice, if you do both of the following:
    +
    +   a) Accompany the combined library with a copy of the same work based
    +   on the Library, uncombined with any other library facilities,
    +   conveyed under the terms of this License.
    +
    +   b) Give prominent notice with the combined library that part of it
    +   is a work based on the Library, and explaining where to find the
    +   accompanying uncombined form of the same work.
    +
    +  6. Revised Versions of the GNU Lesser General Public License.
    +
    +  The Free Software Foundation may publish revised and/or new versions
    +of the GNU Lesser General Public License from time to time. Such new
    +versions will be similar in spirit to the present version, but may
    +differ in detail to address new problems or concerns.
    +
    +  Each version is given a distinguishing version number. If the
    +Library as you received it specifies that a certain numbered version
    +of the GNU Lesser General Public License "or any later version"
    +applies to it, you have the option of following the terms and
    +conditions either of that published version or of any later version
    +published by the Free Software Foundation. If the Library as you
    +received it does not specify a version number of the GNU Lesser
    +General Public License, you may choose any version of the GNU Lesser
    +General Public License ever published by the Free Software Foundation.
    +
    +  If the Library as you received it specifies that a proxy can decide
    +whether future versions of the GNU Lesser General Public License shall
    +apply, that proxy's public statement of acceptance of any version is
    +permanent authorization for you to choose that version for the
    +Library.
    +
    +
    +
    +
    +
    +
    +
    +
    +====================================================================
    +
    +		    GNU GENERAL PUBLIC LICENSE
    +		       Version 3, 29 June 2007
    +
    + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +			    Preamble
    +
    +  The GNU General Public License is a free, copyleft license for
    +software and other kinds of works.
    +
    +  The licenses for most software and other practical works are designed
    +to take away your freedom to share and change the works.  By contrast,
    +the GNU General Public License is intended to guarantee your freedom to
    +share and change all versions of a program--to make sure it remains free
    +software for all its users.  We, the Free Software Foundation, use the
    +GNU General Public License for most of our software; it applies also to
    +any other work released this way by its authors.  You can apply it to
    +your programs, too.
    +
    +  When we speak of free software, we are referring to freedom, not
    +price.  Our General Public Licenses are designed to make sure that you
    +have the freedom to distribute copies of free software (and charge for
    +them if you wish), that you receive source code or can get it if you
    +want it, that you can change the software or use pieces of it in new
    +free programs, and that you know you can do these things.
    +
    +  To protect your rights, we need to prevent others from denying you
    +these rights or asking you to surrender the rights.  Therefore, you have
    +certain responsibilities if you distribute copies of the software, or if
    +you modify it: responsibilities to respect the freedom of others.
    +
    +  For example, if you distribute copies of such a program, whether
    +gratis or for a fee, you must pass on to the recipients the same
    +freedoms that you received.  You must make sure that they, too, receive
    +or can get the source code.  And you must show them these terms so they
    +know their rights.
    +
    +  Developers that use the GNU GPL protect your rights with two steps:
    +(1) assert copyright on the software, and (2) offer you this License
    +giving you legal permission to copy, distribute and/or modify it.
    +
    +  For the developers' and authors' protection, the GPL clearly explains
    +that there is no warranty for this free software.  For both users' and
    +authors' sake, the GPL requires that modified versions be marked as
    +changed, so that their problems will not be attributed erroneously to
    +authors of previous versions.
    +
    +  Some devices are designed to deny users access to install or run
    +modified versions of the software inside them, although the manufacturer
    +can do so.  This is fundamentally incompatible with the aim of
    +protecting users' freedom to change the software.  The systematic
    +pattern of such abuse occurs in the area of products for individuals to
    +use, which is precisely where it is most unacceptable.  Therefore, we
    +have designed this version of the GPL to prohibit the practice for those
    +products.  If such problems arise substantially in other domains, we
    +stand ready to extend this provision to those domains in future versions
    +of the GPL, as needed to protect the freedom of users.
    +
    +  Finally, every program is threatened constantly by software patents.
    +States should not allow patents to restrict development and use of
    +software on general-purpose computers, but in those that do, we wish to
    +avoid the special danger that patents applied to a free program could
    +make it effectively proprietary.  To prevent this, the GPL assures that
    +patents cannot be used to render the program non-free.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.
    +
    +		       TERMS AND CONDITIONS
    +
    +  0. Definitions.
    +
    +  "This License" refers to version 3 of the GNU General Public License.
    +
    +  "Copyright" also means copyright-like laws that apply to other kinds of
    +works, such as semiconductor masks.
    + 
    +  "The Program" refers to any copyrightable work licensed under this
    +License.  Each licensee is addressed as "you".  "Licensees" and
    +"recipients" may be individuals or organizations.
    +
    +  To "modify" a work means to copy from or adapt all or part of the work
    +in a fashion requiring copyright permission, other than the making of an
    +exact copy.  The resulting work is called a "modified version" of the
    +earlier work or a work "based on" the earlier work.
    +
    +  A "covered work" means either the unmodified Program or a work based
    +on the Program.
    +
    +  To "propagate" a work means to do anything with it that, without
    +permission, would make you directly or secondarily liable for
    +infringement under applicable copyright law, except executing it on a
    +computer or modifying a private copy.  Propagation includes copying,
    +distribution (with or without modification), making available to the
    +public, and in some countries other activities as well.
    +
    +  To "convey" a work means any kind of propagation that enables other
    +parties to make or receive copies.  Mere interaction with a user through
    +a computer network, with no transfer of a copy, is not conveying.
    +
    +  An interactive user interface displays "Appropriate Legal Notices"
    +to the extent that it includes a convenient and prominently visible
    +feature that (1) displays an appropriate copyright notice, and (2)
    +tells the user that there is no warranty for the work (except to the
    +extent that warranties are provided), that licensees may convey the
    +work under this License, and how to view a copy of this License.  If
    +the interface presents a list of user commands or options, such as a
    +menu, a prominent item in the list meets this criterion.
    +
    +  1. Source Code.
    +
    +  The "source code" for a work means the preferred form of the work
    +for making modifications to it.  "Object code" means any non-source
    +form of a work.
    +
    +  A "Standard Interface" means an interface that either is an official
    +standard defined by a recognized standards body, or, in the case of
    +interfaces specified for a particular programming language, one that
    +is widely used among developers working in that language.
    +
    +  The "System Libraries" of an executable work include anything, other
    +than the work as a whole, that (a) is included in the normal form of
    +packaging a Major Component, but which is not part of that Major
    +Component, and (b) serves only to enable use of the work with that
    +Major Component, or to implement a Standard Interface for which an
    +implementation is available to the public in source code form.  A
    +"Major Component", in this context, means a major essential component
    +(kernel, window system, and so on) of the specific operating system
    +(if any) on which the executable work runs, or a compiler used to
    +produce the work, or an object code interpreter used to run it.
    +
    +  The "Corresponding Source" for a work in object code form means all
    +the source code needed to generate, install, and (for an executable
    +work) run the object code and to modify the work, including scripts to
    +control those activities.  However, it does not include the work's
    +System Libraries, or general-purpose tools or generally available free
    +programs which are used unmodified in performing those activities but
    +which are not part of the work.  For example, Corresponding Source
    +includes interface definition files associated with source files for
    +the work, and the source code for shared libraries and dynamically
    +linked subprograms that the work is specifically designed to require,
    +such as by intimate data communication or control flow between those
    +subprograms and other parts of the work.
    +
    +  The Corresponding Source need not include anything that users
    +can regenerate automatically from other parts of the Corresponding
    +Source.
    +
    +  The Corresponding Source for a work in source code form is that
    +same work.
    +
    +  2. Basic Permissions.
    +
    +  All rights granted under this License are granted for the term of
    +copyright on the Program, and are irrevocable provided the stated
    +conditions are met.  This License explicitly affirms your unlimited
    +permission to run the unmodified Program.  The output from running a
    +covered work is covered by this License only if the output, given its
    +content, constitutes a covered work.  This License acknowledges your
    +rights of fair use or other equivalent, as provided by copyright law.
    +
    +  You may make, run and propagate covered works that you do not
    +convey, without conditions so long as your license otherwise remains
    +in force.  You may convey covered works to others for the sole purpose
    +of having them make modifications exclusively for you, or provide you
    +with facilities for running those works, provided that you comply with
    +the terms of this License in conveying all material for which you do
    +not control copyright.  Those thus making or running the covered works
    +for you must do so exclusively on your behalf, under your direction
    +and control, on terms that prohibit them from making any copies of
    +your copyrighted material outside their relationship with you.
    +
    +  Conveying under any other circumstances is permitted solely under
    +the conditions stated below.  Sublicensing is not allowed; section 10
    +makes it unnecessary.
    +
    +  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    +
    +  No covered work shall be deemed part of an effective technological
    +measure under any applicable law fulfilling obligations under article
    +11 of the WIPO copyright treaty adopted on 20 December 1996, or
    +similar laws prohibiting or restricting circumvention of such
    +measures.
    +
    +  When you convey a covered work, you waive any legal power to forbid
    +circumvention of technological measures to the extent such circumvention
    +is effected by exercising rights under this License with respect to
    +the covered work, and you disclaim any intention to limit operation or
    +modification of the work as a means of enforcing, against the work's
    +users, your or third parties' legal rights to forbid circumvention of
    +technological measures.
    +
    +  4. Conveying Verbatim Copies.
    +
    +  You may convey verbatim copies of the Program's source code as you
    +receive it, in any medium, provided that you conspicuously and
    +appropriately publish on each copy an appropriate copyright notice;
    +keep intact all notices stating that this License and any
    +non-permissive terms added in accord with section 7 apply to the code;
    +keep intact all notices of the absence of any warranty; and give all
    +recipients a copy of this License along with the Program.
    +
    +  You may charge any price or no price for each copy that you convey,
    +and you may offer support or warranty protection for a fee.
    +
    +  5. Conveying Modified Source Versions.
    +
    +  You may convey a work based on the Program, or the modifications to
    +produce it from the Program, in the form of source code under the
    +terms of section 4, provided that you also meet all of these conditions:
    +
    +    a) The work must carry prominent notices stating that you modified
    +    it, and giving a relevant date.
    +
    +    b) The work must carry prominent notices stating that it is
    +    released under this License and any conditions added under section
    +    7.  This requirement modifies the requirement in section 4 to
    +    "keep intact all notices".
    +
    +    c) You must license the entire work, as a whole, under this
    +    License to anyone who comes into possession of a copy.  This
    +    License will therefore apply, along with any applicable section 7
    +    additional terms, to the whole of the work, and all its parts,
    +    regardless of how they are packaged.  This License gives no
    +    permission to license the work in any other way, but it does not
    +    invalidate such permission if you have separately received it.
    +
    +    d) If the work has interactive user interfaces, each must display
    +    Appropriate Legal Notices; however, if the Program has interactive
    +    interfaces that do not display Appropriate Legal Notices, your
    +    work need not make them do so.
    +
    +  A compilation of a covered work with other separate and independent
    +works, which are not by their nature extensions of the covered work,
    +and which are not combined with it such as to form a larger program,
    +in or on a volume of a storage or distribution medium, is called an
    +"aggregate" if the compilation and its resulting copyright are not
    +used to limit the access or legal rights of the compilation's users
    +beyond what the individual works permit.  Inclusion of a covered work
    +in an aggregate does not cause this License to apply to the other
    +parts of the aggregate.
    +
    +  6. Conveying Non-Source Forms.
    +
    +  You may convey a covered work in object code form under the terms
    +of sections 4 and 5, provided that you also convey the
    +machine-readable Corresponding Source under the terms of this License,
    +in one of these ways:
    +
    +    a) Convey the object code in, or embodied in, a physical product
    +    (including a physical distribution medium), accompanied by the
    +    Corresponding Source fixed on a durable physical medium
    +    customarily used for software interchange.
    +
    +    b) Convey the object code in, or embodied in, a physical product
    +    (including a physical distribution medium), accompanied by a
    +    written offer, valid for at least three years and valid for as
    +    long as you offer spare parts or customer support for that product
    +    model, to give anyone who possesses the object code either (1) a
    +    copy of the Corresponding Source for all the software in the
    +    product that is covered by this License, on a durable physical
    +    medium customarily used for software interchange, for a price no
    +    more than your reasonable cost of physically performing this
    +    conveying of source, or (2) access to copy the
    +    Corresponding Source from a network server at no charge.
    +
    +    c) Convey individual copies of the object code with a copy of the
    +    written offer to provide the Corresponding Source.  This
    +    alternative is allowed only occasionally and noncommercially, and
    +    only if you received the object code with such an offer, in accord
    +    with subsection 6b.
    +
    +    d) Convey the object code by offering access from a designated
    +    place (gratis or for a charge), and offer equivalent access to the
    +    Corresponding Source in the same way through the same place at no
    +    further charge.  You need not require recipients to copy the
    +    Corresponding Source along with the object code.  If the place to
    +    copy the object code is a network server, the Corresponding Source
    +    may be on a different server (operated by you or a third party)
    +    that supports equivalent copying facilities, provided you maintain
    +    clear directions next to the object code saying where to find the
    +    Corresponding Source.  Regardless of what server hosts the
    +    Corresponding Source, you remain obligated to ensure that it is
    +    available for as long as needed to satisfy these requirements.
    +
    +    e) Convey the object code using peer-to-peer transmission, provided
    +    you inform other peers where the object code and Corresponding
    +    Source of the work are being offered to the general public at no
    +    charge under subsection 6d.
    +
    +  A separable portion of the object code, whose source code is excluded
    +from the Corresponding Source as a System Library, need not be
    +included in conveying the object code work.
    +
    +  A "User Product" is either (1) a "consumer product", which means any
    +tangible personal property which is normally used for personal, family,
    +or household purposes, or (2) anything designed or sold for incorporation
    +into a dwelling.  In determining whether a product is a consumer product,
    +doubtful cases shall be resolved in favor of coverage.  For a particular
    +product received by a particular user, "normally used" refers to a
    +typical or common use of that class of product, regardless of the status
    +of the particular user or of the way in which the particular user
    +actually uses, or expects or is expected to use, the product.  A product
    +is a consumer product regardless of whether the product has substantial
    +commercial, industrial or non-consumer uses, unless such uses represent
    +the only significant mode of use of the product.
    +
    +  "Installation Information" for a User Product means any methods,
    +procedures, authorization keys, or other information required to install
    +and execute modified versions of a covered work in that User Product from
    +a modified version of its Corresponding Source.  The information must
    +suffice to ensure that the continued functioning of the modified object
    +code is in no case prevented or interfered with solely because
    +modification has been made.
    +
    +  If you convey an object code work under this section in, or with, or
    +specifically for use in, a User Product, and the conveying occurs as
    +part of a transaction in which the right of possession and use of the
    +User Product is transferred to the recipient in perpetuity or for a
    +fixed term (regardless of how the transaction is characterized), the
    +Corresponding Source conveyed under this section must be accompanied
    +by the Installation Information.  But this requirement does not apply
    +if neither you nor any third party retains the ability to install
    +modified object code on the User Product (for example, the work has
    +been installed in ROM).
    +
    +  The requirement to provide Installation Information does not include a
    +requirement to continue to provide support service, warranty, or updates
    +for a work that has been modified or installed by the recipient, or for
    +the User Product in which it has been modified or installed.  Access to a
    +network may be denied when the modification itself materially and
    +adversely affects the operation of the network or violates the rules and
    +protocols for communication across the network.
    +
    +  Corresponding Source conveyed, and Installation Information provided,
    +in accord with this section must be in a format that is publicly
    +documented (and with an implementation available to the public in
    +source code form), and must require no special password or key for
    +unpacking, reading or copying.
    +
    +  7. Additional Terms.
    +
    +  "Additional permissions" are terms that supplement the terms of this
    +License by making exceptions from one or more of its conditions.
    +Additional permissions that are applicable to the entire Program shall
    +be treated as though they were included in this License, to the extent
    +that they are valid under applicable law.  If additional permissions
    +apply only to part of the Program, that part may be used separately
    +under those permissions, but the entire Program remains governed by
    +this License without regard to the additional permissions.
    +
    +  When you convey a copy of a covered work, you may at your option
    +remove any additional permissions from that copy, or from any part of
    +it.  (Additional permissions may be written to require their own
    +removal in certain cases when you modify the work.)  You may place
    +additional permissions on material, added by you to a covered work,
    +for which you have or can give appropriate copyright permission.
    +
    +  Notwithstanding any other provision of this License, for material you
    +add to a covered work, you may (if authorized by the copyright holders of
    +that material) supplement the terms of this License with terms:
    +
    +    a) Disclaiming warranty or limiting liability differently from the
    +    terms of sections 15 and 16 of this License; or
    +
    +    b) Requiring preservation of specified reasonable legal notices or
    +    author attributions in that material or in the Appropriate Legal
    +    Notices displayed by works containing it; or
    +
    +    c) Prohibiting misrepresentation of the origin of that material, or
    +    requiring that modified versions of such material be marked in
    +    reasonable ways as different from the original version; or
    +
    +    d) Limiting the use for publicity purposes of names of licensors or
    +    authors of the material; or
    +
    +    e) Declining to grant rights under trademark law for use of some
    +    trade names, trademarks, or service marks; or
    +
    +    f) Requiring indemnification of licensors and authors of that
    +    material by anyone who conveys the material (or modified versions of
    +    it) with contractual assumptions of liability to the recipient, for
    +    any liability that these contractual assumptions directly impose on
    +    those licensors and authors.
    +
    +  All other non-permissive additional terms are considered "further
    +restrictions" within the meaning of section 10.  If the Program as you
    +received it, or any part of it, contains a notice stating that it is
    +governed by this License along with a term that is a further
    +restriction, you may remove that term.  If a license document contains
    +a further restriction but permits relicensing or conveying under this
    +License, you may add to a covered work material governed by the terms
    +of that license document, provided that the further restriction does
    +not survive such relicensing or conveying.
    +
    +  If you add terms to a covered work in accord with this section, you
    +must place, in the relevant source files, a statement of the
    +additional terms that apply to those files, or a notice indicating
    +where to find the applicable terms.
    +
    +  Additional terms, permissive or non-permissive, may be stated in the
    +form of a separately written license, or stated as exceptions;
    +the above requirements apply either way.
    +
    +  8. Termination.
    +
    +  You may not propagate or modify a covered work except as expressly
    +provided under this License.  Any attempt otherwise to propagate or
    +modify it is void, and will automatically terminate your rights under
    +this License (including any patent licenses granted under the third
    +paragraph of section 11).
    +
    +  However, if you cease all violation of this License, then your
    +license from a particular copyright holder is reinstated (a)
    +provisionally, unless and until the copyright holder explicitly and
    +finally terminates your license, and (b) permanently, if the copyright
    +holder fails to notify you of the violation by some reasonable means
    +prior to 60 days after the cessation.
    +
    +  Moreover, your license from a particular copyright holder is
    +reinstated permanently if the copyright holder notifies you of the
    +violation by some reasonable means, this is the first time you have
    +received notice of violation of this License (for any work) from that
    +copyright holder, and you cure the violation prior to 30 days after
    +your receipt of the notice.
    +
    +  Termination of your rights under this section does not terminate the
    +licenses of parties who have received copies or rights from you under
    +this License.  If your rights have been terminated and not permanently
    +reinstated, you do not qualify to receive new licenses for the same
    +material under section 10.
    +
    +  9. Acceptance Not Required for Having Copies.
    +
    +  You are not required to accept this License in order to receive or
    +run a copy of the Program.  Ancillary propagation of a covered work
    +occurring solely as a consequence of using peer-to-peer transmission
    +to receive a copy likewise does not require acceptance.  However,
    +nothing other than this License grants you permission to propagate or
    +modify any covered work.  These actions infringe copyright if you do
    +not accept this License.  Therefore, by modifying or propagating a
    +covered work, you indicate your acceptance of this License to do so.
    +
    +  10. Automatic Licensing of Downstream Recipients.
    +
    +  Each time you convey a covered work, the recipient automatically
    +receives a license from the original licensors, to run, modify and
    +propagate that work, subject to this License.  You are not responsible
    +for enforcing compliance by third parties with this License.
    +
    +  An "entity transaction" is a transaction transferring control of an
    +organization, or substantially all assets of one, or subdividing an
    +organization, or merging organizations.  If propagation of a covered
    +work results from an entity transaction, each party to that
    +transaction who receives a copy of the work also receives whatever
    +licenses to the work the party's predecessor in interest had or could
    +give under the previous paragraph, plus a right to possession of the
    +Corresponding Source of the work from the predecessor in interest, if
    +the predecessor has it or can get it with reasonable efforts.
    +
    +  You may not impose any further restrictions on the exercise of the
    +rights granted or affirmed under this License.  For example, you may
    +not impose a license fee, royalty, or other charge for exercise of
    +rights granted under this License, and you may not initiate litigation
    +(including a cross-claim or counterclaim in a lawsuit) alleging that
    +any patent claim is infringed by making, using, selling, offering for
    +sale, or importing the Program or any portion of it.
    +
    +  11. Patents.
    +
    +  A "contributor" is a copyright holder who authorizes use under this
    +License of the Program or a work on which the Program is based.  The
    +work thus licensed is called the contributor's "contributor version".
    +
    +  A contributor's "essential patent claims" are all patent claims
    +owned or controlled by the contributor, whether already acquired or
    +hereafter acquired, that would be infringed by some manner, permitted
    +by this License, of making, using, or selling its contributor version,
    +but do not include claims that would be infringed only as a
    +consequence of further modification of the contributor version.  For
    +purposes of this definition, "control" includes the right to grant
    +patent sublicenses in a manner consistent with the requirements of
    +this License.
    +
    +  Each contributor grants you a non-exclusive, worldwide, royalty-free
    +patent license under the contributor's essential patent claims, to
    +make, use, sell, offer for sale, import and otherwise run, modify and
    +propagate the contents of its contributor version.
    +
    +  In the following three paragraphs, a "patent license" is any express
    +agreement or commitment, however denominated, not to enforce a patent
    +(such as an express permission to practice a patent or covenant not to
    +sue for patent infringement).  To "grant" such a patent license to a
    +party means to make such an agreement or commitment not to enforce a
    +patent against the party.
    +
    +  If you convey a covered work, knowingly relying on a patent license,
    +and the Corresponding Source of the work is not available for anyone
    +to copy, free of charge and under the terms of this License, through a
    +publicly available network server or other readily accessible means,
    +then you must either (1) cause the Corresponding Source to be so
    +available, or (2) arrange to deprive yourself of the benefit of the
    +patent license for this particular work, or (3) arrange, in a manner
    +consistent with the requirements of this License, to extend the patent
    +license to downstream recipients.  "Knowingly relying" means you have
    +actual knowledge that, but for the patent license, your conveying the
    +covered work in a country, or your recipient's use of the covered work
    +in a country, would infringe one or more identifiable patents in that
    +country that you have reason to believe are valid.
    +  
    +  If, pursuant to or in connection with a single transaction or
    +arrangement, you convey, or propagate by procuring conveyance of, a
    +covered work, and grant a patent license to some of the parties
    +receiving the covered work authorizing them to use, propagate, modify
    +or convey a specific copy of the covered work, then the patent license
    +you grant is automatically extended to all recipients of the covered
    +work and works based on it.
    +
    +  A patent license is "discriminatory" if it does not include within
    +the scope of its coverage, prohibits the exercise of, or is
    +conditioned on the non-exercise of one or more of the rights that are
    +specifically granted under this License.  You may not convey a covered
    +work if you are a party to an arrangement with a third party that is
    +in the business of distributing software, under which you make payment
    +to the third party based on the extent of your activity of conveying
    +the work, and under which the third party grants, to any of the
    +parties who would receive the covered work from you, a discriminatory
    +patent license (a) in connection with copies of the covered work
    +conveyed by you (or copies made from those copies), or (b) primarily
    +for and in connection with specific products or compilations that
    +contain the covered work, unless you entered into that arrangement,
    +or that patent license was granted, prior to 28 March 2007.
    +
    +  Nothing in this License shall be construed as excluding or limiting
    +any implied license or other defenses to infringement that may
    +otherwise be available to you under applicable patent law.
    +
    +  12. No Surrender of Others' Freedom.
    +
    +  If conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot convey a
    +covered work so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you may
    +not convey it at all.  For example, if you agree to terms that obligate you
    +to collect a royalty for further conveying from those to whom you convey
    +the Program, the only way you could satisfy both those terms and this
    +License would be to refrain entirely from conveying the Program.
    +
    +  13. Use with the GNU Affero General Public License.
    +
    +  Notwithstanding any other provision of this License, you have
    +permission to link or combine any covered work with a work licensed
    +under version 3 of the GNU Affero General Public License into a single
    +combined work, and to convey the resulting work.  The terms of this
    +License will continue to apply to the part which is the covered work,
    +but the special requirements of the GNU Affero General Public License,
    +section 13, concerning interaction through a network will apply to the
    +combination as such.
    +
    +  14. Revised Versions of this License.
    +
    +  The Free Software Foundation may publish revised and/or new versions of
    +the GNU General Public License from time to time.  Such new versions will
    +be similar in spirit to the present version, but may differ in detail to
    +address new problems or concerns.
    +
    +  Each version is given a distinguishing version number.  If the
    +Program specifies that a certain numbered version of the GNU General
    +Public License "or any later version" applies to it, you have the
    +option of following the terms and conditions either of that numbered
    +version or of any later version published by the Free Software
    +Foundation.  If the Program does not specify a version number of the
    +GNU General Public License, you may choose any version ever published
    +by the Free Software Foundation.
    +
    +  If the Program specifies that a proxy can decide which future
    +versions of the GNU General Public License can be used, that proxy's
    +public statement of acceptance of a version permanently authorizes you
    +to choose that version for the Program.
    +
    +  Later license versions may give you additional or different
    +permissions.  However, no additional obligations are imposed on any
    +author or copyright holder as a result of your choosing to follow a
    +later version.
    +
    +  15. Disclaimer of Warranty.
    +
    +  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    +APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    +IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. Limitation of Liability.
    +
    +  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGES.
    +
    +  17. Interpretation of Sections 15 and 16.
    +
    +  If the disclaimer of warranty and limitation of liability provided
    +above cannot be given local legal effect according to their terms,
    +reviewing courts shall apply local law that most closely approximates
    +an absolute waiver of all civil liability in connection with the
    +Program, unless a warranty or assumption of liability accompanies a
    +copy of the Program in return for a fee.
    +
    +		     END OF TERMS AND CONDITIONS
    +
    +	    How to Apply These Terms to Your New Programs
    +
    +  If you develop a new program, and you want it to be of the greatest
    +possible use to the public, the best way to achieve this is to make it
    +free software which everyone can redistribute and change under these terms.
    +
    +  To do so, attach the following notices to the program.  It is safest
    +to attach them to the start of each source file to most effectively
    +state the exclusion of warranty; and each file should have at least
    +the "copyright" line and a pointer to where the full notice is found.
    +
    +    <one line to give the program's name and a brief idea of what it does.>
    +    Copyright (C) <year>  <name of author>
    +
    +    This program is free software: you can redistribute it and/or modify
    +    it under the terms of the GNU General Public License as published by
    +    the Free Software Foundation, either version 3 of the License, or
    +    (at your option) any later version.
    +
    +    This program is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +    GNU General Public License for more details.
    +
    +    You should have received a copy of the GNU General Public License
    +    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +  If the program does terminal interaction, make it output a short
    +notice like this when it starts in an interactive mode:
    +
    +    <program>  Copyright (C) <year>  <name of author>
    +    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    +    This is free software, and you are welcome to redistribute it
    +    under certain conditions; type `show c' for details.
    +
    +The hypothetical commands `show w' and `show c' should show the appropriate
    +parts of the General Public License.  Of course, your program's commands
    +might be different; for a GUI interface, you would use an "about box".
    +
    +  You should also get your employer (if you work as a programmer) or school,
    +if any, to sign a "copyright disclaimer" for the program, if necessary.
    +For more information on this, and how to apply and follow the GNU GPL, see
    +<http://www.gnu.org/licenses/>.
    +
    +  The GNU General Public License does not permit incorporating your program
    +into proprietary programs.  If your program is a subroutine library, you
    +may consider it more useful to permit linking proprietary applications with
    +the library.  If this is what you want to do, use the GNU Lesser General
    +Public License instead of this License.  But first, please read
    +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
    +
    +
    +
    +
    + + +
    + +
    +

    funcparserlib + 0.3.6 +

    + + +
    Copyright 2008/2011 Andrey Vlasovskikh
    + + + + +
    Copyright © 2008/2011 Andrey Vlasovskikh
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software is furnished to do so,
    +subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR
    +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
    + + +
    + +
    +

    python-ldap + 2.4.20 +

    + + + + + +
    +The python-ldap package is distributed under Python-style license.
    +
    +Standard disclaimer:
    +   This software is made available by the author(s) to the public for free
    +   and "as is".  All users of this free software are solely and entirely
    +   responsible for their own choice and use of this software for their
    +   own purposes.  By using this software, each user agrees that the
    +   author(s) shall not be liable for damages of any kind in relation to
    +   its use or performance. The author(s) do not warrant that this software
    +   is fit for any purpose.
    +
    +$Id: LICENCE,v 1.1 2002/09/18 18:51:22 stroeder Exp $
    +
    + + +
    + +
    +

    ecdsa + 0.13 +

    + + +
    python-ecdsa Copyright (c) 2010 Brian Warner
    +Portions written in 2005 by Peter Pearson and placed in the public domain.
    + + + + + +
    + +
    +

    django-filter + 0.11.0 +

    + + +
    Copyright (c) Alex Gaynor and individual contributors.
    + + + + +
    Copyright (c) Alex Gaynor and individual contributors.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    + * Redistributions of source code must retain the above copyright notice, this
    +   list of conditions and the following disclaimer.
    + * Redistributions in binary form must reproduce the above copyright notice,
    +   this list of conditions and the following disclaimer in the documentation
    +   and/or other materials provided with the distribution.
    + * The names of its contributors may not be used to endorse or promote products
    +   derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    pycrypto + 2.6.1 +

    + + + + + +
    Copyright and licensing of the Python Cryptography Toolkit ("PyCrypto"):
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    +
    +Previously, the copyright and/or licensing status of the Python
    +Cryptography Toolkit ("PyCrypto") had been somewhat ambiguous.  The
    +original intention of Andrew M. Kuchling and other contributors has
    +been to dedicate PyCrypto to the public domain, but that intention was
    +not necessarily made clear in the original disclaimer (see
    +LEGAL/copy/LICENSE.orig).
    +
    +Additionally, some files within PyCrypto had specified their own
    +licenses that differed from the PyCrypto license itself.  For example,
    +the original RIPEMD.c module simply had a copyright statement and
    +warranty disclaimer, without clearly specifying any license terms.
    +(An updated version on the author's website came with a license that
    +contained a GPL-incompatible advertising clause.)
    +
    +To rectify this situation for PyCrypto 2.1, the following steps have
    +been taken:
    +
    + 1. Obtaining explicit permission from the original contributors to
    +    dedicate their contributions to the public domain if they have not
    +    already done so.  (See the "LEGAL/copy/stmts" directory for
    +    contributors' statements.)
    +
    + 2. Replacing some modules with clearly-licensed code from other
    +    sources (e.g. the DES and DES3 modules were replaced with new ones
    +    based on Tom St. Denis's public-domain LibTomCrypt library.)
    +
    + 3. Replacing some modules with code written from scratch (e.g. the
    +    RIPEMD and Blowfish modules were re-implemented from their
    +    respective algorithm specifications without reference to the old
    +    implementations).
    +
    + 4. Removing some modules altogether without replacing them.
    +
    +To the best of our knowledge, with the exceptions noted below or
    +within the files themselves, the files that constitute PyCrypto are in
    +the public domain.  Most are distributed with the following notice:
    +
    +  The contents of this file are dedicated to the public domain.  To
    +  the extent that dedication to the public domain is not available,
    +  everyone is granted a worldwide, perpetual, royalty-free,
    +  non-exclusive license to exercise all rights associated with the
    +  contents of this file for any purpose whatsoever.
    +  No rights are reserved.
    +
    +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    +  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    +  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +  SOFTWARE.
    +
    +Exception:
    +
    + - Portions of HMAC.py and setup.py are derived from Python 2.2, and
    +   are therefore Copyright (c) 2001, 2002, 2003 Python Software
    +   Foundation (All Rights Reserved).  They are licensed by the PSF
    +   under the terms of the Python 2.2 license.  (See the file
    +   LEGAL/copy/LICENSE.python-2.2 for details.)
    +
    +EXPORT RESTRICTIONS:
    +
    +Note that the export or re-export of cryptographic software and/or
    +source code may be subject to regulation in your jurisdiction.
    +
    +
    +
    +==================================================================
    +LICENSE.python-2.2
    +LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    +LICENSE.libtom  LICENSE file from LibTomCrypt
    +stmts/          Statements by contributors
    +
    +==================================================================
    +LICENSE.python-2.2
    +
    +A. HISTORY OF THE SOFTWARE
    +==========================
    +
    +Python was created in the early 1990s by Guido van Rossum at Stichting
    +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    +as a successor of a language called ABC.  Guido remains Python's
    +principal author, although it includes many contributions from others.
    +
    +In 1995, Guido continued his work on Python at the Corporation for
    +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    +in Reston, Virginia where he released several versions of the
    +software.
    +
    +In May 2000, Guido and the Python core development team moved to
    +BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    +year, the PythonLabs team moved to Digital Creations (now Zope
    +Corporation, see http://www.zope.com).  In 2001, the Python Software
    +Foundation (PSF, see http://www.python.org/psf/) was formed, a
    +non-profit organization created specifically to own Python-related
    +Intellectual Property.  Zope Corporation is a sponsoring member of
    +the PSF.
    +
    +All Python releases are Open Source (see http://www.opensource.org for
    +the Open Source Definition).  Historically, most, but not all, Python
    +releases have also been GPL-compatible; the table below summarizes
    +the various releases.
    +
    +    Release         Derived     Year        Owner       GPL-
    +            from                                compatible? (1)
    +
    +    0.9.0 thru 1.2              1991-1995   CWI         yes
    +    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    +    1.6             1.5.2       2000        CNRI        no
    +    2.0             1.6         2000        BeOpen.com  no
    +    1.6.1           1.6         2001        CNRI        no
    +    2.1             2.0+1.6.1   2001        PSF         no
    +    2.0.1           2.0+1.6.1   2001        PSF         yes
    +    2.1.1           2.1+2.0.1   2001        PSF         yes
    +    2.2             2.1.1       2001        PSF         yes
    +    2.1.2           2.1.1       2002        PSF         yes
    +    2.1.3           2.1.2       2002        PSF         yes
    +    2.2.1           2.2         2002        PSF         yes
    +    2.2.2           2.2.1       2002        PSF         yes
    +    2.2.3           2.2.2       2003        PSF         yes
    +
    +Footnotes:
    +
    +(1) GPL-compatible doesn't mean that we're distributing Python under
    +    the GPL.  All Python licenses, unlike the GPL, let you distribute
    +    a modified version without making your changes open source.  The
    +    GPL-compatible licenses make it possible to combine Python with
    +    other software that is released under the GPL; the others don't.
    +
    +Thanks to the many outside volunteers who have worked under Guido's
    +direction to make these releases possible.
    +
    +
    +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    +===============================================================
    +
    +PSF LICENSE AGREEMENT FOR PYTHON 2.2.3
    +--------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Python Software Foundation
    +("PSF"), and the Individual or Organization ("Licensee") accessing and
    +otherwise using Python 2.2.3 software in source or binary form and its
    +associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, PSF
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 2.2.3
    +alone or in any derivative version, provided, however, that PSF's
    +License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
    +retained in Python 2.2.3 alone or in any derivative version prepared
    +by Licensee.
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 2.2.3 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 2.2.3.
    +
    +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
    +basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. Nothing in this License Agreement shall be deemed to create any
    +relationship of agency, partnership, or joint venture between PSF and
    +Licensee.  This License Agreement does not grant permission to use PSF
    +trademarks or trade name in a trademark sense to endorse or promote
    +products or services of Licensee, or any third party.
    +
    +8. By copying, installing or otherwise using Python 2.2.3, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    +-------------------------------------------
    +
    +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    +
    +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    +Individual or Organization ("Licensee") accessing and otherwise using
    +this software in source or binary form and its associated
    +documentation ("the Software").
    +
    +2. Subject to the terms and conditions of this BeOpen Python License
    +Agreement, BeOpen hereby grants Licensee a non-exclusive,
    +royalty-free, world-wide license to reproduce, analyze, test, perform
    +and/or display publicly, prepare derivative works, distribute, and
    +otherwise use the Software alone or in any derivative version,
    +provided, however, that the BeOpen Python License is retained in the
    +Software, alone or in any derivative version prepared by Licensee.
    +
    +3. BeOpen is making the Software available to Licensee on an "AS IS"
    +basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +5. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +6. This License Agreement shall be governed by and interpreted in all
    +respects by the law of the State of California, excluding conflict of
    +law provisions.  Nothing in this License Agreement shall be deemed to
    +create any relationship of agency, partnership, or joint venture
    +between BeOpen and Licensee.  This License Agreement does not grant
    +permission to use BeOpen trademarks or trade names in a trademark
    +sense to endorse or promote products or services of Licensee, or any
    +third party.  As an exception, the "BeOpen Python" logos available at
    +http://www.pythonlabs.com/logos.html may be used according to the
    +permissions granted on that web page.
    +
    +7. By copying, installing or otherwise using the software, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    +---------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Corporation for National
    +Research Initiatives, having an office at 1895 Preston White Drive,
    +Reston, VA 20191 ("CNRI"), and the Individual or Organization
    +("Licensee") accessing and otherwise using Python 1.6.1 software in
    +source or binary form and its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, CNRI
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 1.6.1
    +alone or in any derivative version, provided, however, that CNRI's
    +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    +1995-2001 Corporation for National Research Initiatives; All Rights
    +Reserved" are retained in Python 1.6.1 alone or in any derivative
    +version prepared by Licensee.  Alternately, in lieu of CNRI's License
    +Agreement, Licensee may substitute the following text (omitting the
    +quotes): "Python 1.6.1 is made available subject to the terms and
    +conditions in CNRI's License Agreement.  This Agreement together with
    +Python 1.6.1 may be located on the Internet using the following
    +unique, persistent identifier (known as a handle): 1895.22/1013.  This
    +Agreement may also be obtained from a proxy server on the Internet
    +using the following URL: http://hdl.handle.net/1895.22/1013".
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 1.6.1 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 1.6.1.
    +
    +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    +basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. This License Agreement shall be governed by the federal
    +intellectual property law of the United States, including without
    +limitation the federal copyright law, and, to the extent such
    +U.S. federal law does not apply, by the law of the Commonwealth of
    +Virginia, excluding Virginia's conflict of law provisions.
    +Notwithstanding the foregoing, with regard to derivative works based
    +on Python 1.6.1 that incorporate non-separable material that was
    +previously distributed under the GNU General Public License (GPL), the
    +law of the Commonwealth of Virginia shall govern this License
    +Agreement only as to issues arising under or with respect to
    +Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    +License Agreement shall be deemed to create any relationship of
    +agency, partnership, or joint venture between CNRI and Licensee.  This
    +License Agreement does not grant permission to use CNRI trademarks or
    +trade name in a trademark sense to endorse or promote products or
    +services of Licensee, or any third party.
    +
    +8. By clicking on the "ACCEPT" button where indicated, or by copying,
    +installing or otherwise using Python 1.6.1, Licensee agrees to be
    +bound by the terms and conditions of this License Agreement.
    +
    +        ACCEPT
    +
    +
    +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    +--------------------------------------------------
    +
    +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    +The Netherlands.  All rights reserved.
    +
    +Permission to use, copy, modify, and distribute this software and its
    +documentation for any purpose and without fee is hereby granted,
    +provided that the above copyright notice appear in all copies and that
    +both that copyright notice and this permission notice appear in
    +supporting documentation, and that the name of Stichting Mathematisch
    +Centrum or CWI not be used in advertising or publicity pertaining to
    +distribution of the software without specific, written prior
    +permission.
    +
    +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +
    +===================================================================
    +LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    +===================================================================
    +Distribute and use freely; there are no restrictions on further
    +dissemination and usage except those imposed by the laws of your
    +country of residence.  This software is provided "as is" without
    +warranty of fitness for use or suitability for any purpose, express
    +or implied. Use at your own risk or not at all.
    +===================================================================
    +
    +Incorporating the code into commercial products is permitted; you do
    +not have to make source available or contribute your changes back
    +(though that would be nice).
    +
    +--amk                                                             (www.amk.ca)
    +
    +
    +
    +LICENSE.libtom  LICENSE file from LibTomCrypt
    +===================================================================
    +LibTomCrypt is public domain.  As should all quality software be.
    +
    +Tom St Denis
    +
    +
    +
    +Statements by contributors
    +===================================================================
    +From dlitz@dlitz.net Sun Nov 23 00:17:22 2008
    +Date: Sun, 23 Nov 2008 00:17:22 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: "A. M. Kuchling" <amk@amk.ca>
    +Subject: PyCrypto license clarification
    +Message-ID: <20081123051722.GA29253@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: multipart/signed; micalg=pgp-sha1;
    +    protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4"
    +Content-Disposition: inline
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3461
    +Lines: 78
    +
    +
    +--YiEDa0DAkWCtVeE4
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +Content-Transfer-Encoding: quoted-printable
    +
    +Hi Andrew,
    +
    +People often ask me what license PyCrypto is covered by, if it's=20
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them. =20
    +The text in the current LICENSE file (quoted below) is not entirely clear=
    +=20
    +on the point of whether distributing modified versions is allowed.  (It=20
    +says "distribute and use", but not "modify".)
    +
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +     Distribute and use freely; there are no restrictions on further
    +     dissemination and usage except those imposed by the laws of your
    +     country of residence.  This software is provided "as is" without
    +     warranty of fitness for use or suitability for any purpose, express
    +     or implied. Use at your own risk or not at all.
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +     Incorporating the code into commercial products is permitted; you do
    +     not have to make source available or contribute your changes back
    +     (though that would be nice).
    +
    +     --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I'd like to take steps to move toward a=20
    +clearer licensing regime.  I'm asking as many copyright holders as I can=20
    +find, starting with you, if I can release PyCrypto under something clearer=
    +=20
    +and more standard.  Below, I have quoted a public domain dedication that=20
    +was recommended in _Intellectual Property and Open Source: A Practical=20
    +Guide to Protecting Code_, by Van Lindberg.
    +
    +May I, on your behalf, dedicate to the public domain your considerable=20
    +contributions to PyCrypto, with the following notice?
    +
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +     The contents of this file are dedicated to the public domain.  To the
    +     extent that dedication to the public domain is not available, everyone
    +     is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +     to exercise all rights associated with the contents of this file for
    +     any purpose whatsoever.  No rights are reserved.
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +Regards,
    +  - Dwayne
    +
    +--=20
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +--YiEDa0DAkWCtVeE4
    +Content-Type: application/pgp-signature; name="signature.asc"
    +Content-Description: Digital signature
    +Content-Disposition: inline
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.5 (GNU/Linux)
    +
    +iEYEARECAAYFAkko52IACgkQHBG4d+eAS0XPPQCfcyQ2DdAXKg9N7Z+jeSFFD5EZ
    +yloAn33a3ZjkteyJaTbzEqImOEW8JGpf
    +=aBEW
    +-----END PGP SIGNATURE-----
    +
    +--YiEDa0DAkWCtVeE4--
    +
    +From amk@amk.ca Sun Nov 23 07:51:59 2008
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <amk@amk.ca>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 5C2C75047D
    +    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 07:51:59 -0500 (EST)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id D632D10111
    +    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    +Received: (vmailmgr-postfix 12026 invoked by uid 1003); 23 Nov 2008 06:51:58 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (goedel.dlitz.net: domain of amk@amk.ca does not designate permitted sender hosts)
    +Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.7])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 97DC710105
    +    for <dlitz@dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    +Received: (qmail 3992 invoked from network); 23 Nov 2008 12:51:52 -0000
    +Received: from dsl092-163-165.wdc2.dsl.speakeasy.net (HELO localhost) (akuchling@[66.92.163.165])
    +          (envelope-sender <amk@amk.ca>)
    +          by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP
    +          for <dlitz@dlitz.net>; 23 Nov 2008 12:51:52 -0000
    +Date: Sun, 23 Nov 2008 07:51:34 -0500
    +From: "A.M. Kuchling" <amk@amk.ca>
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20081123125134.GA21239@amk.local>
    +Reply-To: amk@amk.ca
    +References: <20081123051722.GA29253@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii
    +Content-Disposition: inline
    +In-Reply-To: <20081123051722.GA29253@rivest.dlitz.net>
    +User-Agent: Mutt/1.5.13 (2006-08-11)
    +Status: RO
    +Content-Length: 537
    +Lines: 15
    +
    +> People often ask me what license PyCrypto is covered by, if it's 
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +> The text in the current LICENSE file (quoted below) is not entirely clear 
    +> on the point of whether distributing modified versions is allowed.  (It 
    +> says "distribute and use", but not "modify".)
    +
    +The intention is that it be public domain.
    +
    +> May I, on your behalf, dedicate to the public domain your considerable 
    +> contributions to PyCrypto, with the following notice?
    +
    +You may.
    +
    +--amk
    +
    +
    +================================================
    +From dlitz@dlitz.net Sat Feb 28 21:45:09 2009
    +Date: Sat, 28 Feb 2009 21:45:09 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Barry A Warsaw <barry@python.org>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090301024509.GA13195@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2535
    +
    +Hi Barry,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am 
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's 
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +The text in the current LICENSE file (quoted below) is not entirely clear 
    +on the point of whether distributing modified versions is allowed.  (It 
    +says "distribute and use", but not "modify".)
    +
    +  ===================================================================
    +  Distribute and use freely; there are no restrictions on further
    +  dissemination and usage except those imposed by the laws of your
    +  country of residence.  This software is provided "as is" without
    +  warranty of fitness for use or suitability for any purpose, express
    +  or implied. Use at your own risk or not at all.
    +  ===================================================================
    +
    +  Incorporating the code into commercial products is permitted; you do
    +  not have to make source available or contribute your changes back
    +  (though that would be nice).
    +
    +  --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a 
    +clearer licensing regime.  I am asking as many copyright holders as I can 
    +find if I can release PyCrypto under something clearer and more standard.  
    +Below, I have quoted a public domain dedication that was recommended in 
    +_Intellectual Property and Open Source: A Practical Guide to Protecting 
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    +Pointer, and Wim Lewis, and they have all approved the following dedication 
    +for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your 
    +behalf, dedicate to the public domain all your contributions to PyCrypto, 
    +with the following notice?
    +
    +  =======================================================================
    +  The contents of this file are dedicated to the public domain.  To the
    +  extent that dedication to the public domain is not available, everyone
    +  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +  to exercise all rights associated with the contents of this file for
    +  any purpose whatsoever.  No rights are reserved.
    +  =======================================================================
    +
    +Regards,
    +  - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +     Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From barry@python.org Mon Mar  2 11:29:39 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <barry@python.org>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 6E01AC6640B
    +    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 11:29:39 -0500 (EST)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 0644E1007A
    +    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 10:29:39 -0600 (CST)
    +Received: (vmailmgr-postfix 8668 invoked by uid 1003);  2 Mar 2009 10:29:39 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (python.org: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="barry@python.org"; helo=mail.wooz.org; client-ip=216.15.33.230
    +Received: from mail.wooz.org (216-15-33-230.c3-0.slvr-ubr2.lnh-slvr.md.static.cable.rcn.com [216.15.33.230])
    +    by goedel.dlitz.net (Postfix) with ESMTP id CCEA110073
    +    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 10:29:38 -0600 (CST)
    +Received: from snowdog.wooz.org (snowdog.wooz.org [192.168.11.202])
    +    by mail.wooz.org (Postfix) with ESMTPSA id ACE30E3C9F
    +    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 11:29:35 -0500 (EST)
    +Message-Id: <09BF1A39-B015-4820-97A3-8642490C8254@python.org>
    +From: Barry Warsaw <barry@python.org>
    +To: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +In-Reply-To: <20090301024509.GA13195@rivest.dlitz.net>
    +Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
    +Content-Transfer-Encoding: quoted-printable
    +Mime-Version: 1.0 (Apple Message framework v930.3)
    +Subject: Re: PyCrypto license clarification
    +Date: Mon, 2 Mar 2009 11:29:34 -0500
    +References: <20090301024509.GA13195@rivest.dlitz.net>
    +X-Pgp-Agent: GPGMail d55 (v55, Leopard)
    +X-Mailer: Apple Mail (2.930.3)
    +Status: RO
    +Content-Length: 869
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On Feb 28, 2009, at 9:45 PM, Dwayne C. Litzenberger wrote:
    +
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am =20=
    +
    +> working on a new release at http://www.pycrypto.org/.
    +
    +Great!  I'm glad to see someone taking up the mantle of this important =20=
    +
    +Python library.
    +
    +> I understand that you have made contributions to PyCrypto.  May I, =20
    +> on your behalf, dedicate to the public domain all your contributions =20=
    +
    +> to PyCrypto, with the following notice?
    +
    +Absolutely yes.
    +
    +Cheers,
    +Barry
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.9 (Darwin)
    +
    +iQCVAwUBSawJbnEjvBPtnXfVAQLZjgP/ecG+JdZwNvPJRfsa6rhY6+MHLDHI6agk
    +evkJnSJQAcVHlZnVlVeR5IXgvDUMakZjU4SOV7MqkhsKA9lIet7PaD9VSYgn3ra5
    +gElwI2DQDoOy5GExXMm74gqrrb1PCCbCRmpaYNo+DZohwHkeFBjbwDRA3wItOrH7
    +SK4w9VBJtfY=3D
    +=3DQduY
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +===================================================
    +From dlitz@dlitz.net Sat Feb 28 23:24:14 2009
    +Date: Sat, 28 Feb 2009 23:24:14 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Jeethu Rao <jeethurao@gmail.com>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090301042414.GA15122@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2513
    +
    +Hi Jeethu,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am 
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's 
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +The text in the current LICENSE file (quoted below) is not entirely clear 
    +on the point of whether distributing modified versions is allowed.  (It 
    +says "distribute and use", but not "modify".)
    +
    + ===================================================================
    + Distribute and use freely; there are no restrictions on further
    + dissemination and usage except those imposed by the laws of your
    + country of residence.  This software is provided "as is" without
    + warranty of fitness for use or suitability for any purpose, express
    + or implied. Use at your own risk or not at all.
    + ===================================================================
    +
    + Incorporating the code into commercial products is permitted; you do
    + not have to make source available or contribute your changes back
    + (though that would be nice).
    +
    + --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a 
    +clearer licensing regime.  I am asking as many copyright holders as I can 
    +find if I can release PyCrypto under something clearer and more standard.  
    +Below, I have quoted a public domain dedication that was recommended in 
    +_Intellectual Property and Open Source: A Practical Guide to Protecting 
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    +Pointer, and Wim Lewis, and they have all approved the following text for 
    +their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your 
    +behalf, dedicate to the public domain all your contributions to PyCrypto, 
    +with the following notice?
    +
    + =======================================================================
    + The contents of this file are dedicated to the public domain.  To the
    + extent that dedication to the public domain is not available, everyone
    + is granted a worldwide, perpetual, royalty-free, non-exclusive license
    + to exercise all rights associated with the contents of this file for
    + any purpose whatsoever.  No rights are reserved.
    + =======================================================================
    +
    +Regards,
    + - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +       Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From jeethurao@gmail.com Sun Mar  8 17:28:16 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <jeethurao@gmail.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 0CC83515D9
    +    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 17:28:16 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 4E58F450CB
    +    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 15:28:15 -0600 (CST)
    +Received: (vmailmgr-postfix 5011 invoked by uid 1003);  8 Mar 2009 15:28:15 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: pass (gmail.com ... _spf.google.com: 209.85.198.249 is authorized to use 'jeethurao@gmail.com' in 'mfrom' identity (mechanism 'ip4:209.85.128.0/17' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="jeethurao@gmail.com"; helo=rv-out-0708.google.com; client-ip=209.85.198.249
    +Received: from rv-out-0708.google.com (unknown [209.85.198.249])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 3C097449E7
    +    for <dlitz@dlitz.net>; Sun,  8 Mar 2009 15:28:12 -0600 (CST)
    +Received: by rv-out-0708.google.com with SMTP id k29so1252333rvb.26
    +        for <dlitz@dlitz.net>; Sun, 08 Mar 2009 14:27:56 -0700 (PDT)
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    +        d=gmail.com; s=gamma;
    +        h=domainkey-signature:mime-version:received:in-reply-to:references
    +         :date:message-id:subject:from:to:content-type;
    +        bh=YWy9U32WCU/ksRqukHwaOZyJQBUs4Yvt5mI20U6mI/g=;
    +        b=oMjI22lIxYiJKge2zNJW3rRiUi9LqFXmey5Wp0pLItuNF+X3duyfhopTuBAKw7MwVY
    +         B5E6VQuGVEyzBbNsctyVgq6DhQiQtouCLZymSViobmuDmKn5DtUKoxpDk0xCxQmHYaas
    +         L9/A6D3/J66kKrNBgX9mc0GPcZTviVFYkPR0Q=
    +DomainKey-Signature: a=rsa-sha1; c=nofws;
    +        d=gmail.com; s=gamma;
    +        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
    +         :content-type;
    +        b=Ym7CStuDEfJKay1AJyWZkZmJA1lnTcwCG6akBHAXLld8ht6PFcmlsffzZG8hJCIVJ8
    +         vljqcT+G6cywVTBw1pyGX7ECYzr0+vhGvgdpACGrs24zikHfpSSd5GFogzXaLVvGVH8p
    +         bqSHpfWKKtEP4gAQkiNeIq1GNtR2j8U3fnRyg=
    +MIME-Version: 1.0
    +Received: by 10.141.176.13 with SMTP id d13mr2656028rvp.231.1236547674677; 
    +    Sun, 08 Mar 2009 14:27:54 -0700 (PDT)
    +In-Reply-To: <20090301042414.GA15122@rivest.dlitz.net>
    +References: <20090301042414.GA15122@rivest.dlitz.net>
    +Date: Mon, 9 Mar 2009 02:57:54 +0530
    +Message-ID: <e3c0ddba0903081427p3a7b1058g417dd8624df68d6d@mail.gmail.com>
    +Subject: Re: PyCrypto license clarification
    +From: Jeethu Rao <jeethurao@gmail.com>
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Content-Type: multipart/alternative; boundary=000e0cd209d0e5a3d40464a23054
    +Status: RO
    +Content-Length: 7668
    +
    +--000e0cd209d0e5a3d40464a23054
    +Content-Type: text/plain; charset=ISO-8859-1
    +Content-Transfer-Encoding: 7bit
    +
    +Hi Dwayne,My contribution to pycrypto are very very minimal (The sha256
    +module, IIRC).
    +I'd be fine with the public domain license for PyCrypto.
    +
    +Jeethu Rao
    +PS: Apologies for the delay in my response.
    +I don't really check this email address all that often,
    +please direct any further correspondence to jeethu@jeethurao.com
    +
    +On Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <dlitz@dlitz.net>wrote:
    +
    +> Hi Jeethu,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +>
    +> People often ask me what license PyCrypto is covered by, if it's
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  The
    +> text in the current LICENSE file (quoted below) is not entirely clear on the
    +> point of whether distributing modified versions is allowed.  (It says
    +> "distribute and use", but not "modify".)
    +>
    +> ===================================================================
    +> Distribute and use freely; there are no restrictions on further
    +> dissemination and usage except those imposed by the laws of your
    +> country of residence.  This software is provided "as is" without
    +> warranty of fitness for use or suitability for any purpose, express
    +> or implied. Use at your own risk or not at all.
    +> ===================================================================
    +>
    +> Incorporating the code into commercial products is permitted; you do
    +> not have to make source available or contribute your changes back
    +> (though that would be nice).
    +>
    +> --amk                                                    (www.amk.ca)
    +>
    +> For the next PyCrypto release, I would like to take steps to move toward a
    +> clearer licensing regime.  I am asking as many copyright holders as I can
    +> find if I can release PyCrypto under something clearer and more standard.
    +>  Below, I have quoted a public domain dedication that was recommended in
    +> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +> Pointer, and Wim Lewis, and they have all approved the following text for
    +> their contributions.
    +>
    +> I understand that you have made contributions to PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +> with the following notice?
    +>
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +> Regards,
    +> - Dwayne
    +>
    +> --
    +> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>      Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>
    +
    +
    +
    +-- 
    +Jeethu Rao
    +
    +--000e0cd209d0e5a3d40464a23054
    +Content-Type: text/html; charset=ISO-8859-1
    +Content-Transfer-Encoding: quoted-printable
    +
    +Hi Dwayne,<div>My contribution to pycrypto are very very minimal (The sha25=
    +6 module, IIRC).</div><div>I&#39;d be fine with the public domain license f=
    +or PyCrypto.</div><div><br></div><div>Jeethu Rao</div><div>PS: Apologies fo=
    +r the delay in my response.=A0</div>
    +<div>I don&#39;t really check this email address all that often,</div><div>=
    +please direct any further correspondence to <a href=3D"mailto:jeethu@jeethu=
    +rao.com">jeethu@jeethurao.com</a><br><div><br><div class=3D"gmail_quote">On=
    + Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <span dir=3D"ltr">&lt;=
    +<a href=3D"mailto:dlitz@dlitz.net">dlitz@dlitz.net</a>&gt;</span> wrote:<br=
    +>
    +<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
    +x #ccc solid;padding-left:1ex;">Hi Jeethu,<br>
    +<br>
    +I am the new maintainer of the Python Cryptography Toolkit, and I am workin=
    +g on a new release at <a href=3D"http://www.pycrypto.org/" target=3D"_blank=
    +">http://www.pycrypto.org/</a>.<br>
    +<br>
    +People often ask me what license PyCrypto is covered by, if it&#39;s GPL-co=
    +mpatible, etc. =A0Right now, I&#39;m not really sure what to tell them. =A0=
    +The text in the current LICENSE file (quoted below) is not entirely clear o=
    +n the point of whether distributing modified versions is allowed. =A0(It sa=
    +ys &quot;distribute and use&quot;, but not &quot;modify&quot;.)<br>
    +
    +<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +Distribute and use freely; there are no restrictions on further<br>
    +dissemination and usage except those imposed by the laws of your<br>
    +country of residence. =A0This software is provided &quot;as is&quot; withou=
    +t<br>
    +warranty of fitness for use or suitability for any purpose, express<br>
    +or implied. Use at your own risk or not at all.<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +<br>
    +Incorporating the code into commercial products is permitted; you do<br>
    +not have to make source available or contribute your changes back<br>
    +(though that would be nice).<br>
    +<br>
    +--amk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
    +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(<a href=3D"http://www.amk.ca" target=3D=
    +"_blank">www.amk.ca</a>)<br>
    +<br>
    +For the next PyCrypto release, I would like to take steps to move toward a =
    +clearer licensing regime. =A0I am asking as many copyright holders as I can=
    + find if I can release PyCrypto under something clearer and more standard. =
    +=A0Below, I have quoted a public domain dedication that was recommended in =
    +_Intellectual Property and Open Source: A Practical Guide to Protecting Cod=
    +e_, by Van Lindberg. =A0I have already contacted A. M. Kuchling, Robey Poin=
    +ter, and Wim Lewis, and they have all approved the following text for their=
    + contributions.<br>
    +
    +<br>
    +I understand that you have made contributions to PyCrypto. =A0May I, on you=
    +r behalf, dedicate to the public domain all your contributions to PyCrypto,=
    + with the following notice?<br>
    +<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +The contents of this file are dedicated to the public domain. =A0To the<br>
    +extent that dedication to the public domain is not available, everyone<br>
    +is granted a worldwide, perpetual, royalty-free, non-exclusive license<br>
    +to exercise all rights associated with the contents of this file for<br>
    +any purpose whatsoever. =A0No rights are reserved.<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +<br>
    +Regards,<br>
    +- Dwayne<br><font color=3D"#888888">
    +<br>
    +-- <br>
    +Dwayne C. Litzenberger &lt;<a href=3D"mailto:dlitz@dlitz.net" target=3D"_bl=
    +ank">dlitz@dlitz.net</a>&gt;<br>
    + =A0 =A0 =A0Key-signing key =A0 - 19E1 1FE8 B3CF F273 ED17 =A04A24 928C EC1=
    +3 39C2 5CF7<br>
    +</font></blockquote></div><br><br clear=3D"all"><br>-- <br>Jeethu Rao<br>
    +</div></div>
    +
    +--000e0cd209d0e5a3d40464a23054--
    +
    +
    +=======================================================
    +From dlitz@dlitz.net Mon May  4 22:49:14 2009
    +Date: Mon, 4 May 2009 22:49:14 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Joris Bontje <joris@bontje.nl>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090505024914.GA9219@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2553
    +
    +Hi Joris,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +  ===================================================================
    +  Distribute and use freely; there are no restrictions on further
    +  dissemination and usage except those imposed by the laws of your
    +  country of residence.  This software is provided "as is" without
    +  warranty of fitness for use or suitability for any purpose, express
    +  or implied. Use at your own risk or not at all.
    +  ===================================================================
    +
    +  Incorporating the code into commercial products is permitted; you do
    +  not have to make source available or contribute your changes back
    +  (though that would be nice).
    +
    +  --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +have all approved the following dedication for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your
    +behalf, dedicate to the public domain all your contributions to PyCrypto,
    +with the following notice?
    +
    +  =======================================================================
    +  The contents of this file are dedicated to the public domain.  To the
    +  extent that dedication to the public domain is not available, everyone
    +  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +  to exercise all rights associated with the contents of this file for
    +  any purpose whatsoever.  No rights are reserved.
    +  =======================================================================
    +
    +Regards,
    + - Dwayne
    +
    +--
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From joris@bontje.nl Tue May  5 03:08:32 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <joris@bontje.nl>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 7AA4B9E5078
    +    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 03:08:32 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 2315B40583
    +    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 01:08:32 -0600 (CST)
    +Received: (vmailmgr-postfix 16890 invoked by uid 1003);  5 May 2009 01:08:32 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (bontje.nl: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="joris@bontje.nl"; helo=smtp6.versatel.nl; client-ip=62.58.50.97
    +Received: from smtp6.versatel.nl (smtp6.versatel.nl [62.58.50.97])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 2D76A4052C
    +    for <dlitz@dlitz.net>; Tue,  5 May 2009 01:08:30 -0600 (CST)
    +Received: (qmail 4224 invoked by uid 0); 5 May 2009 07:08:25 -0000
    +Received: from qmail06.zonnet.nl (HELO dell062.admin.zonnet.nl) ([10.170.1.123])
    +          (envelope-sender <joris@bontje.nl>)
    +          by 10.170.1.96 (qmail-ldap-1.03) with SMTP
    +          for < >; 5 May 2009 07:08:25 -0000
    +Received: by dell062.admin.zonnet.nl (Postfix, from userid 33)
    +    id 9BE9B15759B; Tue,  5 May 2009 09:08:25 +0200 (CEST)
    +Received: from firewall66.interaccess.nl (firewall66.interaccess.nl
    +    [193.173.35.66]) by www.webmail.vuurwerk.nl (Horde MIME library) with HTTP;
    +    Tue, 05 May 2009 09:08:25 +0200
    +Message-ID: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +Date: Tue, 05 May 2009 09:08:25 +0200
    +From: joris@bontje.nl
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Subject: Re: PyCrypto license clarification
    +References: <20090505024914.GA9219@rivest.dlitz.net>
    +In-Reply-To: <20090505024914.GA9219@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain;
    +    charset=ISO-8859-1;
    +    format="flowed"
    +Content-Disposition: inline
    +Content-Transfer-Encoding: 7bit
    +User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
    +Status: RO
    +X-Status: A
    +Content-Length: 3488
    +
    +Hi Dwayne,
    +
    +Thanks for taking over the PyCrypto library and putting in the required 
    +effort to keep this going.
    +I was very excited to read that it is now one of the installed 
    +libraries for Google AppsEngine!
    +
    +You have my full permission to dedicate all my contributions to 
    +PyCrypto to the public domain with your suggested notice:
    +=======================================================================
    +The contents of this file are dedicated to the public domain.  To the
    +extent that dedication to the public domain is not available, everyone
    +is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +to exercise all rights associated with the contents of this file for
    +any purpose whatsoever.  No rights are reserved.
    +=======================================================================
    +
    +
    +Regards,
    +Joris
    +
    +Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    +
    +> Hi Joris,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +>
    +> People often ask me what license PyCrypto is covered by, if it's
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +> The text in the current LICENSE file (quoted below) is not entirely clear
    +> on the point of whether distributing modified versions is allowed.  (It
    +> says "distribute and use", but not "modify".)
    +>
    +> ===================================================================
    +> Distribute and use freely; there are no restrictions on further
    +> dissemination and usage except those imposed by the laws of your
    +> country of residence.  This software is provided "as is" without
    +> warranty of fitness for use or suitability for any purpose, express
    +> or implied. Use at your own risk or not at all.
    +> ===================================================================
    +>
    +> Incorporating the code into commercial products is permitted; you do
    +> not have to make source available or contribute your changes back
    +> (though that would be nice).
    +>
    +> --amk                                                    (www.amk.ca)
    +>
    +> For the next PyCrypto release, I would like to take steps to move toward a
    +> clearer licensing regime.  I am asking as many copyright holders as I can
    +> find if I can release PyCrypto under something clearer and more standard.
    +> Below, I have quoted a public domain dedication that was recommended in
    +> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +> have all approved the following dedication for their contributions.
    +>
    +> I understand that you have made contributions to PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +> with the following notice?
    +>
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +> Regards,
    +> - Dwayne
    +>
    +> --
    +> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +
    +
    +From dlitz@dlitz.net Tue May  5 17:53:47 2009
    +Date: Tue, 5 May 2009 17:53:47 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: joris@bontje.nl
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090505215347.GB9933@rivest.dlitz.net>
    +References: <20090505024914.GA9219@rivest.dlitz.net> <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +In-Reply-To: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3863
    +
    +Excellent!  Thank you!
    +
    +On Tue, May 05, 2009 at 09:08:25AM +0200, joris@bontje.nl wrote:
    +> Hi Dwayne,
    +>
    +> Thanks for taking over the PyCrypto library and putting in the required 
    +> effort to keep this going.
    +> I was very excited to read that it is now one of the installed libraries 
    +> for Google AppsEngine!
    +>
    +> You have my full permission to dedicate all my contributions to PyCrypto to 
    +> the public domain with your suggested notice:
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +>
    +> Regards,
    +> Joris
    +>
    +> Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    +>
    +>> Hi Joris,
    +>>
    +>> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>>
    +>> People often ask me what license PyCrypto is covered by, if it's
    +>> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +>> The text in the current LICENSE file (quoted below) is not entirely clear
    +>> on the point of whether distributing modified versions is allowed.  (It
    +>> says "distribute and use", but not "modify".)
    +>>
    +>> ===================================================================
    +>> Distribute and use freely; there are no restrictions on further
    +>> dissemination and usage except those imposed by the laws of your
    +>> country of residence.  This software is provided "as is" without
    +>> warranty of fitness for use or suitability for any purpose, express
    +>> or implied. Use at your own risk or not at all.
    +>> ===================================================================
    +>>
    +>> Incorporating the code into commercial products is permitted; you do
    +>> not have to make source available or contribute your changes back
    +>> (though that would be nice).
    +>>
    +>> --amk                                                    (www.amk.ca)
    +>>
    +>> For the next PyCrypto release, I would like to take steps to move toward a
    +>> clearer licensing regime.  I am asking as many copyright holders as I can
    +>> find if I can release PyCrypto under something clearer and more standard.
    +>> Below, I have quoted a public domain dedication that was recommended in
    +>> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +>> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +>> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +>> have all approved the following dedication for their contributions.
    +>>
    +>> I understand that you have made contributions to PyCrypto.  May I, on your
    +>> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +>> with the following notice?
    +>>
    +>> =======================================================================
    +>> The contents of this file are dedicated to the public domain.  To the
    +>> extent that dedication to the public domain is not available, everyone
    +>> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>> to exercise all rights associated with the contents of this file for
    +>> any purpose whatsoever.  No rights are reserved.
    +>> =======================================================================
    +>>
    +>> Regards,
    +>> - Dwayne
    +>>
    +>> --
    +>> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>
    +>
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +
    +==========================================================
    +Date: Sun, 23 Nov 2008 15:54:35 -0800
    +From: Wim Lewis <wiml@hhhh.org>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Cc: Wim Lewis <wiml@hhhh.org>
    +Message-Id: <9D5C3135-7414-47D7-9D41-0AC6C3A84D97@hhhh.org>
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On November 23, 2008, you wrote:
    +>Hi Wim,
    +>
    +>I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>working on a new release at http://www.pycrypto.org/.
    +>
    +>I understand that you have made contributions to PyCrypto. May I, on
    +>your behalf, dedicate to the public domain all your contributions to
    +>PyCrypto, with the following notice?
    +>
    +>   =======================================================================
    +>   The contents of this file are dedicated to the public domain.  To the
    +>   extent that dedication to the public domain is not available, everyone
    +>   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>   to exercise all rights associated with the contents of this file for
    +>   any purpose whatsoever.  No rights are reserved.
    +>   =======================================================================
    +
    +Certainly! I think the only code of mine in PyCrypto is the CAST-5 / CAST-128
    +implementation, which already has a public-domain notice at the top of
    +the file. But I am happy to have that, any any other code of mine that
    +might have wandered in there under an unclear open sourcish license,
    +distributed under the public-domain dedication you quote.
    +
    +Wim.
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.6 (Darwin)
    +
    +iQCVAwUBSSnnAl8UnN8n93LBAQLp/gQAhr7x8Av1mstc2kxEJDWTm26PTAZxMz4B
    +FektbDOzkxgc5580MGGeeX/MVn8aw+1BHg0YD85gsntlDzkcQtb+BR/xAvJ5zKyA
    +J/Mn/I+I6ekJQ3juh8IPHLAduOXM9Rtguas/yR+Doaq0xOPKoBx+/5+t1lLJtBcZ
    +wrPEa9Oui9s=
    +=zSY9
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +==========================================================
    +From dlitz@dlitz.net Sat Apr 18 09:14:20 2009
    +Date: Sat, 18 Apr 2009 09:14:20 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Mark Moraes <moraes@computer.org>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090418131419.GA14494@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2635
    +
    +Hi Mark,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +       ===================================================================
    +       Distribute and use freely; there are no restrictions on further
    +       dissemination and usage except those imposed by the laws of your
    +       country of residence.  This software is provided "as is" without
    +       warranty of fitness for use or suitability for any purpose, express
    +       or implied. Use at your own risk or not at all.
    +       ===================================================================
    +
    +       Incorporating the code into commercial products is permitted; you do
    +       not have to make source available or contribute your changes back
    +       (though that would be nice).
    +
    +       --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they have all
    +approved the following dedication for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your
    +behalf, dedicate to the public domain all your contributions to PyCrypto,
    +with the following notice?
    +
    +       =======================================================================
    +       The contents of this file are dedicated to the public domain.  To the
    +       extent that dedication to the public domain is not available, everyone
    +       is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +       to exercise all rights associated with the contents of this file for
    +       any purpose whatsoever.  No rights are reserved.
    +       =======================================================================
    +
    +Regards,
    +    - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +    Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From markmoraes@yahoo.com Mon Apr 20 19:25:37 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <markmoraes@yahoo.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 5D9AE984FDD
    +    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 19:25:37 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id DE41F4025F
    +    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    +Received: (vmailmgr-postfix 7604 invoked by uid 1003); 20 Apr 2009 17:25:36 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (yahoo.com: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="markmoraes@yahoo.com"; helo=web32405.mail.mud.yahoo.com; client-ip=68.142.207.198
    +Received: from web32405.mail.mud.yahoo.com (web32405.mail.mud.yahoo.com [68.142.207.198])
    +    by goedel.dlitz.net (Postfix) with SMTP id B5EAF401EE
    +    for <dlitz@dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    +Received: (qmail 34697 invoked by uid 60001); 20 Apr 2009 23:25:33 -0000
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1240269933; bh=OvxqbYnCg7R6tUN3YmlgFURM3CuHh1JeHyXhDzkaThU=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=F2h2bFzpQxyKFZ8BhenniyupGw4Zvlekb9BSk91qKU+51W/TkSGBij5YZIhkLQdkQk0qLz5f4g8dT6bOME3sEY1j10hlx0K0u2UD0yoYTINBCmsdMQRoJ7ph9bmt+p/EJhRpe+FiV6aoLV0FONWiHfGDghPT1dulWXfVTqgB2aU=
    +DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
    +  s=s1024; d=yahoo.com;
    +  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
    +  b=r6RShFF5VzQLg+9tcn1xKuo4Rs4IVvXF6fdqOpQrMyRCxeFooebhuTE35grGqlomOJLwM0+mZwRb6rGkDj763caOAlo8Ect/qlADW5izXfmVQaDchTbTqmpsJBmQnTQs9iZ+InrG+3UIwtUSGfX7fhEWmI9P/HBzxf9Wp4b3jeo=;
    +Message-ID: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +X-YMail-OSG: FrK8aWMVM1mFJtLpMGbUbCLjbUQC.i.JkIAKUHSFsFn7t9PbtewAewXJ2uhZGCOlGCX6oVnG3u.CgqzAffY4vZSnfTT8wnCkzZNZ_g6k.XUc3ipo_6e.92TXl4p8MxDGAf1tpNF5nXPwcQ7aREs7jGoWWVJYVytp50clsUFSHzf7Zbpa8P1Yoe_xSzf3OAgRSh5fCrbFCC8sHPCuwrL3YhasbtHmkWffteSS.x6gEcBaxf03oz4FeDb5mpJ54g11Xonq8h_TmzX9g84Bin9g_3fJ4WSXm6g6.tohLyfXcUxoz4j036wyWpTKPrWEzIUQaN83Sv_bj_Ghxw--
    +Received: from [69.124.140.74] by web32405.mail.mud.yahoo.com via HTTP; Mon, 20 Apr 2009 16:25:32 PDT
    +X-Mailer: YahooMailClassic/5.2.15 YahooMailWebService/0.7.289.1
    +Date: Mon, 20 Apr 2009 16:25:32 -0700 (PDT)
    +From: M Moraes <markmoraes@yahoo.com>
    +Reply-To: moraes@computer.org
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii
    +Status: RO
    +X-Status: A
    +Content-Length: 3222
    +
    +
    +Hi Dwayne.
    +
    +Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    +
    +Regards,
    +Mark.
    +
    +--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    +
    +> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +> Subject: PyCrypto license clarification
    +> To: "Mark Moraes" <moraes@computer.org>
    +> Date: Saturday, April 18, 2009, 9:14 AM
    +> Hi Mark,
    +> 
    +> I am the new maintainer of the Python Cryptography Toolkit,
    +> and I am
    +> working on a new release at http://www.pycrypto.org/.
    +> 
    +> People often ask me what license PyCrypto is covered by, if
    +> it's
    +> GPL-compatible, etc.  Right now, I'm not really sure
    +> what to tell them.
    +> The text in the current LICENSE file (quoted below) is not
    +> entirely clear
    +> on the point of whether distributing modified versions is
    +> allowed.  (It
    +> says "distribute and use", but not "modify".)
    +> 
    +>      
    +> ===================================================================
    +>       Distribute and use freely; there are
    +> no restrictions on further
    +>       dissemination and usage except those
    +> imposed by the laws of your
    +>       country of residence.  This
    +> software is provided "as is" without
    +>       warranty of fitness for use or
    +> suitability for any purpose, express
    +>       or implied. Use at your own risk or
    +> not at all.
    +>      
    +> ===================================================================
    +> 
    +>       Incorporating the code into commercial
    +> products is permitted; you do
    +>       not have to make source available or
    +> contribute your changes back
    +>       (though that would be nice).
    +> 
    +>       --amk       
    +>                
    +>                
    +>             (www.amk.ca)
    +> 
    +> For the next PyCrypto release, I would like to take steps
    +> to move toward a
    +> clearer licensing regime.  I am asking as many
    +> copyright holders as I can
    +> find if I can release PyCrypto under something clearer and
    +> more standard.
    +> Below, I have quoted a public domain dedication that was
    +> recommended in
    +> _Intellectual Property and Open Source: A Practical Guide
    +> to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A.
    +> M. Kuchling, Robey
    +> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    +> have all
    +> approved the following dedication for their contributions.
    +> 
    +> I understand that you have made contributions to
    +> PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your
    +> contributions to PyCrypto,
    +> with the following notice?
    +> 
    +>      
    +> =======================================================================
    +>       The contents of this file are
    +> dedicated to the public domain.  To the
    +>       extent that dedication to the public
    +> domain is not available, everyone
    +>       is granted a worldwide, perpetual,
    +> royalty-free, non-exclusive license
    +>       to exercise all rights associated with
    +> the contents of this file for
    +>       any purpose whatsoever.  No
    +> rights are reserved.
    +>      
    +> =======================================================================
    +> 
    +> Regards,
    +>    - Dwayne
    +> 
    +> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>    Key-signing key   - 19E1
    +> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +> 
    +
    +
    +From dlitz@dlitz.net Mon Apr 20 20:01:37 2009
    +Date: Mon, 20 Apr 2009 20:01:37 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: moraes@computer.org
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090421000137.GA29012@rivest.dlitz.net>
    +References: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +In-Reply-To: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3677
    +
    +Thanks a lot, and don't worry about not responding to previous emails.  I 
    +do that too much myself. :)
    +
    +On Mon, Apr 20, 2009 at 04:25:32PM -0700, M Moraes wrote:
    +>
    +>Hi Dwayne.
    +>
    +>Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    +>
    +>Regards,
    +>Mark.
    +>
    +>--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    +>
    +>> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>> Subject: PyCrypto license clarification
    +>> To: "Mark Moraes" <moraes@computer.org>
    +>> Date: Saturday, April 18, 2009, 9:14 AM
    +>> Hi Mark,
    +>> 
    +>> I am the new maintainer of the Python Cryptography Toolkit,
    +>> and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>> 
    +>> People often ask me what license PyCrypto is covered by, if
    +>> it's
    +>> GPL-compatible, etc.  Right now, I'm not really sure
    +>> what to tell them.
    +>> The text in the current LICENSE file (quoted below) is not
    +>> entirely clear
    +>> on the point of whether distributing modified versions is
    +>> allowed.  (It
    +>> says "distribute and use", but not "modify".)
    +>> 
    +>>      
    +>> ===================================================================
    +>>       Distribute and use freely; there are
    +>> no restrictions on further
    +>>       dissemination and usage except those
    +>> imposed by the laws of your
    +>>       country of residence.  This
    +>> software is provided "as is" without
    +>>       warranty of fitness for use or
    +>> suitability for any purpose, express
    +>>       or implied. Use at your own risk or
    +>> not at all.
    +>>      
    +>> ===================================================================
    +>> 
    +>>       Incorporating the code into commercial
    +>> products is permitted; you do
    +>>       not have to make source available or
    +>> contribute your changes back
    +>>       (though that would be nice).
    +>> 
    +>>       --amk       
    +>>                
    +>>                
    +>>             (www.amk.ca)
    +>> 
    +>> For the next PyCrypto release, I would like to take steps
    +>> to move toward a
    +>> clearer licensing regime.  I am asking as many
    +>> copyright holders as I can
    +>> find if I can release PyCrypto under something clearer and
    +>> more standard.
    +>> Below, I have quoted a public domain dedication that was
    +>> recommended in
    +>> _Intellectual Property and Open Source: A Practical Guide
    +>> to Protecting
    +>> Code_, by Van Lindberg.  I have already contacted A.
    +>> M. Kuchling, Robey
    +>> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    +>> have all
    +>> approved the following dedication for their contributions.
    +>> 
    +>> I understand that you have made contributions to
    +>> PyCrypto.  May I, on your
    +>> behalf, dedicate to the public domain all your
    +>> contributions to PyCrypto,
    +>> with the following notice?
    +>> 
    +>>      
    +>> =======================================================================
    +>>       The contents of this file are
    +>> dedicated to the public domain.  To the
    +>>       extent that dedication to the public
    +>> domain is not available, everyone
    +>>       is granted a worldwide, perpetual,
    +>> royalty-free, non-exclusive license
    +>>       to exercise all rights associated with
    +>> the contents of this file for
    +>>       any purpose whatsoever.  No
    +>> rights are reserved.
    +>>      
    +>> =======================================================================
    +>> 
    +>> Regards,
    +>>    - Dwayne
    +>> 
    +>> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>>    Key-signing key   - 19E1
    +>> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>> 
    +>
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +
    +
    +
    +==========================================================
    +Date: Mon, 16 Feb 2009 12:58:00 -0800
    +From: Robey Pointer <robey@lag.net>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Received-SPF: pass (goedel.dlitz.net: domain of robey@lag.net designates 69.61.78.186 as permitted sender)
    +Message-Id: <F469A078-6305-4484-BEA8-F4EC38A4154F@lag.net>
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On 23 Nov 2008, at 07:42, Dwayne C. Litzenberger wrote:
    +
    +> For the next PyCrypto release, I would like to take steps to move  
    +> toward a clearer licensing regime.  I am asking as many copyright  
    +> holders as I can find if I can release PyCrypto under something  
    +> clearer and more standard.  Below, I have quoted a public domain  
    +> dedication that was recommended in _Intellectual Property and Open  
    +> Source: A Practical Guide to Protecting Code_, by Van Lindberg.  I  
    +> have already contacted A. M. Kuchling, and he has approved the  
    +> following dedication for his contributions.
    +>
    +> May I, on your behalf, dedicate to the public domain all your  
    +> contributions to PyCrypto, with the following notice?
    +>
    +>     
    +> = 
    +> ======================================================================
    +>    The contents of this file are dedicated to the public domain.  To  
    +> the
    +>    extent that dedication to the public domain is not available,  
    +> everyone
    +>    is granted a worldwide, perpetual, royalty-free, non-exclusive  
    +> license
    +>    to exercise all rights associated with the contents of this file  
    +> for
    +>    any purpose whatsoever.  No rights are reserved.
    +>     
    +> = 
    +> ======================================================================
    +>
    +
    +In case I haven't replied to this yet: Yes, this is fine with me.
    +
    +robey
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.8 (Darwin)
    +
    +iEYEARECAAYFAkmZ01gACgkQQQDkKvyJ6cOLvQCfQmYYuVODvIlyLg0hgCI9LAbQ
    +SH8AoLJgaq1lIi7/ZYDc+/Cd8VO0xLbr
    +=Mv6g
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +==========================================================
    +From dlitz@dlitz.net Sun Aug  2 21:48:25 2009
    +Date: Sun, 2 Aug 2009 21:48:25 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Paul Swartz <paulswartz@gmail.com>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090803014825.GA1326@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2631
    +
    +Hi Paul,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +   ===================================================================
    +   Distribute and use freely; there are no restrictions on further
    +   dissemination and usage except those imposed by the laws of your
    +   country of residence.  This software is provided "as is" without
    +   warranty of fitness for use or suitability for any purpose, express
    +   or implied. Use at your own risk or not at all.
    +   ===================================================================
    +
    +   Incorporating the code into commercial products is permitted; you do
    +   not have to make source available or contribute your changes back
    +   (though that would be nice).
    +
    +   --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, Joris Bontje, and Mark 
    +Moraes, and they have all approved the following dedication for their 
    +contributions.
    +
    +I understand that you have made contributions to PyCrypto, under nickname 
    +"z3p" and/or other names.  May I, on your behalf, dedicate to the public 
    +domain all your contributions to PyCrypto, with the following notice?
    +
    +   =======================================================================
    +   The contents of this file are dedicated to the public domain.  To the
    +   extent that dedication to the public domain is not available, everyone
    +   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +   to exercise all rights associated with the contents of this file for
    +   any purpose whatsoever.  No rights are reserved.
    +   =======================================================================
    +
    +Regards,
    +  - Dwayne
    +
    +--
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +   Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From paulswartz@gmail.com Mon Aug  3 12:14:07 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <paulswartz@gmail.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 30B9D984FC4
    +    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 12:14:07 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id AD9AE81068
    +    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 10:14:06 -0600 (CST)
    +Received: (vmailmgr-postfix 32055 invoked by uid 1003);  3 Aug 2009 10:14:06 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: pass (gmail.com ... _spf.google.com: 72.14.220.159 is authorized to use 'paulswartz@gmail.com' in 'mfrom' identity (mechanism 'ip4:72.14.192.0/18' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="paulswartz@gmail.com"; helo=fg-out-1718.google.com; client-ip=72.14.220.159
    +Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 4E63881066
    +    for <dlitz@dlitz.net>; Mon,  3 Aug 2009 10:14:05 -0600 (CST)
    +Received: by fg-out-1718.google.com with SMTP id d23so1076840fga.3
    +        for <dlitz@dlitz.net>; Mon, 03 Aug 2009 09:14:04 -0700 (PDT)
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    +        d=gmail.com; s=gamma;
    +        h=domainkey-signature:mime-version:received:in-reply-to:references
    +         :from:date:message-id:subject:to:content-type
    +         :content-transfer-encoding;
    +        bh=A0RHBf0TnribKS5qOHJ3WYbkZ+b0cuPeuoKAvpApWcc=;
    +        b=gyTqkRhKlHadFKIZCBWsRbnMNVDq1PWlJbyC0EvxPskaoHr3HAR96MWQNBePu/40Ac
    +         Vn55qlIqTdom4e9zlUEE6MwZo9kqi/Qw0L/SLib0DlQeNqo/eHYqPmuVswltaYwNAyMJ
    +         Y9++76rPGzqYdALsfvsmwv7Q3/bEmjVTr0tQE=
    +DomainKey-Signature: a=rsa-sha1; c=nofws;
    +        d=gmail.com; s=gamma;
    +        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
    +         :content-type:content-transfer-encoding;
    +        b=jze7KSMkUGilfVCXKXaaXMi5NAtGdMQOtVZZfRNyGSy68xOd2sxefjyyig3EfT6Nv6
    +         Q3opUMsT96Q6zjZND55w446kTh2uBTNz4d3NwIeEWJnG3xcliRQu/mXPFp8AzPI3CefL
    +         1ornJLM1eQ2XyuZA73jem+SJtfdHUcSD1UhgI=
    +MIME-Version: 1.0
    +Received: by 10.239.157.147 with SMTP id q19mr601802hbc.61.1249316043185; Mon, 
    +    03 Aug 2009 09:14:03 -0700 (PDT)
    +In-Reply-To: <20090803014825.GA1326@rivest.dlitz.net>
    +References: <20090803014825.GA1326@rivest.dlitz.net>
    +From: Paul Swartz <paulswartz@gmail.com>
    +Date: Mon, 3 Aug 2009 12:13:43 -0400
    +Message-ID: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Content-Type: text/plain; charset=UTF-8
    +Content-Transfer-Encoding: quoted-printable
    +Status: RO
    +X-Status: A
    +Content-Length: 1450
    +
    +On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wro=
    +te:
    +> Hi Paul,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +
    +That's great!
    +
    +> I understand that you have made contributions to PyCrypto, under nickname
    +> "z3p" and/or other names. =C2=A0May I, on your behalf, dedicate to the pu=
    +blic
    +> domain all your contributions to PyCrypto, with the following notice?
    +>
    +> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +> =C2=A0The contents of this file are dedicated to the public domain. =C2=
    +=A0To the
    +> =C2=A0extent that dedication to the public domain is not available, every=
    +one
    +> =C2=A0is granted a worldwide, perpetual, royalty-free, non-exclusive lice=
    +nse
    +> =C2=A0to exercise all rights associated with the contents of this file fo=
    +r
    +> =C2=A0any purpose whatsoever. =C2=A0No rights are reserved.
    +> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +Yes, that's fine.  Good luck with the new release!
    +
    +-p
    +--=20
    +Paul Swartz
    +paulswartz at gmail dot com
    +http://paulswartz.net/
    +AIM: z3penguin
    +
    +
    +From dlitz@dlitz.net Mon Aug  3 14:35:01 2009
    +Date: Mon, 3 Aug 2009 14:35:01 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Paul Swartz <paulswartz@gmail.com>
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090803183501.GA17472@rivest.dlitz.net>
    +References: <20090803014825.GA1326@rivest.dlitz.net> <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=iso-8859-1; format=flowed
    +Content-Disposition: inline
    +Content-Transfer-Encoding: 8bit
    +In-Reply-To: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 1250
    +
    +On Mon, Aug 03, 2009 at 12:13:43PM -0400, Paul Swartz wrote:
    +>On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wrote:
    +>> Hi Paul,
    +>>
    +>> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>
    +>That's great!
    +>
    +>> I understand that you have made contributions to PyCrypto, under nickname
    +>> "z3p" and/or other names. �May I, on your behalf, dedicate to the public
    +>> domain all your contributions to PyCrypto, with the following notice?
    +>>
    +>> �=======================================================================
    +>> �The contents of this file are dedicated to the public domain. �To the
    +>> �extent that dedication to the public domain is not available, everyone
    +>> �is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>> �to exercise all rights associated with the contents of this file for
    +>> �any purpose whatsoever. �No rights are reserved.
    +>> �=======================================================================
    +>
    +>Yes, that's fine.  Good luck with the new release!
    +
    +Perfect!  Thanks for the quick response!
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +
    +
    +==========================================================
    +
    +
    + + +
    + +
    +

    PyJWT + 1.4.0 +

    + + + + + +
    The MIT License (MIT)
    +
    +Copyright (c) 2015 José Padilla
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    + + +
    + +
    +

    psycopg2 + 2.6.1 +

    + + + +
    psycopg2 and the LGPL
    +=====================
    +
    +psycopg2 is free software: you can redistribute it and/or modify it
    +under the terms of the GNU Lesser General Public License as published
    +by the Free Software Foundation, either version 3 of the License, or
    +(at your option) any later version.
    +
    +psycopg2 is distributed in the hope that it will be useful, but WITHOUT
    +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    +FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
    +License for more details.
    +
    +In addition, as a special exception, the copyright holders give
    +permission to link this program with the OpenSSL library (or with
    +modified versions of OpenSSL that use the same license as OpenSSL),
    +and distribute linked combinations including the two.
    +
    +You must obey the GNU Lesser General Public License in all respects for
    +all of the code used other than OpenSSL. If you modify file(s) with this
    +exception, you may extend this exception to your version of the file(s),
    +but you are not obligated to do so. If you do not wish to do so, delete
    +this exception statement from your version. If you delete this exception
    +statement from all source files in the program, then also delete it here.
    +
    +You should have received a copy of the GNU Lesser General Public License
    +along with psycopg2 (see the doc/ directory.)
    +If not, see .
    +
    +
    +Alternative licenses
    +====================
    +
    +If you prefer you can use the Zope Database Adapter ZPsycopgDA (i.e.,
    +every file inside the ZPsycopgDA directory) user the ZPL license as
    +published on the Zope web site, http://www.zope.org/Resources/ZPL.
    +
    +Also, the following BSD-like license applies (at your option) to the
    +files following the pattern psycopg/adapter*.{h,c} and
    +psycopg/microprotocol*.{h,c}:
    +
    + Permission is granted to anyone to use this software for any purpose,
    + including commercial applications, and to alter it and redistribute it
    + freely, subject to the following restrictions:
    +
    + 1. The origin of this software must not be misrepresented; you must not
    +    claim that you wrote the original software. If you use this
    +    software in a product, an acknowledgment in the product documentation
    +    would be appreciated but is not required.
    + 
    + 2. Altered source versions must be plainly marked as such, and must not
    +    be misrepresented as being the original software.
    + 
    + 3. This notice may not be removed or altered from any source distribution.
    +
    + + + +
    		   GNU LESSER GENERAL PUBLIC LICENSE
    +                       Version 3, 29 June 2007
    +
    + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +
    +  This version of the GNU Lesser General Public License incorporates
    +the terms and conditions of version 3 of the GNU General Public
    +License, supplemented by the additional permissions listed below.
    +
    +  0. Additional Definitions. 
    +
    +  As used herein, "this License" refers to version 3 of the GNU Lesser
    +General Public License, and the "GNU GPL" refers to version 3 of the GNU
    +General Public License.
    +
    +  "The Library" refers to a covered work governed by this License,
    +other than an Application or a Combined Work as defined below.
    +
    +  An "Application" is any work that makes use of an interface provided
    +by the Library, but which is not otherwise based on the Library.
    +Defining a subclass of a class defined by the Library is deemed a mode
    +of using an interface provided by the Library.
    +
    +  A "Combined Work" is a work produced by combining or linking an
    +Application with the Library.  The particular version of the Library
    +with which the Combined Work was made is also called the "Linked
    +Version".
    +
    +  The "Minimal Corresponding Source" for a Combined Work means the
    +Corresponding Source for the Combined Work, excluding any source code
    +for portions of the Combined Work that, considered in isolation, are
    +based on the Application, and not on the Linked Version.
    +
    +  The "Corresponding Application Code" for a Combined Work means the
    +object code and/or source code for the Application, including any data
    +and utility programs needed for reproducing the Combined Work from the
    +Application, but excluding the System Libraries of the Combined Work.
    +
    +  1. Exception to Section 3 of the GNU GPL.
    +
    +  You may convey a covered work under sections 3 and 4 of this License
    +without being bound by section 3 of the GNU GPL.
    +
    +  2. Conveying Modified Versions.
    +
    +  If you modify a copy of the Library, and, in your modifications, a
    +facility refers to a function or data to be supplied by an Application
    +that uses the facility (other than as an argument passed when the
    +facility is invoked), then you may convey a copy of the modified
    +version:
    +
    +   a) under this License, provided that you make a good faith effort to
    +   ensure that, in the event an Application does not supply the
    +   function or data, the facility still operates, and performs
    +   whatever part of its purpose remains meaningful, or
    +
    +   b) under the GNU GPL, with none of the additional permissions of
    +   this License applicable to that copy.
    +
    +  3. Object Code Incorporating Material from Library Header Files.
    +
    +  The object code form of an Application may incorporate material from
    +a header file that is part of the Library.  You may convey such object
    +code under terms of your choice, provided that, if the incorporated
    +material is not limited to numerical parameters, data structure
    +layouts and accessors, or small macros, inline functions and templates
    +(ten or fewer lines in length), you do both of the following:
    +
    +   a) Give prominent notice with each copy of the object code that the
    +   Library is used in it and that the Library and its use are
    +   covered by this License.
    +
    +   b) Accompany the object code with a copy of the GNU GPL and this license
    +   document.
    +
    +  4. Combined Works.
    +
    +  You may convey a Combined Work under terms of your choice that,
    +taken together, effectively do not restrict modification of the
    +portions of the Library contained in the Combined Work and reverse
    +engineering for debugging such modifications, if you also do each of
    +the following:
    +
    +   a) Give prominent notice with each copy of the Combined Work that
    +   the Library is used in it and that the Library and its use are
    +   covered by this License.
    +
    +   b) Accompany the Combined Work with a copy of the GNU GPL and this license
    +   document.
    +
    +   c) For a Combined Work that displays copyright notices during
    +   execution, include the copyright notice for the Library among
    +   these notices, as well as a reference directing the user to the
    +   copies of the GNU GPL and this license document.
    +
    +   d) Do one of the following:
    +
    +       0) Convey the Minimal Corresponding Source under the terms of this
    +       License, and the Corresponding Application Code in a form
    +       suitable for, and under terms that permit, the user to
    +       recombine or relink the Application with a modified version of
    +       the Linked Version to produce a modified Combined Work, in the
    +       manner specified by section 6 of the GNU GPL for conveying
    +       Corresponding Source.
    +
    +       1) Use a suitable shared library mechanism for linking with the
    +       Library.  A suitable mechanism is one that (a) uses at run time
    +       a copy of the Library already present on the user's computer
    +       system, and (b) will operate properly with a modified version
    +       of the Library that is interface-compatible with the Linked
    +       Version. 
    +
    +   e) Provide Installation Information, but only if you would otherwise
    +   be required to provide such information under section 6 of the
    +   GNU GPL, and only to the extent that such information is
    +   necessary to install and execute a modified version of the
    +   Combined Work produced by recombining or relinking the
    +   Application with a modified version of the Linked Version. (If
    +   you use option 4d0, the Installation Information must accompany
    +   the Minimal Corresponding Source and Corresponding Application
    +   Code. If you use option 4d1, you must provide the Installation
    +   Information in the manner specified by section 6 of the GNU GPL
    +   for conveying Corresponding Source.)
    +
    +  5. Combined Libraries.
    +
    +  You may place library facilities that are a work based on the
    +Library side by side in a single library together with other library
    +facilities that are not Applications and are not covered by this
    +License, and convey such a combined library under terms of your
    +choice, if you do both of the following:
    +
    +   a) Accompany the combined library with a copy of the same work based
    +   on the Library, uncombined with any other library facilities,
    +   conveyed under the terms of this License.
    +
    +   b) Give prominent notice with the combined library that part of it
    +   is a work based on the Library, and explaining where to find the
    +   accompanying uncombined form of the same work.
    +
    +  6. Revised Versions of the GNU Lesser General Public License.
    +
    +  The Free Software Foundation may publish revised and/or new versions
    +of the GNU Lesser General Public License from time to time. Such new
    +versions will be similar in spirit to the present version, but may
    +differ in detail to address new problems or concerns.
    +
    +  Each version is given a distinguishing version number. If the
    +Library as you received it specifies that a certain numbered version
    +of the GNU Lesser General Public License "or any later version"
    +applies to it, you have the option of following the terms and
    +conditions either of that published version or of any later version
    +published by the Free Software Foundation. If the Library as you
    +received it does not specify a version number of the GNU Lesser
    +General Public License, you may choose any version of the GNU Lesser
    +General Public License ever published by the Free Software Foundation.
    +
    +  If the Library as you received it specifies that a proxy can decide
    +whether future versions of the GNU Lesser General Public License shall
    +apply, that proxy's public statement of acceptance of any version is
    +permanent authorization for you to choose that version for the
    +Library.
    +
    +
    +
    +
    +
    +
    +
    +
    +====================================================================
    +
    +		    GNU GENERAL PUBLIC LICENSE
    +		       Version 3, 29 June 2007
    +
    + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +			    Preamble
    +
    +  The GNU General Public License is a free, copyleft license for
    +software and other kinds of works.
    +
    +  The licenses for most software and other practical works are designed
    +to take away your freedom to share and change the works.  By contrast,
    +the GNU General Public License is intended to guarantee your freedom to
    +share and change all versions of a program--to make sure it remains free
    +software for all its users.  We, the Free Software Foundation, use the
    +GNU General Public License for most of our software; it applies also to
    +any other work released this way by its authors.  You can apply it to
    +your programs, too.
    +
    +  When we speak of free software, we are referring to freedom, not
    +price.  Our General Public Licenses are designed to make sure that you
    +have the freedom to distribute copies of free software (and charge for
    +them if you wish), that you receive source code or can get it if you
    +want it, that you can change the software or use pieces of it in new
    +free programs, and that you know you can do these things.
    +
    +  To protect your rights, we need to prevent others from denying you
    +these rights or asking you to surrender the rights.  Therefore, you have
    +certain responsibilities if you distribute copies of the software, or if
    +you modify it: responsibilities to respect the freedom of others.
    +
    +  For example, if you distribute copies of such a program, whether
    +gratis or for a fee, you must pass on to the recipients the same
    +freedoms that you received.  You must make sure that they, too, receive
    +or can get the source code.  And you must show them these terms so they
    +know their rights.
    +
    +  Developers that use the GNU GPL protect your rights with two steps:
    +(1) assert copyright on the software, and (2) offer you this License
    +giving you legal permission to copy, distribute and/or modify it.
    +
    +  For the developers' and authors' protection, the GPL clearly explains
    +that there is no warranty for this free software.  For both users' and
    +authors' sake, the GPL requires that modified versions be marked as
    +changed, so that their problems will not be attributed erroneously to
    +authors of previous versions.
    +
    +  Some devices are designed to deny users access to install or run
    +modified versions of the software inside them, although the manufacturer
    +can do so.  This is fundamentally incompatible with the aim of
    +protecting users' freedom to change the software.  The systematic
    +pattern of such abuse occurs in the area of products for individuals to
    +use, which is precisely where it is most unacceptable.  Therefore, we
    +have designed this version of the GPL to prohibit the practice for those
    +products.  If such problems arise substantially in other domains, we
    +stand ready to extend this provision to those domains in future versions
    +of the GPL, as needed to protect the freedom of users.
    +
    +  Finally, every program is threatened constantly by software patents.
    +States should not allow patents to restrict development and use of
    +software on general-purpose computers, but in those that do, we wish to
    +avoid the special danger that patents applied to a free program could
    +make it effectively proprietary.  To prevent this, the GPL assures that
    +patents cannot be used to render the program non-free.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.
    +
    +		       TERMS AND CONDITIONS
    +
    +  0. Definitions.
    +
    +  "This License" refers to version 3 of the GNU General Public License.
    +
    +  "Copyright" also means copyright-like laws that apply to other kinds of
    +works, such as semiconductor masks.
    + 
    +  "The Program" refers to any copyrightable work licensed under this
    +License.  Each licensee is addressed as "you".  "Licensees" and
    +"recipients" may be individuals or organizations.
    +
    +  To "modify" a work means to copy from or adapt all or part of the work
    +in a fashion requiring copyright permission, other than the making of an
    +exact copy.  The resulting work is called a "modified version" of the
    +earlier work or a work "based on" the earlier work.
    +
    +  A "covered work" means either the unmodified Program or a work based
    +on the Program.
    +
    +  To "propagate" a work means to do anything with it that, without
    +permission, would make you directly or secondarily liable for
    +infringement under applicable copyright law, except executing it on a
    +computer or modifying a private copy.  Propagation includes copying,
    +distribution (with or without modification), making available to the
    +public, and in some countries other activities as well.
    +
    +  To "convey" a work means any kind of propagation that enables other
    +parties to make or receive copies.  Mere interaction with a user through
    +a computer network, with no transfer of a copy, is not conveying.
    +
    +  An interactive user interface displays "Appropriate Legal Notices"
    +to the extent that it includes a convenient and prominently visible
    +feature that (1) displays an appropriate copyright notice, and (2)
    +tells the user that there is no warranty for the work (except to the
    +extent that warranties are provided), that licensees may convey the
    +work under this License, and how to view a copy of this License.  If
    +the interface presents a list of user commands or options, such as a
    +menu, a prominent item in the list meets this criterion.
    +
    +  1. Source Code.
    +
    +  The "source code" for a work means the preferred form of the work
    +for making modifications to it.  "Object code" means any non-source
    +form of a work.
    +
    +  A "Standard Interface" means an interface that either is an official
    +standard defined by a recognized standards body, or, in the case of
    +interfaces specified for a particular programming language, one that
    +is widely used among developers working in that language.
    +
    +  The "System Libraries" of an executable work include anything, other
    +than the work as a whole, that (a) is included in the normal form of
    +packaging a Major Component, but which is not part of that Major
    +Component, and (b) serves only to enable use of the work with that
    +Major Component, or to implement a Standard Interface for which an
    +implementation is available to the public in source code form.  A
    +"Major Component", in this context, means a major essential component
    +(kernel, window system, and so on) of the specific operating system
    +(if any) on which the executable work runs, or a compiler used to
    +produce the work, or an object code interpreter used to run it.
    +
    +  The "Corresponding Source" for a work in object code form means all
    +the source code needed to generate, install, and (for an executable
    +work) run the object code and to modify the work, including scripts to
    +control those activities.  However, it does not include the work's
    +System Libraries, or general-purpose tools or generally available free
    +programs which are used unmodified in performing those activities but
    +which are not part of the work.  For example, Corresponding Source
    +includes interface definition files associated with source files for
    +the work, and the source code for shared libraries and dynamically
    +linked subprograms that the work is specifically designed to require,
    +such as by intimate data communication or control flow between those
    +subprograms and other parts of the work.
    +
    +  The Corresponding Source need not include anything that users
    +can regenerate automatically from other parts of the Corresponding
    +Source.
    +
    +  The Corresponding Source for a work in source code form is that
    +same work.
    +
    +  2. Basic Permissions.
    +
    +  All rights granted under this License are granted for the term of
    +copyright on the Program, and are irrevocable provided the stated
    +conditions are met.  This License explicitly affirms your unlimited
    +permission to run the unmodified Program.  The output from running a
    +covered work is covered by this License only if the output, given its
    +content, constitutes a covered work.  This License acknowledges your
    +rights of fair use or other equivalent, as provided by copyright law.
    +
    +  You may make, run and propagate covered works that you do not
    +convey, without conditions so long as your license otherwise remains
    +in force.  You may convey covered works to others for the sole purpose
    +of having them make modifications exclusively for you, or provide you
    +with facilities for running those works, provided that you comply with
    +the terms of this License in conveying all material for which you do
    +not control copyright.  Those thus making or running the covered works
    +for you must do so exclusively on your behalf, under your direction
    +and control, on terms that prohibit them from making any copies of
    +your copyrighted material outside their relationship with you.
    +
    +  Conveying under any other circumstances is permitted solely under
    +the conditions stated below.  Sublicensing is not allowed; section 10
    +makes it unnecessary.
    +
    +  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    +
    +  No covered work shall be deemed part of an effective technological
    +measure under any applicable law fulfilling obligations under article
    +11 of the WIPO copyright treaty adopted on 20 December 1996, or
    +similar laws prohibiting or restricting circumvention of such
    +measures.
    +
    +  When you convey a covered work, you waive any legal power to forbid
    +circumvention of technological measures to the extent such circumvention
    +is effected by exercising rights under this License with respect to
    +the covered work, and you disclaim any intention to limit operation or
    +modification of the work as a means of enforcing, against the work's
    +users, your or third parties' legal rights to forbid circumvention of
    +technological measures.
    +
    +  4. Conveying Verbatim Copies.
    +
    +  You may convey verbatim copies of the Program's source code as you
    +receive it, in any medium, provided that you conspicuously and
    +appropriately publish on each copy an appropriate copyright notice;
    +keep intact all notices stating that this License and any
    +non-permissive terms added in accord with section 7 apply to the code;
    +keep intact all notices of the absence of any warranty; and give all
    +recipients a copy of this License along with the Program.
    +
    +  You may charge any price or no price for each copy that you convey,
    +and you may offer support or warranty protection for a fee.
    +
    +  5. Conveying Modified Source Versions.
    +
    +  You may convey a work based on the Program, or the modifications to
    +produce it from the Program, in the form of source code under the
    +terms of section 4, provided that you also meet all of these conditions:
    +
    +    a) The work must carry prominent notices stating that you modified
    +    it, and giving a relevant date.
    +
    +    b) The work must carry prominent notices stating that it is
    +    released under this License and any conditions added under section
    +    7.  This requirement modifies the requirement in section 4 to
    +    "keep intact all notices".
    +
    +    c) You must license the entire work, as a whole, under this
    +    License to anyone who comes into possession of a copy.  This
    +    License will therefore apply, along with any applicable section 7
    +    additional terms, to the whole of the work, and all its parts,
    +    regardless of how they are packaged.  This License gives no
    +    permission to license the work in any other way, but it does not
    +    invalidate such permission if you have separately received it.
    +
    +    d) If the work has interactive user interfaces, each must display
    +    Appropriate Legal Notices; however, if the Program has interactive
    +    interfaces that do not display Appropriate Legal Notices, your
    +    work need not make them do so.
    +
    +  A compilation of a covered work with other separate and independent
    +works, which are not by their nature extensions of the covered work,
    +and which are not combined with it such as to form a larger program,
    +in or on a volume of a storage or distribution medium, is called an
    +"aggregate" if the compilation and its resulting copyright are not
    +used to limit the access or legal rights of the compilation's users
    +beyond what the individual works permit.  Inclusion of a covered work
    +in an aggregate does not cause this License to apply to the other
    +parts of the aggregate.
    +
    +  6. Conveying Non-Source Forms.
    +
    +  You may convey a covered work in object code form under the terms
    +of sections 4 and 5, provided that you also convey the
    +machine-readable Corresponding Source under the terms of this License,
    +in one of these ways:
    +
    +    a) Convey the object code in, or embodied in, a physical product
    +    (including a physical distribution medium), accompanied by the
    +    Corresponding Source fixed on a durable physical medium
    +    customarily used for software interchange.
    +
    +    b) Convey the object code in, or embodied in, a physical product
    +    (including a physical distribution medium), accompanied by a
    +    written offer, valid for at least three years and valid for as
    +    long as you offer spare parts or customer support for that product
    +    model, to give anyone who possesses the object code either (1) a
    +    copy of the Corresponding Source for all the software in the
    +    product that is covered by this License, on a durable physical
    +    medium customarily used for software interchange, for a price no
    +    more than your reasonable cost of physically performing this
    +    conveying of source, or (2) access to copy the
    +    Corresponding Source from a network server at no charge.
    +
    +    c) Convey individual copies of the object code with a copy of the
    +    written offer to provide the Corresponding Source.  This
    +    alternative is allowed only occasionally and noncommercially, and
    +    only if you received the object code with such an offer, in accord
    +    with subsection 6b.
    +
    +    d) Convey the object code by offering access from a designated
    +    place (gratis or for a charge), and offer equivalent access to the
    +    Corresponding Source in the same way through the same place at no
    +    further charge.  You need not require recipients to copy the
    +    Corresponding Source along with the object code.  If the place to
    +    copy the object code is a network server, the Corresponding Source
    +    may be on a different server (operated by you or a third party)
    +    that supports equivalent copying facilities, provided you maintain
    +    clear directions next to the object code saying where to find the
    +    Corresponding Source.  Regardless of what server hosts the
    +    Corresponding Source, you remain obligated to ensure that it is
    +    available for as long as needed to satisfy these requirements.
    +
    +    e) Convey the object code using peer-to-peer transmission, provided
    +    you inform other peers where the object code and Corresponding
    +    Source of the work are being offered to the general public at no
    +    charge under subsection 6d.
    +
    +  A separable portion of the object code, whose source code is excluded
    +from the Corresponding Source as a System Library, need not be
    +included in conveying the object code work.
    +
    +  A "User Product" is either (1) a "consumer product", which means any
    +tangible personal property which is normally used for personal, family,
    +or household purposes, or (2) anything designed or sold for incorporation
    +into a dwelling.  In determining whether a product is a consumer product,
    +doubtful cases shall be resolved in favor of coverage.  For a particular
    +product received by a particular user, "normally used" refers to a
    +typical or common use of that class of product, regardless of the status
    +of the particular user or of the way in which the particular user
    +actually uses, or expects or is expected to use, the product.  A product
    +is a consumer product regardless of whether the product has substantial
    +commercial, industrial or non-consumer uses, unless such uses represent
    +the only significant mode of use of the product.
    +
    +  "Installation Information" for a User Product means any methods,
    +procedures, authorization keys, or other information required to install
    +and execute modified versions of a covered work in that User Product from
    +a modified version of its Corresponding Source.  The information must
    +suffice to ensure that the continued functioning of the modified object
    +code is in no case prevented or interfered with solely because
    +modification has been made.
    +
    +  If you convey an object code work under this section in, or with, or
    +specifically for use in, a User Product, and the conveying occurs as
    +part of a transaction in which the right of possession and use of the
    +User Product is transferred to the recipient in perpetuity or for a
    +fixed term (regardless of how the transaction is characterized), the
    +Corresponding Source conveyed under this section must be accompanied
    +by the Installation Information.  But this requirement does not apply
    +if neither you nor any third party retains the ability to install
    +modified object code on the User Product (for example, the work has
    +been installed in ROM).
    +
    +  The requirement to provide Installation Information does not include a
    +requirement to continue to provide support service, warranty, or updates
    +for a work that has been modified or installed by the recipient, or for
    +the User Product in which it has been modified or installed.  Access to a
    +network may be denied when the modification itself materially and
    +adversely affects the operation of the network or violates the rules and
    +protocols for communication across the network.
    +
    +  Corresponding Source conveyed, and Installation Information provided,
    +in accord with this section must be in a format that is publicly
    +documented (and with an implementation available to the public in
    +source code form), and must require no special password or key for
    +unpacking, reading or copying.
    +
    +  7. Additional Terms.
    +
    +  "Additional permissions" are terms that supplement the terms of this
    +License by making exceptions from one or more of its conditions.
    +Additional permissions that are applicable to the entire Program shall
    +be treated as though they were included in this License, to the extent
    +that they are valid under applicable law.  If additional permissions
    +apply only to part of the Program, that part may be used separately
    +under those permissions, but the entire Program remains governed by
    +this License without regard to the additional permissions.
    +
    +  When you convey a copy of a covered work, you may at your option
    +remove any additional permissions from that copy, or from any part of
    +it.  (Additional permissions may be written to require their own
    +removal in certain cases when you modify the work.)  You may place
    +additional permissions on material, added by you to a covered work,
    +for which you have or can give appropriate copyright permission.
    +
    +  Notwithstanding any other provision of this License, for material you
    +add to a covered work, you may (if authorized by the copyright holders of
    +that material) supplement the terms of this License with terms:
    +
    +    a) Disclaiming warranty or limiting liability differently from the
    +    terms of sections 15 and 16 of this License; or
    +
    +    b) Requiring preservation of specified reasonable legal notices or
    +    author attributions in that material or in the Appropriate Legal
    +    Notices displayed by works containing it; or
    +
    +    c) Prohibiting misrepresentation of the origin of that material, or
    +    requiring that modified versions of such material be marked in
    +    reasonable ways as different from the original version; or
    +
    +    d) Limiting the use for publicity purposes of names of licensors or
    +    authors of the material; or
    +
    +    e) Declining to grant rights under trademark law for use of some
    +    trade names, trademarks, or service marks; or
    +
    +    f) Requiring indemnification of licensors and authors of that
    +    material by anyone who conveys the material (or modified versions of
    +    it) with contractual assumptions of liability to the recipient, for
    +    any liability that these contractual assumptions directly impose on
    +    those licensors and authors.
    +
    +  All other non-permissive additional terms are considered "further
    +restrictions" within the meaning of section 10.  If the Program as you
    +received it, or any part of it, contains a notice stating that it is
    +governed by this License along with a term that is a further
    +restriction, you may remove that term.  If a license document contains
    +a further restriction but permits relicensing or conveying under this
    +License, you may add to a covered work material governed by the terms
    +of that license document, provided that the further restriction does
    +not survive such relicensing or conveying.
    +
    +  If you add terms to a covered work in accord with this section, you
    +must place, in the relevant source files, a statement of the
    +additional terms that apply to those files, or a notice indicating
    +where to find the applicable terms.
    +
    +  Additional terms, permissive or non-permissive, may be stated in the
    +form of a separately written license, or stated as exceptions;
    +the above requirements apply either way.
    +
    +  8. Termination.
    +
    +  You may not propagate or modify a covered work except as expressly
    +provided under this License.  Any attempt otherwise to propagate or
    +modify it is void, and will automatically terminate your rights under
    +this License (including any patent licenses granted under the third
    +paragraph of section 11).
    +
    +  However, if you cease all violation of this License, then your
    +license from a particular copyright holder is reinstated (a)
    +provisionally, unless and until the copyright holder explicitly and
    +finally terminates your license, and (b) permanently, if the copyright
    +holder fails to notify you of the violation by some reasonable means
    +prior to 60 days after the cessation.
    +
    +  Moreover, your license from a particular copyright holder is
    +reinstated permanently if the copyright holder notifies you of the
    +violation by some reasonable means, this is the first time you have
    +received notice of violation of this License (for any work) from that
    +copyright holder, and you cure the violation prior to 30 days after
    +your receipt of the notice.
    +
    +  Termination of your rights under this section does not terminate the
    +licenses of parties who have received copies or rights from you under
    +this License.  If your rights have been terminated and not permanently
    +reinstated, you do not qualify to receive new licenses for the same
    +material under section 10.
    +
    +  9. Acceptance Not Required for Having Copies.
    +
    +  You are not required to accept this License in order to receive or
    +run a copy of the Program.  Ancillary propagation of a covered work
    +occurring solely as a consequence of using peer-to-peer transmission
    +to receive a copy likewise does not require acceptance.  However,
    +nothing other than this License grants you permission to propagate or
    +modify any covered work.  These actions infringe copyright if you do
    +not accept this License.  Therefore, by modifying or propagating a
    +covered work, you indicate your acceptance of this License to do so.
    +
    +  10. Automatic Licensing of Downstream Recipients.
    +
    +  Each time you convey a covered work, the recipient automatically
    +receives a license from the original licensors, to run, modify and
    +propagate that work, subject to this License.  You are not responsible
    +for enforcing compliance by third parties with this License.
    +
    +  An "entity transaction" is a transaction transferring control of an
    +organization, or substantially all assets of one, or subdividing an
    +organization, or merging organizations.  If propagation of a covered
    +work results from an entity transaction, each party to that
    +transaction who receives a copy of the work also receives whatever
    +licenses to the work the party's predecessor in interest had or could
    +give under the previous paragraph, plus a right to possession of the
    +Corresponding Source of the work from the predecessor in interest, if
    +the predecessor has it or can get it with reasonable efforts.
    +
    +  You may not impose any further restrictions on the exercise of the
    +rights granted or affirmed under this License.  For example, you may
    +not impose a license fee, royalty, or other charge for exercise of
    +rights granted under this License, and you may not initiate litigation
    +(including a cross-claim or counterclaim in a lawsuit) alleging that
    +any patent claim is infringed by making, using, selling, offering for
    +sale, or importing the Program or any portion of it.
    +
    +  11. Patents.
    +
    +  A "contributor" is a copyright holder who authorizes use under this
    +License of the Program or a work on which the Program is based.  The
    +work thus licensed is called the contributor's "contributor version".
    +
    +  A contributor's "essential patent claims" are all patent claims
    +owned or controlled by the contributor, whether already acquired or
    +hereafter acquired, that would be infringed by some manner, permitted
    +by this License, of making, using, or selling its contributor version,
    +but do not include claims that would be infringed only as a
    +consequence of further modification of the contributor version.  For
    +purposes of this definition, "control" includes the right to grant
    +patent sublicenses in a manner consistent with the requirements of
    +this License.
    +
    +  Each contributor grants you a non-exclusive, worldwide, royalty-free
    +patent license under the contributor's essential patent claims, to
    +make, use, sell, offer for sale, import and otherwise run, modify and
    +propagate the contents of its contributor version.
    +
    +  In the following three paragraphs, a "patent license" is any express
    +agreement or commitment, however denominated, not to enforce a patent
    +(such as an express permission to practice a patent or covenant not to
    +sue for patent infringement).  To "grant" such a patent license to a
    +party means to make such an agreement or commitment not to enforce a
    +patent against the party.
    +
    +  If you convey a covered work, knowingly relying on a patent license,
    +and the Corresponding Source of the work is not available for anyone
    +to copy, free of charge and under the terms of this License, through a
    +publicly available network server or other readily accessible means,
    +then you must either (1) cause the Corresponding Source to be so
    +available, or (2) arrange to deprive yourself of the benefit of the
    +patent license for this particular work, or (3) arrange, in a manner
    +consistent with the requirements of this License, to extend the patent
    +license to downstream recipients.  "Knowingly relying" means you have
    +actual knowledge that, but for the patent license, your conveying the
    +covered work in a country, or your recipient's use of the covered work
    +in a country, would infringe one or more identifiable patents in that
    +country that you have reason to believe are valid.
    +  
    +  If, pursuant to or in connection with a single transaction or
    +arrangement, you convey, or propagate by procuring conveyance of, a
    +covered work, and grant a patent license to some of the parties
    +receiving the covered work authorizing them to use, propagate, modify
    +or convey a specific copy of the covered work, then the patent license
    +you grant is automatically extended to all recipients of the covered
    +work and works based on it.
    +
    +  A patent license is "discriminatory" if it does not include within
    +the scope of its coverage, prohibits the exercise of, or is
    +conditioned on the non-exercise of one or more of the rights that are
    +specifically granted under this License.  You may not convey a covered
    +work if you are a party to an arrangement with a third party that is
    +in the business of distributing software, under which you make payment
    +to the third party based on the extent of your activity of conveying
    +the work, and under which the third party grants, to any of the
    +parties who would receive the covered work from you, a discriminatory
    +patent license (a) in connection with copies of the covered work
    +conveyed by you (or copies made from those copies), or (b) primarily
    +for and in connection with specific products or compilations that
    +contain the covered work, unless you entered into that arrangement,
    +or that patent license was granted, prior to 28 March 2007.
    +
    +  Nothing in this License shall be construed as excluding or limiting
    +any implied license or other defenses to infringement that may
    +otherwise be available to you under applicable patent law.
    +
    +  12. No Surrender of Others' Freedom.
    +
    +  If conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot convey a
    +covered work so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you may
    +not convey it at all.  For example, if you agree to terms that obligate you
    +to collect a royalty for further conveying from those to whom you convey
    +the Program, the only way you could satisfy both those terms and this
    +License would be to refrain entirely from conveying the Program.
    +
    +  13. Use with the GNU Affero General Public License.
    +
    +  Notwithstanding any other provision of this License, you have
    +permission to link or combine any covered work with a work licensed
    +under version 3 of the GNU Affero General Public License into a single
    +combined work, and to convey the resulting work.  The terms of this
    +License will continue to apply to the part which is the covered work,
    +but the special requirements of the GNU Affero General Public License,
    +section 13, concerning interaction through a network will apply to the
    +combination as such.
    +
    +  14. Revised Versions of this License.
    +
    +  The Free Software Foundation may publish revised and/or new versions of
    +the GNU General Public License from time to time.  Such new versions will
    +be similar in spirit to the present version, but may differ in detail to
    +address new problems or concerns.
    +
    +  Each version is given a distinguishing version number.  If the
    +Program specifies that a certain numbered version of the GNU General
    +Public License "or any later version" applies to it, you have the
    +option of following the terms and conditions either of that numbered
    +version or of any later version published by the Free Software
    +Foundation.  If the Program does not specify a version number of the
    +GNU General Public License, you may choose any version ever published
    +by the Free Software Foundation.
    +
    +  If the Program specifies that a proxy can decide which future
    +versions of the GNU General Public License can be used, that proxy's
    +public statement of acceptance of a version permanently authorizes you
    +to choose that version for the Program.
    +
    +  Later license versions may give you additional or different
    +permissions.  However, no additional obligations are imposed on any
    +author or copyright holder as a result of your choosing to follow a
    +later version.
    +
    +  15. Disclaimer of Warranty.
    +
    +  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    +APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    +IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. Limitation of Liability.
    +
    +  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGES.
    +
    +  17. Interpretation of Sections 15 and 16.
    +
    +  If the disclaimer of warranty and limitation of liability provided
    +above cannot be given local legal effect according to their terms,
    +reviewing courts shall apply local law that most closely approximates
    +an absolute waiver of all civil liability in connection with the
    +Program, unless a warranty or assumption of liability accompanies a
    +copy of the Program in return for a fee.
    +
    +		     END OF TERMS AND CONDITIONS
    +
    +	    How to Apply These Terms to Your New Programs
    +
    +  If you develop a new program, and you want it to be of the greatest
    +possible use to the public, the best way to achieve this is to make it
    +free software which everyone can redistribute and change under these terms.
    +
    +  To do so, attach the following notices to the program.  It is safest
    +to attach them to the start of each source file to most effectively
    +state the exclusion of warranty; and each file should have at least
    +the "copyright" line and a pointer to where the full notice is found.
    +
    +    <one line to give the program's name and a brief idea of what it does.>
    +    Copyright (C) <year>  <name of author>
    +
    +    This program is free software: you can redistribute it and/or modify
    +    it under the terms of the GNU General Public License as published by
    +    the Free Software Foundation, either version 3 of the License, or
    +    (at your option) any later version.
    +
    +    This program is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    +    GNU General Public License for more details.
    +
    +    You should have received a copy of the GNU General Public License
    +    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +  If the program does terminal interaction, make it output a short
    +notice like this when it starts in an interactive mode:
    +
    +    <program>  Copyright (C) <year>  <name of author>
    +    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    +    This is free software, and you are welcome to redistribute it
    +    under certain conditions; type `show c' for details.
    +
    +The hypothetical commands `show w' and `show c' should show the appropriate
    +parts of the General Public License.  Of course, your program's commands
    +might be different; for a GUI interface, you would use an "about box".
    +
    +  You should also get your employer (if you work as a programmer) or school,
    +if any, to sign a "copyright disclaimer" for the program, if necessary.
    +For more information on this, and how to apply and follow the GNU GPL, see
    +<http://www.gnu.org/licenses/>.
    +
    +  The GNU General Public License does not permit incorporating your program
    +into proprietary programs.  If your program is a subroutine library, you
    +may consider it more useful to permit linking proprietary applications with
    +the library.  If this is what you want to do, use the GNU Lesser General
    +Public License instead of this License.  But first, please read
    +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
    +
    +
    +
    +
    + + +
    + +
    +

    django-crispy-forms + 1.5.2 +

    + + +
    Copyright (c) 2009-2011 Miguel Araujo and contributors.
    + + + + +
    Copyright (c) 2009-2011 Miguel Araujo and contributors.
    +
    +Permission is hereby granted, free of charge, to any person
    +obtaining a copy of this software and associated documentation
    +files (the "Software"), to deal in the Software without
    +restriction, including without limitation the rights to use,
    +copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the
    +Software is furnished to do so, subject to the following
    +conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    +OTHER DEALINGS IN THE SOFTWARE.
    + + +
    + +
    +

    unicodecsv + 0.14.0 +

    + + + + + +
    Copyright 2010 Jeremy Dunck. All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification, are
    +permitted provided that the following conditions are met:
    +
    +   1. Redistributions of source code must retain the above copyright notice, this list of
    +      conditions and the following disclaimer.
    +
    +   2. Redistributions in binary form must reproduce the above copyright notice, this list
    +      of conditions and the following disclaimer in the documentation and/or other materials
    +      provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY JEREMY DUNCK ``AS IS'' AND ANY EXPRESS OR IMPLIED
    +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JEREMY DUNCK OR
    +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The views and conclusions contained in the software and documentation are those of the
    +authors and should not be interpreted as representing official policies, either expressed
    +or implied, of Jeremy Dunck.
    +
    + + +
    + +
    +

    django-haystack + 2.4.0 +

    + + + + + +
    Copyright (c) 2009-2013, Daniel Lindsley.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    1. Redistributions of source code must retain the above copyright notice,
    +       this list of conditions and the following disclaimer.
    +
    +    2. Redistributions in binary form must reproduce the above copyright
    +       notice, this list of conditions and the following disclaimer in the
    +       documentation and/or other materials provided with the distribution.
    +
    +    3. Neither the name of Haystack nor the names of its contributors may be used
    +       to endorse or promote products derived from this software without
    +       specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +---
    +
    +Prior to April 17, 2009, this software was released under the MIT license.
    +
    + + +
    + +
    +

    mock + 1.0.1 +

    + + +
    Copyright (c) 2003-2012, Michael Foord
    + + + + +
    Copyright (c) 2003-2012, Michael Foord
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are
    +met:
    +
    +    * Redistributions of source code must retain the above copyright
    +      notice, this list of conditions and the following disclaimer.
    +
    +    * Redistributions in binary form must reproduce the above
    +      copyright notice, this list of conditions and the following
    +      disclaimer in the documentation and/or other materials provided
    +      with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    django-debreach + 1.2.1 +

    + + +
    Copyright (c) 2013, Luke Pomfrey
    + + + + +
    Copyright (c) 2013, Luke Pomfrey
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +      this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright notice,
    +      this list of conditions and the following disclaimer in the documentation
    +      and/or other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    six + 1.9.0 +

    + + +
    Copyright (c) 2010-2011 Benjamin Peterson
    + + + + +
    Copyright (c) 2010-2011 Benjamin Peterson
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    +the Software, and to permit persons to whom the Software is furnished to do so,
    +subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    + + +
    + +
    +

    setuptools + 18.3.2 +

    + + + + + +
    A. HISTORY OF THE SOFTWARE
    +==========================
    +
    +Python was created in the early 1990s by Guido van Rossum at Stichting
    +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    +as a successor of a language called ABC.  Guido remains Python's
    +principal author, although it includes many contributions from others.
    +
    +In 1995, Guido continued his work on Python at the Corporation for
    +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    +in Reston, Virginia where he released several versions of the
    +software.
    +
    +In May 2000, Guido and the Python core development team moved to
    +BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    +year, the PythonLabs team moved to Digital Creations (now Zope
    +Corporation, see http://www.zope.com).  In 2001, the Python Software
    +Foundation (PSF, see http://www.python.org/psf/) was formed, a
    +non-profit organization created specifically to own Python-related
    +Intellectual Property.  Zope Corporation is a sponsoring member of
    +the PSF.
    +
    +All Python releases are Open Source (see http://www.opensource.org for
    +the Open Source Definition).  Historically, most, but not all, Python
    +releases have also been GPL-compatible; the table below summarizes
    +the various releases.
    +
    +    Release         Derived     Year        Owner       GPL-
    +                    from                                compatible? (1)
    +
    +    0.9.0 thru 1.2              1991-1995   CWI         yes
    +    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    +    1.6             1.5.2       2000        CNRI        no
    +    2.0             1.6         2000        BeOpen.com  no
    +    1.6.1           1.6         2001        CNRI        yes (2)
    +    2.1             2.0+1.6.1   2001        PSF         no
    +    2.0.1           2.0+1.6.1   2001        PSF         yes
    +    2.1.1           2.1+2.0.1   2001        PSF         yes
    +    2.2             2.1.1       2001        PSF         yes
    +    2.1.2           2.1.1       2002        PSF         yes
    +    2.1.3           2.1.2       2002        PSF         yes
    +    2.2.1           2.2         2002        PSF         yes
    +    2.2.2           2.2.1       2002        PSF         yes
    +    2.2.3           2.2.2       2003        PSF         yes
    +    2.3             2.2.2       2002-2003   PSF         yes
    +    2.3.1           2.3         2002-2003   PSF         yes
    +    2.3.2           2.3.1       2002-2003   PSF         yes
    +    2.3.3           2.3.2       2002-2003   PSF         yes
    +    2.3.4           2.3.3       2004        PSF         yes
    +    2.3.5           2.3.4       2005        PSF         yes
    +    2.4             2.3         2004        PSF         yes
    +    2.4.1           2.4         2005        PSF         yes
    +    2.4.2           2.4.1       2005        PSF         yes
    +    2.4.3           2.4.2       2006        PSF         yes
    +    2.4.4           2.4.3       2006        PSF         yes
    +    2.5             2.4         2006        PSF         yes
    +    2.5.1           2.5         2007        PSF         yes
    +    2.5.2           2.5.2       2008        PSF         yes
    +
    +Footnotes:
    +
    +(1) GPL-compatible doesn't mean that we're distributing Python under
    +    the GPL.  All Python licenses, unlike the GPL, let you distribute
    +    a modified version without making your changes open source.  The
    +    GPL-compatible licenses make it possible to combine Python with
    +    other software that is released under the GPL; the others don't.
    +
    +(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
    +    because its license has a choice of law clause.  According to
    +    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
    +    is "not incompatible" with the GPL.
    +
    +Thanks to the many outside volunteers who have worked under Guido's
    +direction to make these releases possible.
    +
    +
    +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    +===============================================================
    +
    +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
    +--------------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Python Software Foundation
    +("PSF"), and the Individual or Organization ("Licensee") accessing and
    +otherwise using this software ("Python") in source or binary form and
    +its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, PSF
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python
    +alone or in any derivative version, provided, however, that PSF's
    +License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; 
    +All Rights Reserved" are retained in Python alone or in any derivative 
    +version prepared by Licensee.
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python.
    +
    +4. PSF is making Python available to Licensee on an "AS IS"
    +basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. Nothing in this License Agreement shall be deemed to create any
    +relationship of agency, partnership, or joint venture between PSF and
    +Licensee.  This License Agreement does not grant permission to use PSF
    +trademarks or trade name in a trademark sense to endorse or promote
    +products or services of Licensee, or any third party.
    +
    +8. By copying, installing or otherwise using Python, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    +-------------------------------------------
    +
    +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    +
    +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    +Individual or Organization ("Licensee") accessing and otherwise using
    +this software in source or binary form and its associated
    +documentation ("the Software").
    +
    +2. Subject to the terms and conditions of this BeOpen Python License
    +Agreement, BeOpen hereby grants Licensee a non-exclusive,
    +royalty-free, world-wide license to reproduce, analyze, test, perform
    +and/or display publicly, prepare derivative works, distribute, and
    +otherwise use the Software alone or in any derivative version,
    +provided, however, that the BeOpen Python License is retained in the
    +Software, alone or in any derivative version prepared by Licensee.
    +
    +3. BeOpen is making the Software available to Licensee on an "AS IS"
    +basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +5. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +6. This License Agreement shall be governed by and interpreted in all
    +respects by the law of the State of California, excluding conflict of
    +law provisions.  Nothing in this License Agreement shall be deemed to
    +create any relationship of agency, partnership, or joint venture
    +between BeOpen and Licensee.  This License Agreement does not grant
    +permission to use BeOpen trademarks or trade names in a trademark
    +sense to endorse or promote products or services of Licensee, or any
    +third party.  As an exception, the "BeOpen Python" logos available at
    +http://www.pythonlabs.com/logos.html may be used according to the
    +permissions granted on that web page.
    +
    +7. By copying, installing or otherwise using the software, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    +---------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Corporation for National
    +Research Initiatives, having an office at 1895 Preston White Drive,
    +Reston, VA 20191 ("CNRI"), and the Individual or Organization
    +("Licensee") accessing and otherwise using Python 1.6.1 software in
    +source or binary form and its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, CNRI
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 1.6.1
    +alone or in any derivative version, provided, however, that CNRI's
    +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    +1995-2001 Corporation for National Research Initiatives; All Rights
    +Reserved" are retained in Python 1.6.1 alone or in any derivative
    +version prepared by Licensee.  Alternately, in lieu of CNRI's License
    +Agreement, Licensee may substitute the following text (omitting the
    +quotes): "Python 1.6.1 is made available subject to the terms and
    +conditions in CNRI's License Agreement.  This Agreement together with
    +Python 1.6.1 may be located on the Internet using the following
    +unique, persistent identifier (known as a handle): 1895.22/1013.  This
    +Agreement may also be obtained from a proxy server on the Internet
    +using the following URL: http://hdl.handle.net/1895.22/1013".
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 1.6.1 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 1.6.1.
    +
    +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    +basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. This License Agreement shall be governed by the federal
    +intellectual property law of the United States, including without
    +limitation the federal copyright law, and, to the extent such
    +U.S. federal law does not apply, by the law of the Commonwealth of
    +Virginia, excluding Virginia's conflict of law provisions.
    +Notwithstanding the foregoing, with regard to derivative works based
    +on Python 1.6.1 that incorporate non-separable material that was
    +previously distributed under the GNU General Public License (GPL), the
    +law of the Commonwealth of Virginia shall govern this License
    +Agreement only as to issues arising under or with respect to
    +Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    +License Agreement shall be deemed to create any relationship of
    +agency, partnership, or joint venture between CNRI and Licensee.  This
    +License Agreement does not grant permission to use CNRI trademarks or
    +trade name in a trademark sense to endorse or promote products or
    +services of Licensee, or any third party.
    +
    +8. By clicking on the "ACCEPT" button where indicated, or by copying,
    +installing or otherwise using Python 1.6.1, Licensee agrees to be
    +bound by the terms and conditions of this License Agreement.
    +
    +        ACCEPT
    +
    +
    +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    +--------------------------------------------------
    +
    +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    +The Netherlands.  All rights reserved.
    +
    +Permission to use, copy, modify, and distribute this software and its
    +documentation for any purpose and without fee is hereby granted,
    +provided that the above copyright notice appear in all copies and that
    +both that copyright notice and this permission notice appear in
    +supporting documentation, and that the name of Stichting Mathematisch
    +Centrum or CWI not be used in advertising or publicity pertaining to
    +distribution of the software without specific, written prior
    +permission.
    +
    +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +This copy of Python includes a copy of bzip2, which is licensed under the following terms:
    +
    +
    +This program, "bzip2", the associated library "libbzip2", and all
    +documentation, are copyright (C) 1996-2005 Julian R Seward.  All
    +rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +
    +1. Redistributions of source code must retain the above copyright
    +   notice, this list of conditions and the following disclaimer.
    +
    +2. The origin of this software must not be misrepresented; you must 
    +   not claim that you wrote the original software.  If you use this 
    +   software in a product, an acknowledgment in the product 
    +   documentation would be appreciated but is not required.
    +
    +3. Altered source versions must be plainly marked as such, and must
    +   not be misrepresented as being the original software.
    +
    +4. The name of the author may not be used to endorse or promote 
    +   products derived from this software without specific prior written 
    +   permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
    +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
    +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +Julian Seward, Cambridge, UK.
    +jseward@acm.org
    +bzip2/libbzip2 version 1.0.3 of 15 February 2005
    +
    +
    +This copy of Python includes a copy of db, which is licensed under the following terms:
    +
    +/*-
    + * $Id: LICENSE,v 12.1 2005/06/16 20:20:10 bostic Exp $
    + */
    +
    +The following is the license that applies to this copy of the Berkeley DB
    +software.  For a license to use the Berkeley DB software under conditions
    +other than those described here, or to purchase support for this software,
    +please contact Sleepycat Software by email at info@sleepycat.com, or on
    +the Web at http://www.sleepycat.com.
    +
    +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    +/*
    + * Copyright (c) 1990-2005
    + *	Sleepycat Software.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Redistributions in any form must be accompanied by information on
    + *    how to obtain complete source code for the DB software and any
    + *    accompanying software that uses the DB software.  The source code
    + *    must either be included in the distribution or be available for no
    + *    more than the cost of distribution plus a nominal fee, and must be
    + *    freely redistributable under reasonable conditions.  For an
    + *    executable file, complete source code means the source code for all
    + *    modules it contains.  It does not include source code for modules or
    + *    files that typically accompany the major components of the operating
    + *    system on which the executable file runs.
    + *
    + * THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY EXPRESS
    + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
    + * NON-INFRINGEMENT, ARE DISCLAIMED.  IN NO EVENT SHALL SLEEPYCAT SOFTWARE
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    + * THE POSSIBILITY OF SUCH DAMAGE.
    + */
    +/*
    + * Copyright (c) 1990, 1993, 1994, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +/*
    + * Copyright (c) 1995, 1996
    + *	The President and Fellows of Harvard University.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +
    +This copy of Python includes a copy of openssl, which is licensed under the following terms:
    +
    +
    +  LICENSE ISSUES
    +  ==============
    +
    +  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
    +  the OpenSSL License and the original SSLeay license apply to the toolkit.
    +  See below for the actual license texts. Actually both licenses are BSD-style
    +  Open Source licenses. In case of any license issues related to OpenSSL
    +  please contact openssl-core@openssl.org.
    +
    +  OpenSSL License
    +  ---------------
    +
    +/* ====================================================================
    + * Copyright (c) 1998-2005 The OpenSSL Project.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + *
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer. 
    + *
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in
    + *    the documentation and/or other materials provided with the
    + *    distribution.
    + *
    + * 3. All advertising materials mentioning features or use of this
    + *    software must display the following acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    + *
    + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    + *    endorse or promote products derived from this software without
    + *    prior written permission. For written permission, please contact
    + *    openssl-core@openssl.org.
    + *
    + * 5. Products derived from this software may not be called "OpenSSL"
    + *    nor may "OpenSSL" appear in their names without prior written
    + *    permission of the OpenSSL Project.
    + *
    + * 6. Redistributions of any form whatsoever must retain the following
    + *    acknowledgment:
    + *    "This product includes software developed by the OpenSSL Project
    + *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    + * OF THE POSSIBILITY OF SUCH DAMAGE.
    + * ====================================================================
    + *
    + * This product includes cryptographic software written by Eric Young
    + * (eay@cryptsoft.com).  This product includes software written by Tim
    + * Hudson (tjh@cryptsoft.com).
    + *
    + */
    +
    + Original SSLeay License
    + -----------------------
    +
    +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    + * All rights reserved.
    + *
    + * This package is an SSL implementation written
    + * by Eric Young (eay@cryptsoft.com).
    + * The implementation was written so as to conform with Netscapes SSL.
    + * 
    + * This library is free for commercial and non-commercial use as long as
    + * the following conditions are aheared to.  The following conditions
    + * apply to all code found in this distribution, be it the RC4, RSA,
    + * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    + * included with this distribution is covered by the same copyright terms
    + * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    + * 
    + * Copyright remains Eric Young's, and as such any Copyright notices in
    + * the code are not to be removed.
    + * If this package is used in a product, Eric Young should be given attribution
    + * as the author of the parts of the library used.
    + * This can be in the form of a textual message at program startup or
    + * in documentation (online or textual) provided with the package.
    + * 
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *    "This product includes cryptographic software written by
    + *     Eric Young (eay@cryptsoft.com)"
    + *    The word 'cryptographic' can be left out if the rouines from the library
    + *    being used are not cryptographic related :-).
    + * 4. If you include any Windows specific code (or a derivative thereof) from 
    + *    the apps directory (application code) you must include an acknowledgement:
    + *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    + * 
    + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + * 
    + * The licence and distribution terms for any publically available version or
    + * derivative of this code cannot be changed.  i.e. this code cannot simply be
    + * copied and put under another distribution licence
    + * [including the GNU Public Licence.]
    + */
    +
    +
    +This copy of Python includes a copy of tcl, which is licensed under the following terms:
    +
    +This software is copyrighted by the Regents of the University of
    +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
    +Corporation and other parties.  The following terms apply to all files
    +associated with the software unless explicitly disclaimed in
    +individual files.
    +
    +The authors hereby grant permission to use, copy, modify, distribute,
    +and license this software and its documentation for any purpose, provided
    +that existing copyright notices are retained in all copies and that this
    +notice is included verbatim in any distributions. No written agreement,
    +license, or royalty fee is required for any of the authorized uses.
    +Modifications to this software may be copyrighted by their authors
    +and need not follow the licensing terms described here, provided that
    +the new terms are clearly indicated on the first page of each file where
    +they apply.
    +
    +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    +
    +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    +MODIFICATIONS.
    +
    +GOVERNMENT USE: If you are acquiring this software on behalf of the
    +U.S. government, the Government shall have only "Restricted Rights"
    +in the software and related documentation as defined in the Federal 
    +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    +are acquiring the software on behalf of the Department of Defense, the
    +software shall be classified as "Commercial Computer Software" and the
    +Government shall have only "Restricted Rights" as defined in Clause
    +252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    +authors grant the U.S. Government and others acting in its behalf
    +permission to use and distribute the software in accordance with the
    +terms specified in this license. 
    +
    +This copy of Python includes a copy of tk, which is licensed under the following terms:
    +
    +This software is copyrighted by the Regents of the University of
    +California, Sun Microsystems, Inc., and other parties.  The following
    +terms apply to all files associated with the software unless explicitly
    +disclaimed in individual files.
    +
    +The authors hereby grant permission to use, copy, modify, distribute,
    +and license this software and its documentation for any purpose, provided
    +that existing copyright notices are retained in all copies and that this
    +notice is included verbatim in any distributions. No written agreement,
    +license, or royalty fee is required for any of the authorized uses.
    +Modifications to this software may be copyrighted by their authors
    +and need not follow the licensing terms described here, provided that
    +the new terms are clearly indicated on the first page of each file where
    +they apply.
    +
    +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    +
    +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    +MODIFICATIONS.
    +
    +GOVERNMENT USE: If you are acquiring this software on behalf of the
    +U.S. government, the Government shall have only "Restricted Rights"
    +in the software and related documentation as defined in the Federal 
    +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    +are acquiring the software on behalf of the Department of Defense, the
    +software shall be classified as "Commercial Computer Software" and the
    +Government shall have only "Restricted Rights" as defined in Clause
    +252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    +authors grant the U.S. Government and others acting in its behalf
    +permission to use and distribute the software in accordance with the
    +terms specified in this license.
    +
    + + +
    + +
    +

    django-auth-ldap + 1.2.6 +

    + + +
    Copyright (c) 2009, Peter Sagerson
    + + + + +
    Copyright (c) 2009, Peter Sagerson
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +- Redistributions of source code must retain the above copyright notice, this
    +  list of conditions and the following disclaimer.
    +
    +- Redistributions in binary form must reproduce the above copyright notice, this
    +  list of conditions and the following disclaimer in the documentation and/or
    +  other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    python-ldap + 2.4.20 +

    + + + + + +
    +The python-ldap package is distributed under Python-style license.
    +
    +Standard disclaimer:
    +   This software is made available by the author(s) to the public for free
    +   and "as is".  All users of this free software are solely and entirely
    +   responsible for their own choice and use of this software for their
    +   own purposes.  By using this software, each user agrees that the
    +   author(s) shall not be liable for damages of any kind in relation to
    +   its use or performance. The author(s) do not warrant that this software
    +   is fit for any purpose.
    +
    +$Id: LICENCE,v 1.1 2002/09/18 18:51:22 stroeder Exp $
    +
    + + +
    + +
    +

    certifi + 2015.9.6.2 +

    + + + + + + +
    + +
    +

    model_mommy + 1.2.5 +

    + + + +
    Copyright 2011 Vanderson Mota
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    paramiko + 1.15.2 +

    + + + + + +
              GNU LESSER GENERAL PUBLIC LICENSE
    +               Version 2.1, February 1999
    +
    + Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    +     51 Franklin Street, Suite 500, Boston, MA  02110-1335  USA
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +[This is the first released version of the Lesser GPL.  It also counts
    + as the successor of the GNU Library Public License, version 2, hence
    + the version number 2.1.]
    +
    +                Preamble
    +
    +  The licenses for most software are designed to take away your
    +freedom to share and change it.  By contrast, the GNU General Public
    +Licenses are intended to guarantee your freedom to share and change
    +free software--to make sure the software is free for all its users.
    +
    +  This license, the Lesser General Public License, applies to some
    +specially designated software packages--typically libraries--of the
    +Free Software Foundation and other authors who decide to use it.  You
    +can use it too, but we suggest you first think carefully about whether
    +this license or the ordinary General Public License is the better
    +strategy to use in any particular case, based on the explanations below.
    +
    +  When we speak of free software, we are referring to freedom of use,
    +not price.  Our General Public Licenses are designed to make sure that
    +you have the freedom to distribute copies of free software (and charge
    +for this service if you wish); that you receive source code or can get
    +it if you want it; that you can change the software and use pieces of
    +it in new free programs; and that you are informed that you can do
    +these things.
    +
    +  To protect your rights, we need to make restrictions that forbid
    +distributors to deny you these rights or to ask you to surrender these
    +rights.  These restrictions translate to certain responsibilities for
    +you if you distribute copies of the library or if you modify it.
    +
    +  For example, if you distribute copies of the library, whether gratis
    +or for a fee, you must give the recipients all the rights that we gave
    +you.  You must make sure that they, too, receive or can get the source
    +code.  If you link other code with the library, you must provide
    +complete object files to the recipients, so that they can relink them
    +with the library after making changes to the library and recompiling
    +it.  And you must show them these terms so they know their rights.
    +
    +  We protect your rights with a two-step method: (1) we copyright the
    +library, and (2) we offer you this license, which gives you legal
    +permission to copy, distribute and/or modify the library.
    +
    +  To protect each distributor, we want to make it very clear that
    +there is no warranty for the free library.  Also, if the library is
    +modified by someone else and passed on, the recipients should know
    +that what they have is not the original version, so that the original
    +author's reputation will not be affected by problems that might be
    +introduced by others.
    +
    +  Finally, software patents pose a constant threat to the existence of
    +any free program.  We wish to make sure that a company cannot
    +effectively restrict the users of a free program by obtaining a
    +restrictive license from a patent holder.  Therefore, we insist that
    +any patent license obtained for a version of the library must be
    +consistent with the full freedom of use specified in this license.
    +
    +  Most GNU software, including some libraries, is covered by the
    +ordinary GNU General Public License.  This license, the GNU Lesser
    +General Public License, applies to certain designated libraries, and
    +is quite different from the ordinary General Public License.  We use
    +this license for certain libraries in order to permit linking those
    +libraries into non-free programs.
    +
    +  When a program is linked with a library, whether statically or using
    +a shared library, the combination of the two is legally speaking a
    +combined work, a derivative of the original library.  The ordinary
    +General Public License therefore permits such linking only if the
    +entire combination fits its criteria of freedom.  The Lesser General
    +Public License permits more lax criteria for linking other code with
    +the library.
    +
    +  We call this license the "Lesser" General Public License because it
    +does Less to protect the user's freedom than the ordinary General
    +Public License.  It also provides other free software developers Less
    +of an advantage over competing non-free programs.  These disadvantages
    +are the reason we use the ordinary General Public License for many
    +libraries.  However, the Lesser license provides advantages in certain
    +special circumstances.
    +
    +  For example, on rare occasions, there may be a special need to
    +encourage the widest possible use of a certain library, so that it becomes
    +a de-facto standard.  To achieve this, non-free programs must be
    +allowed to use the library.  A more frequent case is that a free
    +library does the same job as widely used non-free libraries.  In this
    +case, there is little to gain by limiting the free library to free
    +software only, so we use the Lesser General Public License.
    +
    +  In other cases, permission to use a particular library in non-free
    +programs enables a greater number of people to use a large body of
    +free software.  For example, permission to use the GNU C Library in
    +non-free programs enables many more people to use the whole GNU
    +operating system, as well as its variant, the GNU/Linux operating
    +system.
    +
    +  Although the Lesser General Public License is Less protective of the
    +users' freedom, it does ensure that the user of a program that is
    +linked with the Library has the freedom and the wherewithal to run
    +that program using a modified version of the Library.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.  Pay close attention to the difference between a
    +"work based on the library" and a "work that uses the library".  The
    +former contains code derived from the library, whereas the latter must
    +be combined with the library in order to run.
    +
    +          GNU LESSER GENERAL PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. This License Agreement applies to any software library or other
    +program which contains a notice placed by the copyright holder or
    +other authorized party saying it may be distributed under the terms of
    +this Lesser General Public License (also called "this License").
    +Each licensee is addressed as "you".
    +
    +  A "library" means a collection of software functions and/or data
    +prepared so as to be conveniently linked with application programs
    +(which use some of those functions and data) to form executables.
    +
    +  The "Library", below, refers to any such software library or work
    +which has been distributed under these terms.  A "work based on the
    +Library" means either the Library or any derivative work under
    +copyright law: that is to say, a work containing the Library or a
    +portion of it, either verbatim or with modifications and/or translated
    +straightforwardly into another language.  (Hereinafter, translation is
    +included without limitation in the term "modification".)
    +
    +  "Source code" for a work means the preferred form of the work for
    +making modifications to it.  For a library, complete source code means
    +all the source code for all modules it contains, plus any associated
    +interface definition files, plus the scripts used to control compilation
    +and installation of the library.
    +
    +  Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope.  The act of
    +running a program using the Library is not restricted, and output from
    +such a program is covered only if its contents constitute a work based
    +on the Library (independent of the use of the Library in a tool for
    +writing it).  Whether that is true depends on what the Library does
    +and what the program that uses the Library does.
    +  
    +  1. You may copy and distribute verbatim copies of the Library's
    +complete source code as you receive it, in any medium, provided that
    +you conspicuously and appropriately publish on each copy an
    +appropriate copyright notice and disclaimer of warranty; keep intact
    +all the notices that refer to this License and to the absence of any
    +warranty; and distribute a copy of this License along with the
    +Library.
    +
    +  You may charge a fee for the physical act of transferring a copy,
    +and you may at your option offer warranty protection in exchange for a
    +fee.
    +
    +  2. You may modify your copy or copies of the Library or any portion
    +of it, thus forming a work based on the Library, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +
    +    a) The modified work must itself be a software library.
    +
    +    b) You must cause the files modified to carry prominent notices
    +    stating that you changed the files and the date of any change.
    +
    +    c) You must cause the whole of the work to be licensed at no
    +    charge to all third parties under the terms of this License.
    +
    +    d) If a facility in the modified Library refers to a function or a
    +    table of data to be supplied by an application program that uses
    +    the facility, other than as an argument passed when the facility
    +    is invoked, then you must make a good faith effort to ensure that,
    +    in the event an application does not supply such function or
    +    table, the facility still operates, and performs whatever part of
    +    its purpose remains meaningful.
    +
    +    (For example, a function in a library to compute square roots has
    +    a purpose that is entirely well-defined independent of the
    +    application.  Therefore, Subsection 2d requires that any
    +    application-supplied function or table used by this function must
    +    be optional: if the application does not supply it, the square
    +    root function must still compute square roots.)
    +
    +These requirements apply to the modified work as a whole.  If
    +identifiable sections of that work are not derived from the Library,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works.  But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Library, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote
    +it.
    +
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Library.
    +
    +In addition, mere aggregation of another work not based on the Library
    +with the Library (or with a work based on the Library) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +
    +  3. You may opt to apply the terms of the ordinary GNU General Public
    +License instead of this License to a given copy of the Library.  To do
    +this, you must alter all the notices that refer to this License, so
    +that they refer to the ordinary GNU General Public License, version 2,
    +instead of to this License.  (If a newer version than version 2 of the
    +ordinary GNU General Public License has appeared, then you can specify
    +that version instead if you wish.)  Do not make any other change in
    +these notices.
    +
    +  Once this change is made in a given copy, it is irreversible for
    +that copy, so the ordinary GNU General Public License applies to all
    +subsequent copies and derivative works made from that copy.
    +
    +  This option is useful when you wish to copy part of the code of
    +the Library into a program that is not a library.
    +
    +  4. You may copy and distribute the Library (or a portion or
    +derivative of it, under Section 2) in object code or executable form
    +under the terms of Sections 1 and 2 above provided that you accompany
    +it with the complete corresponding machine-readable source code, which
    +must be distributed under the terms of Sections 1 and 2 above on a
    +medium customarily used for software interchange.
    +
    +  If distribution of object code is made by offering access to copy
    +from a designated place, then offering equivalent access to copy the
    +source code from the same place satisfies the requirement to
    +distribute the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +
    +  5. A program that contains no derivative of any portion of the
    +Library, but is designed to work with the Library by being compiled or
    +linked with it, is called a "work that uses the Library".  Such a
    +work, in isolation, is not a derivative work of the Library, and
    +therefore falls outside the scope of this License.
    +
    +  However, linking a "work that uses the Library" with the Library
    +creates an executable that is a derivative of the Library (because it
    +contains portions of the Library), rather than a "work that uses the
    +library".  The executable is therefore covered by this License.
    +Section 6 states terms for distribution of such executables.
    +
    +  When a "work that uses the Library" uses material from a header file
    +that is part of the Library, the object code for the work may be a
    +derivative work of the Library even though the source code is not.
    +Whether this is true is especially significant if the work can be
    +linked without the Library, or if the work is itself a library.  The
    +threshold for this to be true is not precisely defined by law.
    +
    +  If such an object file uses only numerical parameters, data
    +structure layouts and accessors, and small macros and small inline
    +functions (ten lines or less in length), then the use of the object
    +file is unrestricted, regardless of whether it is legally a derivative
    +work.  (Executables containing this object code plus portions of the
    +Library will still fall under Section 6.)
    +
    +  Otherwise, if the work is a derivative of the Library, you may
    +distribute the object code for the work under the terms of Section 6.
    +Any executables containing that work also fall under Section 6,
    +whether or not they are linked directly with the Library itself.
    +
    +  6. As an exception to the Sections above, you may also combine or
    +link a "work that uses the Library" with the Library to produce a
    +work containing portions of the Library, and distribute that work
    +under terms of your choice, provided that the terms permit
    +modification of the work for the customer's own use and reverse
    +engineering for debugging such modifications.
    +
    +  You must give prominent notice with each copy of the work that the
    +Library is used in it and that the Library and its use are covered by
    +this License.  You must supply a copy of this License.  If the work
    +during execution displays copyright notices, you must include the
    +copyright notice for the Library among them, as well as a reference
    +directing the user to the copy of this License.  Also, you must do one
    +of these things:
    +
    +    a) Accompany the work with the complete corresponding
    +    machine-readable source code for the Library including whatever
    +    changes were used in the work (which must be distributed under
    +    Sections 1 and 2 above); and, if the work is an executable linked
    +    with the Library, with the complete machine-readable "work that
    +    uses the Library", as object code and/or source code, so that the
    +    user can modify the Library and then relink to produce a modified
    +    executable containing the modified Library.  (It is understood
    +    that the user who changes the contents of definitions files in the
    +    Library will not necessarily be able to recompile the application
    +    to use the modified definitions.)
    +
    +    b) Use a suitable shared library mechanism for linking with the
    +    Library.  A suitable mechanism is one that (1) uses at run time a
    +    copy of the library already present on the user's computer system,
    +    rather than copying library functions into the executable, and (2)
    +    will operate properly with a modified version of the library, if
    +    the user installs one, as long as the modified version is
    +    interface-compatible with the version that the work was made with.
    +
    +    c) Accompany the work with a written offer, valid for at
    +    least three years, to give the same user the materials
    +    specified in Subsection 6a, above, for a charge no more
    +    than the cost of performing this distribution.
    +
    +    d) If distribution of the work is made by offering access to copy
    +    from a designated place, offer equivalent access to copy the above
    +    specified materials from the same place.
    +
    +    e) Verify that the user has already received a copy of these
    +    materials or that you have already sent this user a copy.
    +
    +  For an executable, the required form of the "work that uses the
    +Library" must include any data and utility programs needed for
    +reproducing the executable from it.  However, as a special exception,
    +the materials to be distributed need not include anything that is
    +normally distributed (in either source or binary form) with the major
    +components (compiler, kernel, and so on) of the operating system on
    +which the executable runs, unless that component itself accompanies
    +the executable.
    +
    +  It may happen that this requirement contradicts the license
    +restrictions of other proprietary libraries that do not normally
    +accompany the operating system.  Such a contradiction means you cannot
    +use both them and the Library together in an executable that you
    +distribute.
    +
    +  7. You may place library facilities that are a work based on the
    +Library side-by-side in a single library together with other library
    +facilities not covered by this License, and distribute such a combined
    +library, provided that the separate distribution of the work based on
    +the Library and of the other library facilities is otherwise
    +permitted, and provided that you do these two things:
    +
    +    a) Accompany the combined library with a copy of the same work
    +    based on the Library, uncombined with any other library
    +    facilities.  This must be distributed under the terms of the
    +    Sections above.
    +
    +    b) Give prominent notice with the combined library of the fact
    +    that part of it is a work based on the Library, and explaining
    +    where to find the accompanying uncombined form of the same work.
    +
    +  8. You may not copy, modify, sublicense, link with, or distribute
    +the Library except as expressly provided under this License.  Any
    +attempt otherwise to copy, modify, sublicense, link with, or
    +distribute the Library is void, and will automatically terminate your
    +rights under this License.  However, parties who have received copies,
    +or rights, from you under this License will not have their licenses
    +terminated so long as such parties remain in full compliance.
    +
    +  9. You are not required to accept this License, since you have not
    +signed it.  However, nothing else grants you permission to modify or
    +distribute the Library or its derivative works.  These actions are
    +prohibited by law if you do not accept this License.  Therefore, by
    +modifying or distributing the Library (or any work based on the
    +Library), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Library or works based on it.
    +
    +  10. Each time you redistribute the Library (or any work based on the
    +Library), the recipient automatically receives a license from the
    +original licensor to copy, distribute, link with or modify the Library
    +subject to these terms and conditions.  You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties with
    +this License.
    +
    +  11. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Library at all.  For example, if a patent
    +license would not permit royalty-free redistribution of the Library by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Library.
    +
    +If any portion of this section is held invalid or unenforceable under any
    +particular circumstance, the balance of the section is intended to apply,
    +and the section as a whole is intended to apply in other circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system which is
    +implemented by public license practices.  Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +
    +  12. If the distribution and/or use of the Library is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Library under this License may add
    +an explicit geographical distribution limitation excluding those countries,
    +so that distribution is permitted only in or among countries not thus
    +excluded.  In such case, this License incorporates the limitation as if
    +written in the body of this License.
    +
    +  13. The Free Software Foundation may publish revised and/or new
    +versions of the Lesser General Public License from time to time.
    +Such new versions will be similar in spirit to the present version,
    +but may differ in detail to address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Library
    +specifies a version number of this License which applies to it and
    +"any later version", you have the option of following the terms and
    +conditions either of that version or of any later version published by
    +the Free Software Foundation.  If the Library does not specify a
    +license version number, you may choose any version ever published by
    +the Free Software Foundation.
    +
    +  14. If you wish to incorporate parts of the Library into other free
    +programs whose distribution conditions are incompatible with these,
    +write to the author to ask for permission.  For software which is
    +copyrighted by the Free Software Foundation, write to the Free
    +Software Foundation; we sometimes make exceptions for this.  Our
    +decision will be guided by the two goals of preserving the free status
    +of all derivatives of our free software and of promoting the sharing
    +and reuse of software generally.
    +
    +                NO WARRANTY
    +
    +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    +DAMAGES.
    +
    +             END OF TERMS AND CONDITIONS
    +
    +           How to Apply These Terms to Your New Libraries
    +
    +  If you develop a new library, and you want it to be of the greatest
    +possible use to the public, we recommend making it free software that
    +everyone can redistribute and change.  You can do so by permitting
    +redistribution under these terms (or, alternatively, under the terms of the
    +ordinary General Public License).
    +
    +  To apply these terms, attach the following notices to the library.  It is
    +safest to attach them to the start of each source file to most effectively
    +convey the exclusion of warranty; and each file should have at least the
    +"copyright" line and a pointer to where the full notice is found.
    +
    +    <one line to give the library's name and a brief idea of what it does.>
    +    Copyright (C) <year>  <name of author>
    +
    +    This library is free software; you can redistribute it and/or
    +    modify it under the terms of the GNU Lesser General Public
    +    License as published by the Free Software Foundation; either
    +    version 2.1 of the License, or (at your option) any later version.
    +
    +    This library is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +    Lesser General Public License for more details.
    +
    +    You should have received a copy of the GNU Lesser General Public
    +    License along with this library; if not, write to the Free Software
    +    Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA  02110-1335  USA
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +You should also get your employer (if you work as a programmer) or your
    +school, if any, to sign a "copyright disclaimer" for the library, if
    +necessary.  Here is a sample; alter the names:
    +
    +  Yoyodyne, Inc., hereby disclaims all copyright interest in the
    +  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    +
    +  <signature of Ty Coon>, 1 April 1990
    +  Ty Coon, President of Vice
    +
    +That's all there is to it!
    +
    +
    +
    + + +
    + +
    +

    celery + 3.1.18 +

    + + + + + +
    Copyright (c) 2015 Ask Solem & contributors.  All rights reserved.
    +Copyright (c) 2012-2014 GoPivotal, Inc.  All rights reserved.
    +Copyright (c) 2009, 2010, 2011, 2012 Ask Solem, and individual contributors.  All rights reserved.
    +
    +Celery is licensed under The BSD License (3 Clause, also known as
    +the new BSD license).  The license is an OSI approved Open Source
    +license and is GPL-compatible(1).
    +
    +The license text can also be found here:
    +http://www.opensource.org/licenses/BSD-3-Clause
    +
    +License
    +=======
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +    * Redistributions of source code must retain the above copyright
    +      notice, this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +      notice, this list of conditions and the following disclaimer in the
    +      documentation and/or other materials provided with the distribution.
    +    * Neither the name of Ask Solem, nor the
    +      names of its contributors may be used to endorse or promote products
    +      derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Ask Solem OR CONTRIBUTORS
    +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    +
    +Documentation License
    +=====================
    +
    +The documentation portion of Celery (the rendered contents of the
    +"docs" directory of a software distribution or checkout) is supplied
    +under the Creative Commons Attribution-Noncommercial-Share Alike 3.0
    +United States License as described by
    +http://creativecommons.org/licenses/by-nc-sa/3.0/us/
    +
    +Footnotes
    +=========
    +(1) A GPL-compatible license makes it possible to
    +    combine Celery with other software that is released
    +    under the GPL, it does not mean that we're distributing
    +    Celery under the GPL license.  The BSD license, unlike the GPL,
    +    let you distribute a modified version without making your
    +    changes open source.
    + + +
    + +
    +

    mockldap + 0.2.5 +

    + + +
    Copyright (c) 2013, Peter Sagerson
    + + + + +
    Copyright (c) 2013, Peter Sagerson
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +- Redistributions of source code must retain the above copyright notice, this
    +  list of conditions and the following disclaimer.
    +
    +- Redistributions in binary form must reproduce the above copyright notice, this
    +  list of conditions and the following disclaimer in the documentation and/or
    +  other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    Fabric + 1.10.2 +

    + + +
    Copyright (c) 2009-2014 Jeffrey E. Forcier
    +Copyright (c) 2008-2009 Christian Vest Hansen
    + + + + +
    Copyright (c) 2009-2014 Jeffrey E. Forcier
    +Copyright (c) 2008-2009 Christian Vest Hansen
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +      this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright notice,
    +      this list of conditions and the following disclaimer in the documentation
    +      and/or other materials provided with the distribution.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    python-dateutil + 2.4.2 +

    + + + + + +
    dateutil - Extensions to the standard Python datetime module.
    +
    +Copyright (c) 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net>
    +Copyright (c) 2012-2014 - Tomi Pieviläinen <tomi.pievilainen@iki.fi>
    +Copyright (c) 2014      - Yaron de Leeuw <me@jarondl.net>
    +
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +      this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright notice,
    +      this list of conditions and the following disclaimer in the documentation
    +      and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holder nor the names of its
    +      contributors may be used to endorse or promote products derived from
    +      this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    pycrypto + 2.6.1 +

    + + + + + +
    Copyright and licensing of the Python Cryptography Toolkit ("PyCrypto"):
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    +
    +Previously, the copyright and/or licensing status of the Python
    +Cryptography Toolkit ("PyCrypto") had been somewhat ambiguous.  The
    +original intention of Andrew M. Kuchling and other contributors has
    +been to dedicate PyCrypto to the public domain, but that intention was
    +not necessarily made clear in the original disclaimer (see
    +LEGAL/copy/LICENSE.orig).
    +
    +Additionally, some files within PyCrypto had specified their own
    +licenses that differed from the PyCrypto license itself.  For example,
    +the original RIPEMD.c module simply had a copyright statement and
    +warranty disclaimer, without clearly specifying any license terms.
    +(An updated version on the author's website came with a license that
    +contained a GPL-incompatible advertising clause.)
    +
    +To rectify this situation for PyCrypto 2.1, the following steps have
    +been taken:
    +
    + 1. Obtaining explicit permission from the original contributors to
    +    dedicate their contributions to the public domain if they have not
    +    already done so.  (See the "LEGAL/copy/stmts" directory for
    +    contributors' statements.)
    +
    + 2. Replacing some modules with clearly-licensed code from other
    +    sources (e.g. the DES and DES3 modules were replaced with new ones
    +    based on Tom St. Denis's public-domain LibTomCrypt library.)
    +
    + 3. Replacing some modules with code written from scratch (e.g. the
    +    RIPEMD and Blowfish modules were re-implemented from their
    +    respective algorithm specifications without reference to the old
    +    implementations).
    +
    + 4. Removing some modules altogether without replacing them.
    +
    +To the best of our knowledge, with the exceptions noted below or
    +within the files themselves, the files that constitute PyCrypto are in
    +the public domain.  Most are distributed with the following notice:
    +
    +  The contents of this file are dedicated to the public domain.  To
    +  the extent that dedication to the public domain is not available,
    +  everyone is granted a worldwide, perpetual, royalty-free,
    +  non-exclusive license to exercise all rights associated with the
    +  contents of this file for any purpose whatsoever.
    +  No rights are reserved.
    +
    +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    +  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    +  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    +  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +  SOFTWARE.
    +
    +Exception:
    +
    + - Portions of HMAC.py and setup.py are derived from Python 2.2, and
    +   are therefore Copyright (c) 2001, 2002, 2003 Python Software
    +   Foundation (All Rights Reserved).  They are licensed by the PSF
    +   under the terms of the Python 2.2 license.  (See the file
    +   LEGAL/copy/LICENSE.python-2.2 for details.)
    +
    +EXPORT RESTRICTIONS:
    +
    +Note that the export or re-export of cryptographic software and/or
    +source code may be subject to regulation in your jurisdiction.
    +
    +
    +
    +==================================================================
    +LICENSE.python-2.2
    +LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    +LICENSE.libtom  LICENSE file from LibTomCrypt
    +stmts/          Statements by contributors
    +
    +==================================================================
    +LICENSE.python-2.2
    +
    +A. HISTORY OF THE SOFTWARE
    +==========================
    +
    +Python was created in the early 1990s by Guido van Rossum at Stichting
    +Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    +as a successor of a language called ABC.  Guido remains Python's
    +principal author, although it includes many contributions from others.
    +
    +In 1995, Guido continued his work on Python at the Corporation for
    +National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    +in Reston, Virginia where he released several versions of the
    +software.
    +
    +In May 2000, Guido and the Python core development team moved to
    +BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    +year, the PythonLabs team moved to Digital Creations (now Zope
    +Corporation, see http://www.zope.com).  In 2001, the Python Software
    +Foundation (PSF, see http://www.python.org/psf/) was formed, a
    +non-profit organization created specifically to own Python-related
    +Intellectual Property.  Zope Corporation is a sponsoring member of
    +the PSF.
    +
    +All Python releases are Open Source (see http://www.opensource.org for
    +the Open Source Definition).  Historically, most, but not all, Python
    +releases have also been GPL-compatible; the table below summarizes
    +the various releases.
    +
    +    Release         Derived     Year        Owner       GPL-
    +            from                                compatible? (1)
    +
    +    0.9.0 thru 1.2              1991-1995   CWI         yes
    +    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    +    1.6             1.5.2       2000        CNRI        no
    +    2.0             1.6         2000        BeOpen.com  no
    +    1.6.1           1.6         2001        CNRI        no
    +    2.1             2.0+1.6.1   2001        PSF         no
    +    2.0.1           2.0+1.6.1   2001        PSF         yes
    +    2.1.1           2.1+2.0.1   2001        PSF         yes
    +    2.2             2.1.1       2001        PSF         yes
    +    2.1.2           2.1.1       2002        PSF         yes
    +    2.1.3           2.1.2       2002        PSF         yes
    +    2.2.1           2.2         2002        PSF         yes
    +    2.2.2           2.2.1       2002        PSF         yes
    +    2.2.3           2.2.2       2003        PSF         yes
    +
    +Footnotes:
    +
    +(1) GPL-compatible doesn't mean that we're distributing Python under
    +    the GPL.  All Python licenses, unlike the GPL, let you distribute
    +    a modified version without making your changes open source.  The
    +    GPL-compatible licenses make it possible to combine Python with
    +    other software that is released under the GPL; the others don't.
    +
    +Thanks to the many outside volunteers who have worked under Guido's
    +direction to make these releases possible.
    +
    +
    +B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    +===============================================================
    +
    +PSF LICENSE AGREEMENT FOR PYTHON 2.2.3
    +--------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Python Software Foundation
    +("PSF"), and the Individual or Organization ("Licensee") accessing and
    +otherwise using Python 2.2.3 software in source or binary form and its
    +associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, PSF
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 2.2.3
    +alone or in any derivative version, provided, however, that PSF's
    +License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    +2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
    +retained in Python 2.2.3 alone or in any derivative version prepared
    +by Licensee.
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 2.2.3 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 2.2.3.
    +
    +4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
    +basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. Nothing in this License Agreement shall be deemed to create any
    +relationship of agency, partnership, or joint venture between PSF and
    +Licensee.  This License Agreement does not grant permission to use PSF
    +trademarks or trade name in a trademark sense to endorse or promote
    +products or services of Licensee, or any third party.
    +
    +8. By copying, installing or otherwise using Python 2.2.3, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    +-------------------------------------------
    +
    +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    +
    +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    +Individual or Organization ("Licensee") accessing and otherwise using
    +this software in source or binary form and its associated
    +documentation ("the Software").
    +
    +2. Subject to the terms and conditions of this BeOpen Python License
    +Agreement, BeOpen hereby grants Licensee a non-exclusive,
    +royalty-free, world-wide license to reproduce, analyze, test, perform
    +and/or display publicly, prepare derivative works, distribute, and
    +otherwise use the Software alone or in any derivative version,
    +provided, however, that the BeOpen Python License is retained in the
    +Software, alone or in any derivative version prepared by Licensee.
    +
    +3. BeOpen is making the Software available to Licensee on an "AS IS"
    +basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +5. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +6. This License Agreement shall be governed by and interpreted in all
    +respects by the law of the State of California, excluding conflict of
    +law provisions.  Nothing in this License Agreement shall be deemed to
    +create any relationship of agency, partnership, or joint venture
    +between BeOpen and Licensee.  This License Agreement does not grant
    +permission to use BeOpen trademarks or trade names in a trademark
    +sense to endorse or promote products or services of Licensee, or any
    +third party.  As an exception, the "BeOpen Python" logos available at
    +http://www.pythonlabs.com/logos.html may be used according to the
    +permissions granted on that web page.
    +
    +7. By copying, installing or otherwise using the software, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    +---------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Corporation for National
    +Research Initiatives, having an office at 1895 Preston White Drive,
    +Reston, VA 20191 ("CNRI"), and the Individual or Organization
    +("Licensee") accessing and otherwise using Python 1.6.1 software in
    +source or binary form and its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, CNRI
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python 1.6.1
    +alone or in any derivative version, provided, however, that CNRI's
    +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    +1995-2001 Corporation for National Research Initiatives; All Rights
    +Reserved" are retained in Python 1.6.1 alone or in any derivative
    +version prepared by Licensee.  Alternately, in lieu of CNRI's License
    +Agreement, Licensee may substitute the following text (omitting the
    +quotes): "Python 1.6.1 is made available subject to the terms and
    +conditions in CNRI's License Agreement.  This Agreement together with
    +Python 1.6.1 may be located on the Internet using the following
    +unique, persistent identifier (known as a handle): 1895.22/1013.  This
    +Agreement may also be obtained from a proxy server on the Internet
    +using the following URL: http://hdl.handle.net/1895.22/1013".
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python 1.6.1 or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python 1.6.1.
    +
    +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    +basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. This License Agreement shall be governed by the federal
    +intellectual property law of the United States, including without
    +limitation the federal copyright law, and, to the extent such
    +U.S. federal law does not apply, by the law of the Commonwealth of
    +Virginia, excluding Virginia's conflict of law provisions.
    +Notwithstanding the foregoing, with regard to derivative works based
    +on Python 1.6.1 that incorporate non-separable material that was
    +previously distributed under the GNU General Public License (GPL), the
    +law of the Commonwealth of Virginia shall govern this License
    +Agreement only as to issues arising under or with respect to
    +Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    +License Agreement shall be deemed to create any relationship of
    +agency, partnership, or joint venture between CNRI and Licensee.  This
    +License Agreement does not grant permission to use CNRI trademarks or
    +trade name in a trademark sense to endorse or promote products or
    +services of Licensee, or any third party.
    +
    +8. By clicking on the "ACCEPT" button where indicated, or by copying,
    +installing or otherwise using Python 1.6.1, Licensee agrees to be
    +bound by the terms and conditions of this License Agreement.
    +
    +        ACCEPT
    +
    +
    +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    +--------------------------------------------------
    +
    +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    +The Netherlands.  All rights reserved.
    +
    +Permission to use, copy, modify, and distribute this software and its
    +documentation for any purpose and without fee is hereby granted,
    +provided that the above copyright notice appear in all copies and that
    +both that copyright notice and this permission notice appear in
    +supporting documentation, and that the name of Stichting Mathematisch
    +Centrum or CWI not be used in advertising or publicity pertaining to
    +distribution of the software without specific, written prior
    +permission.
    +
    +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    +
    +===================================================================
    +LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    +===================================================================
    +Distribute and use freely; there are no restrictions on further
    +dissemination and usage except those imposed by the laws of your
    +country of residence.  This software is provided "as is" without
    +warranty of fitness for use or suitability for any purpose, express
    +or implied. Use at your own risk or not at all.
    +===================================================================
    +
    +Incorporating the code into commercial products is permitted; you do
    +not have to make source available or contribute your changes back
    +(though that would be nice).
    +
    +--amk                                                             (www.amk.ca)
    +
    +
    +
    +LICENSE.libtom  LICENSE file from LibTomCrypt
    +===================================================================
    +LibTomCrypt is public domain.  As should all quality software be.
    +
    +Tom St Denis
    +
    +
    +
    +Statements by contributors
    +===================================================================
    +From dlitz@dlitz.net Sun Nov 23 00:17:22 2008
    +Date: Sun, 23 Nov 2008 00:17:22 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: "A. M. Kuchling" <amk@amk.ca>
    +Subject: PyCrypto license clarification
    +Message-ID: <20081123051722.GA29253@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: multipart/signed; micalg=pgp-sha1;
    +    protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4"
    +Content-Disposition: inline
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3461
    +Lines: 78
    +
    +
    +--YiEDa0DAkWCtVeE4
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +Content-Transfer-Encoding: quoted-printable
    +
    +Hi Andrew,
    +
    +People often ask me what license PyCrypto is covered by, if it's=20
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them. =20
    +The text in the current LICENSE file (quoted below) is not entirely clear=
    +=20
    +on the point of whether distributing modified versions is allowed.  (It=20
    +says "distribute and use", but not "modify".)
    +
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +     Distribute and use freely; there are no restrictions on further
    +     dissemination and usage except those imposed by the laws of your
    +     country of residence.  This software is provided "as is" without
    +     warranty of fitness for use or suitability for any purpose, express
    +     or implied. Use at your own risk or not at all.
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +     Incorporating the code into commercial products is permitted; you do
    +     not have to make source available or contribute your changes back
    +     (though that would be nice).
    +
    +     --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I'd like to take steps to move toward a=20
    +clearer licensing regime.  I'm asking as many copyright holders as I can=20
    +find, starting with you, if I can release PyCrypto under something clearer=
    +=20
    +and more standard.  Below, I have quoted a public domain dedication that=20
    +was recommended in _Intellectual Property and Open Source: A Practical=20
    +Guide to Protecting Code_, by Van Lindberg.
    +
    +May I, on your behalf, dedicate to the public domain your considerable=20
    +contributions to PyCrypto, with the following notice?
    +
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +     The contents of this file are dedicated to the public domain.  To the
    +     extent that dedication to the public domain is not available, everyone
    +     is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +     to exercise all rights associated with the contents of this file for
    +     any purpose whatsoever.  No rights are reserved.
    +     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +Regards,
    +  - Dwayne
    +
    +--=20
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +--YiEDa0DAkWCtVeE4
    +Content-Type: application/pgp-signature; name="signature.asc"
    +Content-Description: Digital signature
    +Content-Disposition: inline
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.5 (GNU/Linux)
    +
    +iEYEARECAAYFAkko52IACgkQHBG4d+eAS0XPPQCfcyQ2DdAXKg9N7Z+jeSFFD5EZ
    +yloAn33a3ZjkteyJaTbzEqImOEW8JGpf
    +=aBEW
    +-----END PGP SIGNATURE-----
    +
    +--YiEDa0DAkWCtVeE4--
    +
    +From amk@amk.ca Sun Nov 23 07:51:59 2008
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <amk@amk.ca>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 5C2C75047D
    +    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 07:51:59 -0500 (EST)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id D632D10111
    +    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    +Received: (vmailmgr-postfix 12026 invoked by uid 1003); 23 Nov 2008 06:51:58 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (goedel.dlitz.net: domain of amk@amk.ca does not designate permitted sender hosts)
    +Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.7])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 97DC710105
    +    for <dlitz@dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    +Received: (qmail 3992 invoked from network); 23 Nov 2008 12:51:52 -0000
    +Received: from dsl092-163-165.wdc2.dsl.speakeasy.net (HELO localhost) (akuchling@[66.92.163.165])
    +          (envelope-sender <amk@amk.ca>)
    +          by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP
    +          for <dlitz@dlitz.net>; 23 Nov 2008 12:51:52 -0000
    +Date: Sun, 23 Nov 2008 07:51:34 -0500
    +From: "A.M. Kuchling" <amk@amk.ca>
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20081123125134.GA21239@amk.local>
    +Reply-To: amk@amk.ca
    +References: <20081123051722.GA29253@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii
    +Content-Disposition: inline
    +In-Reply-To: <20081123051722.GA29253@rivest.dlitz.net>
    +User-Agent: Mutt/1.5.13 (2006-08-11)
    +Status: RO
    +Content-Length: 537
    +Lines: 15
    +
    +> People often ask me what license PyCrypto is covered by, if it's 
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +> The text in the current LICENSE file (quoted below) is not entirely clear 
    +> on the point of whether distributing modified versions is allowed.  (It 
    +> says "distribute and use", but not "modify".)
    +
    +The intention is that it be public domain.
    +
    +> May I, on your behalf, dedicate to the public domain your considerable 
    +> contributions to PyCrypto, with the following notice?
    +
    +You may.
    +
    +--amk
    +
    +
    +================================================
    +From dlitz@dlitz.net Sat Feb 28 21:45:09 2009
    +Date: Sat, 28 Feb 2009 21:45:09 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Barry A Warsaw <barry@python.org>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090301024509.GA13195@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2535
    +
    +Hi Barry,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am 
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's 
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +The text in the current LICENSE file (quoted below) is not entirely clear 
    +on the point of whether distributing modified versions is allowed.  (It 
    +says "distribute and use", but not "modify".)
    +
    +  ===================================================================
    +  Distribute and use freely; there are no restrictions on further
    +  dissemination and usage except those imposed by the laws of your
    +  country of residence.  This software is provided "as is" without
    +  warranty of fitness for use or suitability for any purpose, express
    +  or implied. Use at your own risk or not at all.
    +  ===================================================================
    +
    +  Incorporating the code into commercial products is permitted; you do
    +  not have to make source available or contribute your changes back
    +  (though that would be nice).
    +
    +  --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a 
    +clearer licensing regime.  I am asking as many copyright holders as I can 
    +find if I can release PyCrypto under something clearer and more standard.  
    +Below, I have quoted a public domain dedication that was recommended in 
    +_Intellectual Property and Open Source: A Practical Guide to Protecting 
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    +Pointer, and Wim Lewis, and they have all approved the following dedication 
    +for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your 
    +behalf, dedicate to the public domain all your contributions to PyCrypto, 
    +with the following notice?
    +
    +  =======================================================================
    +  The contents of this file are dedicated to the public domain.  To the
    +  extent that dedication to the public domain is not available, everyone
    +  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +  to exercise all rights associated with the contents of this file for
    +  any purpose whatsoever.  No rights are reserved.
    +  =======================================================================
    +
    +Regards,
    +  - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +     Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From barry@python.org Mon Mar  2 11:29:39 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <barry@python.org>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 6E01AC6640B
    +    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 11:29:39 -0500 (EST)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 0644E1007A
    +    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 10:29:39 -0600 (CST)
    +Received: (vmailmgr-postfix 8668 invoked by uid 1003);  2 Mar 2009 10:29:39 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (python.org: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="barry@python.org"; helo=mail.wooz.org; client-ip=216.15.33.230
    +Received: from mail.wooz.org (216-15-33-230.c3-0.slvr-ubr2.lnh-slvr.md.static.cable.rcn.com [216.15.33.230])
    +    by goedel.dlitz.net (Postfix) with ESMTP id CCEA110073
    +    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 10:29:38 -0600 (CST)
    +Received: from snowdog.wooz.org (snowdog.wooz.org [192.168.11.202])
    +    by mail.wooz.org (Postfix) with ESMTPSA id ACE30E3C9F
    +    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 11:29:35 -0500 (EST)
    +Message-Id: <09BF1A39-B015-4820-97A3-8642490C8254@python.org>
    +From: Barry Warsaw <barry@python.org>
    +To: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +In-Reply-To: <20090301024509.GA13195@rivest.dlitz.net>
    +Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
    +Content-Transfer-Encoding: quoted-printable
    +Mime-Version: 1.0 (Apple Message framework v930.3)
    +Subject: Re: PyCrypto license clarification
    +Date: Mon, 2 Mar 2009 11:29:34 -0500
    +References: <20090301024509.GA13195@rivest.dlitz.net>
    +X-Pgp-Agent: GPGMail d55 (v55, Leopard)
    +X-Mailer: Apple Mail (2.930.3)
    +Status: RO
    +Content-Length: 869
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On Feb 28, 2009, at 9:45 PM, Dwayne C. Litzenberger wrote:
    +
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am =20=
    +
    +> working on a new release at http://www.pycrypto.org/.
    +
    +Great!  I'm glad to see someone taking up the mantle of this important =20=
    +
    +Python library.
    +
    +> I understand that you have made contributions to PyCrypto.  May I, =20
    +> on your behalf, dedicate to the public domain all your contributions =20=
    +
    +> to PyCrypto, with the following notice?
    +
    +Absolutely yes.
    +
    +Cheers,
    +Barry
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.9 (Darwin)
    +
    +iQCVAwUBSawJbnEjvBPtnXfVAQLZjgP/ecG+JdZwNvPJRfsa6rhY6+MHLDHI6agk
    +evkJnSJQAcVHlZnVlVeR5IXgvDUMakZjU4SOV7MqkhsKA9lIet7PaD9VSYgn3ra5
    +gElwI2DQDoOy5GExXMm74gqrrb1PCCbCRmpaYNo+DZohwHkeFBjbwDRA3wItOrH7
    +SK4w9VBJtfY=3D
    +=3DQduY
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +===================================================
    +From dlitz@dlitz.net Sat Feb 28 23:24:14 2009
    +Date: Sat, 28 Feb 2009 23:24:14 -0500
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Jeethu Rao <jeethurao@gmail.com>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090301042414.GA15122@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2513
    +
    +Hi Jeethu,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am 
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's 
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    +The text in the current LICENSE file (quoted below) is not entirely clear 
    +on the point of whether distributing modified versions is allowed.  (It 
    +says "distribute and use", but not "modify".)
    +
    + ===================================================================
    + Distribute and use freely; there are no restrictions on further
    + dissemination and usage except those imposed by the laws of your
    + country of residence.  This software is provided "as is" without
    + warranty of fitness for use or suitability for any purpose, express
    + or implied. Use at your own risk or not at all.
    + ===================================================================
    +
    + Incorporating the code into commercial products is permitted; you do
    + not have to make source available or contribute your changes back
    + (though that would be nice).
    +
    + --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a 
    +clearer licensing regime.  I am asking as many copyright holders as I can 
    +find if I can release PyCrypto under something clearer and more standard.  
    +Below, I have quoted a public domain dedication that was recommended in 
    +_Intellectual Property and Open Source: A Practical Guide to Protecting 
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    +Pointer, and Wim Lewis, and they have all approved the following text for 
    +their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your 
    +behalf, dedicate to the public domain all your contributions to PyCrypto, 
    +with the following notice?
    +
    + =======================================================================
    + The contents of this file are dedicated to the public domain.  To the
    + extent that dedication to the public domain is not available, everyone
    + is granted a worldwide, perpetual, royalty-free, non-exclusive license
    + to exercise all rights associated with the contents of this file for
    + any purpose whatsoever.  No rights are reserved.
    + =======================================================================
    +
    +Regards,
    + - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +       Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From jeethurao@gmail.com Sun Mar  8 17:28:16 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <jeethurao@gmail.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 0CC83515D9
    +    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 17:28:16 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 4E58F450CB
    +    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 15:28:15 -0600 (CST)
    +Received: (vmailmgr-postfix 5011 invoked by uid 1003);  8 Mar 2009 15:28:15 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: pass (gmail.com ... _spf.google.com: 209.85.198.249 is authorized to use 'jeethurao@gmail.com' in 'mfrom' identity (mechanism 'ip4:209.85.128.0/17' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="jeethurao@gmail.com"; helo=rv-out-0708.google.com; client-ip=209.85.198.249
    +Received: from rv-out-0708.google.com (unknown [209.85.198.249])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 3C097449E7
    +    for <dlitz@dlitz.net>; Sun,  8 Mar 2009 15:28:12 -0600 (CST)
    +Received: by rv-out-0708.google.com with SMTP id k29so1252333rvb.26
    +        for <dlitz@dlitz.net>; Sun, 08 Mar 2009 14:27:56 -0700 (PDT)
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    +        d=gmail.com; s=gamma;
    +        h=domainkey-signature:mime-version:received:in-reply-to:references
    +         :date:message-id:subject:from:to:content-type;
    +        bh=YWy9U32WCU/ksRqukHwaOZyJQBUs4Yvt5mI20U6mI/g=;
    +        b=oMjI22lIxYiJKge2zNJW3rRiUi9LqFXmey5Wp0pLItuNF+X3duyfhopTuBAKw7MwVY
    +         B5E6VQuGVEyzBbNsctyVgq6DhQiQtouCLZymSViobmuDmKn5DtUKoxpDk0xCxQmHYaas
    +         L9/A6D3/J66kKrNBgX9mc0GPcZTviVFYkPR0Q=
    +DomainKey-Signature: a=rsa-sha1; c=nofws;
    +        d=gmail.com; s=gamma;
    +        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
    +         :content-type;
    +        b=Ym7CStuDEfJKay1AJyWZkZmJA1lnTcwCG6akBHAXLld8ht6PFcmlsffzZG8hJCIVJ8
    +         vljqcT+G6cywVTBw1pyGX7ECYzr0+vhGvgdpACGrs24zikHfpSSd5GFogzXaLVvGVH8p
    +         bqSHpfWKKtEP4gAQkiNeIq1GNtR2j8U3fnRyg=
    +MIME-Version: 1.0
    +Received: by 10.141.176.13 with SMTP id d13mr2656028rvp.231.1236547674677; 
    +    Sun, 08 Mar 2009 14:27:54 -0700 (PDT)
    +In-Reply-To: <20090301042414.GA15122@rivest.dlitz.net>
    +References: <20090301042414.GA15122@rivest.dlitz.net>
    +Date: Mon, 9 Mar 2009 02:57:54 +0530
    +Message-ID: <e3c0ddba0903081427p3a7b1058g417dd8624df68d6d@mail.gmail.com>
    +Subject: Re: PyCrypto license clarification
    +From: Jeethu Rao <jeethurao@gmail.com>
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Content-Type: multipart/alternative; boundary=000e0cd209d0e5a3d40464a23054
    +Status: RO
    +Content-Length: 7668
    +
    +--000e0cd209d0e5a3d40464a23054
    +Content-Type: text/plain; charset=ISO-8859-1
    +Content-Transfer-Encoding: 7bit
    +
    +Hi Dwayne,My contribution to pycrypto are very very minimal (The sha256
    +module, IIRC).
    +I'd be fine with the public domain license for PyCrypto.
    +
    +Jeethu Rao
    +PS: Apologies for the delay in my response.
    +I don't really check this email address all that often,
    +please direct any further correspondence to jeethu@jeethurao.com
    +
    +On Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <dlitz@dlitz.net>wrote:
    +
    +> Hi Jeethu,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +>
    +> People often ask me what license PyCrypto is covered by, if it's
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  The
    +> text in the current LICENSE file (quoted below) is not entirely clear on the
    +> point of whether distributing modified versions is allowed.  (It says
    +> "distribute and use", but not "modify".)
    +>
    +> ===================================================================
    +> Distribute and use freely; there are no restrictions on further
    +> dissemination and usage except those imposed by the laws of your
    +> country of residence.  This software is provided "as is" without
    +> warranty of fitness for use or suitability for any purpose, express
    +> or implied. Use at your own risk or not at all.
    +> ===================================================================
    +>
    +> Incorporating the code into commercial products is permitted; you do
    +> not have to make source available or contribute your changes back
    +> (though that would be nice).
    +>
    +> --amk                                                    (www.amk.ca)
    +>
    +> For the next PyCrypto release, I would like to take steps to move toward a
    +> clearer licensing regime.  I am asking as many copyright holders as I can
    +> find if I can release PyCrypto under something clearer and more standard.
    +>  Below, I have quoted a public domain dedication that was recommended in
    +> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +> Pointer, and Wim Lewis, and they have all approved the following text for
    +> their contributions.
    +>
    +> I understand that you have made contributions to PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +> with the following notice?
    +>
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +> Regards,
    +> - Dwayne
    +>
    +> --
    +> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>      Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>
    +
    +
    +
    +-- 
    +Jeethu Rao
    +
    +--000e0cd209d0e5a3d40464a23054
    +Content-Type: text/html; charset=ISO-8859-1
    +Content-Transfer-Encoding: quoted-printable
    +
    +Hi Dwayne,<div>My contribution to pycrypto are very very minimal (The sha25=
    +6 module, IIRC).</div><div>I&#39;d be fine with the public domain license f=
    +or PyCrypto.</div><div><br></div><div>Jeethu Rao</div><div>PS: Apologies fo=
    +r the delay in my response.=A0</div>
    +<div>I don&#39;t really check this email address all that often,</div><div>=
    +please direct any further correspondence to <a href=3D"mailto:jeethu@jeethu=
    +rao.com">jeethu@jeethurao.com</a><br><div><br><div class=3D"gmail_quote">On=
    + Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <span dir=3D"ltr">&lt;=
    +<a href=3D"mailto:dlitz@dlitz.net">dlitz@dlitz.net</a>&gt;</span> wrote:<br=
    +>
    +<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
    +x #ccc solid;padding-left:1ex;">Hi Jeethu,<br>
    +<br>
    +I am the new maintainer of the Python Cryptography Toolkit, and I am workin=
    +g on a new release at <a href=3D"http://www.pycrypto.org/" target=3D"_blank=
    +">http://www.pycrypto.org/</a>.<br>
    +<br>
    +People often ask me what license PyCrypto is covered by, if it&#39;s GPL-co=
    +mpatible, etc. =A0Right now, I&#39;m not really sure what to tell them. =A0=
    +The text in the current LICENSE file (quoted below) is not entirely clear o=
    +n the point of whether distributing modified versions is allowed. =A0(It sa=
    +ys &quot;distribute and use&quot;, but not &quot;modify&quot;.)<br>
    +
    +<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +Distribute and use freely; there are no restrictions on further<br>
    +dissemination and usage except those imposed by the laws of your<br>
    +country of residence. =A0This software is provided &quot;as is&quot; withou=
    +t<br>
    +warranty of fitness for use or suitability for any purpose, express<br>
    +or implied. Use at your own risk or not at all.<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +<br>
    +Incorporating the code into commercial products is permitted; you do<br>
    +not have to make source available or contribute your changes back<br>
    +(though that would be nice).<br>
    +<br>
    +--amk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
    +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(<a href=3D"http://www.amk.ca" target=3D=
    +"_blank">www.amk.ca</a>)<br>
    +<br>
    +For the next PyCrypto release, I would like to take steps to move toward a =
    +clearer licensing regime. =A0I am asking as many copyright holders as I can=
    + find if I can release PyCrypto under something clearer and more standard. =
    +=A0Below, I have quoted a public domain dedication that was recommended in =
    +_Intellectual Property and Open Source: A Practical Guide to Protecting Cod=
    +e_, by Van Lindberg. =A0I have already contacted A. M. Kuchling, Robey Poin=
    +ter, and Wim Lewis, and they have all approved the following text for their=
    + contributions.<br>
    +
    +<br>
    +I understand that you have made contributions to PyCrypto. =A0May I, on you=
    +r behalf, dedicate to the public domain all your contributions to PyCrypto,=
    + with the following notice?<br>
    +<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +The contents of this file are dedicated to the public domain. =A0To the<br>
    +extent that dedication to the public domain is not available, everyone<br>
    +is granted a worldwide, perpetual, royalty-free, non-exclusive license<br>
    +to exercise all rights associated with the contents of this file for<br>
    +any purpose whatsoever. =A0No rights are reserved.<br>
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    +<br>
    +Regards,<br>
    +- Dwayne<br><font color=3D"#888888">
    +<br>
    +-- <br>
    +Dwayne C. Litzenberger &lt;<a href=3D"mailto:dlitz@dlitz.net" target=3D"_bl=
    +ank">dlitz@dlitz.net</a>&gt;<br>
    + =A0 =A0 =A0Key-signing key =A0 - 19E1 1FE8 B3CF F273 ED17 =A04A24 928C EC1=
    +3 39C2 5CF7<br>
    +</font></blockquote></div><br><br clear=3D"all"><br>-- <br>Jeethu Rao<br>
    +</div></div>
    +
    +--000e0cd209d0e5a3d40464a23054--
    +
    +
    +=======================================================
    +From dlitz@dlitz.net Mon May  4 22:49:14 2009
    +Date: Mon, 4 May 2009 22:49:14 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Joris Bontje <joris@bontje.nl>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090505024914.GA9219@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2553
    +
    +Hi Joris,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +  ===================================================================
    +  Distribute and use freely; there are no restrictions on further
    +  dissemination and usage except those imposed by the laws of your
    +  country of residence.  This software is provided "as is" without
    +  warranty of fitness for use or suitability for any purpose, express
    +  or implied. Use at your own risk or not at all.
    +  ===================================================================
    +
    +  Incorporating the code into commercial products is permitted; you do
    +  not have to make source available or contribute your changes back
    +  (though that would be nice).
    +
    +  --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +have all approved the following dedication for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your
    +behalf, dedicate to the public domain all your contributions to PyCrypto,
    +with the following notice?
    +
    +  =======================================================================
    +  The contents of this file are dedicated to the public domain.  To the
    +  extent that dedication to the public domain is not available, everyone
    +  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +  to exercise all rights associated with the contents of this file for
    +  any purpose whatsoever.  No rights are reserved.
    +  =======================================================================
    +
    +Regards,
    + - Dwayne
    +
    +--
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From joris@bontje.nl Tue May  5 03:08:32 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <joris@bontje.nl>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 7AA4B9E5078
    +    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 03:08:32 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id 2315B40583
    +    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 01:08:32 -0600 (CST)
    +Received: (vmailmgr-postfix 16890 invoked by uid 1003);  5 May 2009 01:08:32 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (bontje.nl: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="joris@bontje.nl"; helo=smtp6.versatel.nl; client-ip=62.58.50.97
    +Received: from smtp6.versatel.nl (smtp6.versatel.nl [62.58.50.97])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 2D76A4052C
    +    for <dlitz@dlitz.net>; Tue,  5 May 2009 01:08:30 -0600 (CST)
    +Received: (qmail 4224 invoked by uid 0); 5 May 2009 07:08:25 -0000
    +Received: from qmail06.zonnet.nl (HELO dell062.admin.zonnet.nl) ([10.170.1.123])
    +          (envelope-sender <joris@bontje.nl>)
    +          by 10.170.1.96 (qmail-ldap-1.03) with SMTP
    +          for < >; 5 May 2009 07:08:25 -0000
    +Received: by dell062.admin.zonnet.nl (Postfix, from userid 33)
    +    id 9BE9B15759B; Tue,  5 May 2009 09:08:25 +0200 (CEST)
    +Received: from firewall66.interaccess.nl (firewall66.interaccess.nl
    +    [193.173.35.66]) by www.webmail.vuurwerk.nl (Horde MIME library) with HTTP;
    +    Tue, 05 May 2009 09:08:25 +0200
    +Message-ID: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +Date: Tue, 05 May 2009 09:08:25 +0200
    +From: joris@bontje.nl
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Subject: Re: PyCrypto license clarification
    +References: <20090505024914.GA9219@rivest.dlitz.net>
    +In-Reply-To: <20090505024914.GA9219@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain;
    +    charset=ISO-8859-1;
    +    format="flowed"
    +Content-Disposition: inline
    +Content-Transfer-Encoding: 7bit
    +User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
    +Status: RO
    +X-Status: A
    +Content-Length: 3488
    +
    +Hi Dwayne,
    +
    +Thanks for taking over the PyCrypto library and putting in the required 
    +effort to keep this going.
    +I was very excited to read that it is now one of the installed 
    +libraries for Google AppsEngine!
    +
    +You have my full permission to dedicate all my contributions to 
    +PyCrypto to the public domain with your suggested notice:
    +=======================================================================
    +The contents of this file are dedicated to the public domain.  To the
    +extent that dedication to the public domain is not available, everyone
    +is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +to exercise all rights associated with the contents of this file for
    +any purpose whatsoever.  No rights are reserved.
    +=======================================================================
    +
    +
    +Regards,
    +Joris
    +
    +Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    +
    +> Hi Joris,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +>
    +> People often ask me what license PyCrypto is covered by, if it's
    +> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +> The text in the current LICENSE file (quoted below) is not entirely clear
    +> on the point of whether distributing modified versions is allowed.  (It
    +> says "distribute and use", but not "modify".)
    +>
    +> ===================================================================
    +> Distribute and use freely; there are no restrictions on further
    +> dissemination and usage except those imposed by the laws of your
    +> country of residence.  This software is provided "as is" without
    +> warranty of fitness for use or suitability for any purpose, express
    +> or implied. Use at your own risk or not at all.
    +> ===================================================================
    +>
    +> Incorporating the code into commercial products is permitted; you do
    +> not have to make source available or contribute your changes back
    +> (though that would be nice).
    +>
    +> --amk                                                    (www.amk.ca)
    +>
    +> For the next PyCrypto release, I would like to take steps to move toward a
    +> clearer licensing regime.  I am asking as many copyright holders as I can
    +> find if I can release PyCrypto under something clearer and more standard.
    +> Below, I have quoted a public domain dedication that was recommended in
    +> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +> have all approved the following dedication for their contributions.
    +>
    +> I understand that you have made contributions to PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +> with the following notice?
    +>
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +> Regards,
    +> - Dwayne
    +>
    +> --
    +> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +
    +
    +From dlitz@dlitz.net Tue May  5 17:53:47 2009
    +Date: Tue, 5 May 2009 17:53:47 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: joris@bontje.nl
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090505215347.GB9933@rivest.dlitz.net>
    +References: <20090505024914.GA9219@rivest.dlitz.net> <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +In-Reply-To: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3863
    +
    +Excellent!  Thank you!
    +
    +On Tue, May 05, 2009 at 09:08:25AM +0200, joris@bontje.nl wrote:
    +> Hi Dwayne,
    +>
    +> Thanks for taking over the PyCrypto library and putting in the required 
    +> effort to keep this going.
    +> I was very excited to read that it is now one of the installed libraries 
    +> for Google AppsEngine!
    +>
    +> You have my full permission to dedicate all my contributions to PyCrypto to 
    +> the public domain with your suggested notice:
    +> =======================================================================
    +> The contents of this file are dedicated to the public domain.  To the
    +> extent that dedication to the public domain is not available, everyone
    +> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +> to exercise all rights associated with the contents of this file for
    +> any purpose whatsoever.  No rights are reserved.
    +> =======================================================================
    +>
    +>
    +> Regards,
    +> Joris
    +>
    +> Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    +>
    +>> Hi Joris,
    +>>
    +>> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>>
    +>> People often ask me what license PyCrypto is covered by, if it's
    +>> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +>> The text in the current LICENSE file (quoted below) is not entirely clear
    +>> on the point of whether distributing modified versions is allowed.  (It
    +>> says "distribute and use", but not "modify".)
    +>>
    +>> ===================================================================
    +>> Distribute and use freely; there are no restrictions on further
    +>> dissemination and usage except those imposed by the laws of your
    +>> country of residence.  This software is provided "as is" without
    +>> warranty of fitness for use or suitability for any purpose, express
    +>> or implied. Use at your own risk or not at all.
    +>> ===================================================================
    +>>
    +>> Incorporating the code into commercial products is permitted; you do
    +>> not have to make source available or contribute your changes back
    +>> (though that would be nice).
    +>>
    +>> --amk                                                    (www.amk.ca)
    +>>
    +>> For the next PyCrypto release, I would like to take steps to move toward a
    +>> clearer licensing regime.  I am asking as many copyright holders as I can
    +>> find if I can release PyCrypto under something clearer and more standard.
    +>> Below, I have quoted a public domain dedication that was recommended in
    +>> _Intellectual Property and Open Source: A Practical Guide to Protecting
    +>> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +>> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    +>> have all approved the following dedication for their contributions.
    +>>
    +>> I understand that you have made contributions to PyCrypto.  May I, on your
    +>> behalf, dedicate to the public domain all your contributions to PyCrypto,
    +>> with the following notice?
    +>>
    +>> =======================================================================
    +>> The contents of this file are dedicated to the public domain.  To the
    +>> extent that dedication to the public domain is not available, everyone
    +>> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>> to exercise all rights associated with the contents of this file for
    +>> any purpose whatsoever.  No rights are reserved.
    +>> =======================================================================
    +>>
    +>> Regards,
    +>> - Dwayne
    +>>
    +>> --
    +>> Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>
    +>
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +
    +==========================================================
    +Date: Sun, 23 Nov 2008 15:54:35 -0800
    +From: Wim Lewis <wiml@hhhh.org>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Cc: Wim Lewis <wiml@hhhh.org>
    +Message-Id: <9D5C3135-7414-47D7-9D41-0AC6C3A84D97@hhhh.org>
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On November 23, 2008, you wrote:
    +>Hi Wim,
    +>
    +>I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>working on a new release at http://www.pycrypto.org/.
    +>
    +>I understand that you have made contributions to PyCrypto. May I, on
    +>your behalf, dedicate to the public domain all your contributions to
    +>PyCrypto, with the following notice?
    +>
    +>   =======================================================================
    +>   The contents of this file are dedicated to the public domain.  To the
    +>   extent that dedication to the public domain is not available, everyone
    +>   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>   to exercise all rights associated with the contents of this file for
    +>   any purpose whatsoever.  No rights are reserved.
    +>   =======================================================================
    +
    +Certainly! I think the only code of mine in PyCrypto is the CAST-5 / CAST-128
    +implementation, which already has a public-domain notice at the top of
    +the file. But I am happy to have that, any any other code of mine that
    +might have wandered in there under an unclear open sourcish license,
    +distributed under the public-domain dedication you quote.
    +
    +Wim.
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.6 (Darwin)
    +
    +iQCVAwUBSSnnAl8UnN8n93LBAQLp/gQAhr7x8Av1mstc2kxEJDWTm26PTAZxMz4B
    +FektbDOzkxgc5580MGGeeX/MVn8aw+1BHg0YD85gsntlDzkcQtb+BR/xAvJ5zKyA
    +J/Mn/I+I6ekJQ3juh8IPHLAduOXM9Rtguas/yR+Doaq0xOPKoBx+/5+t1lLJtBcZ
    +wrPEa9Oui9s=
    +=zSY9
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +==========================================================
    +From dlitz@dlitz.net Sat Apr 18 09:14:20 2009
    +Date: Sat, 18 Apr 2009 09:14:20 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Mark Moraes <moraes@computer.org>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090418131419.GA14494@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2635
    +
    +Hi Mark,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +       ===================================================================
    +       Distribute and use freely; there are no restrictions on further
    +       dissemination and usage except those imposed by the laws of your
    +       country of residence.  This software is provided "as is" without
    +       warranty of fitness for use or suitability for any purpose, express
    +       or implied. Use at your own risk or not at all.
    +       ===================================================================
    +
    +       Incorporating the code into commercial products is permitted; you do
    +       not have to make source available or contribute your changes back
    +       (though that would be nice).
    +
    +       --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they have all
    +approved the following dedication for their contributions.
    +
    +I understand that you have made contributions to PyCrypto.  May I, on your
    +behalf, dedicate to the public domain all your contributions to PyCrypto,
    +with the following notice?
    +
    +       =======================================================================
    +       The contents of this file are dedicated to the public domain.  To the
    +       extent that dedication to the public domain is not available, everyone
    +       is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +       to exercise all rights associated with the contents of this file for
    +       any purpose whatsoever.  No rights are reserved.
    +       =======================================================================
    +
    +Regards,
    +    - Dwayne
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +    Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From markmoraes@yahoo.com Mon Apr 20 19:25:37 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <markmoraes@yahoo.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 5D9AE984FDD
    +    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 19:25:37 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id DE41F4025F
    +    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    +Received: (vmailmgr-postfix 7604 invoked by uid 1003); 20 Apr 2009 17:25:36 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: none (yahoo.com: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="markmoraes@yahoo.com"; helo=web32405.mail.mud.yahoo.com; client-ip=68.142.207.198
    +Received: from web32405.mail.mud.yahoo.com (web32405.mail.mud.yahoo.com [68.142.207.198])
    +    by goedel.dlitz.net (Postfix) with SMTP id B5EAF401EE
    +    for <dlitz@dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    +Received: (qmail 34697 invoked by uid 60001); 20 Apr 2009 23:25:33 -0000
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1240269933; bh=OvxqbYnCg7R6tUN3YmlgFURM3CuHh1JeHyXhDzkaThU=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=F2h2bFzpQxyKFZ8BhenniyupGw4Zvlekb9BSk91qKU+51W/TkSGBij5YZIhkLQdkQk0qLz5f4g8dT6bOME3sEY1j10hlx0K0u2UD0yoYTINBCmsdMQRoJ7ph9bmt+p/EJhRpe+FiV6aoLV0FONWiHfGDghPT1dulWXfVTqgB2aU=
    +DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
    +  s=s1024; d=yahoo.com;
    +  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
    +  b=r6RShFF5VzQLg+9tcn1xKuo4Rs4IVvXF6fdqOpQrMyRCxeFooebhuTE35grGqlomOJLwM0+mZwRb6rGkDj763caOAlo8Ect/qlADW5izXfmVQaDchTbTqmpsJBmQnTQs9iZ+InrG+3UIwtUSGfX7fhEWmI9P/HBzxf9Wp4b3jeo=;
    +Message-ID: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +X-YMail-OSG: FrK8aWMVM1mFJtLpMGbUbCLjbUQC.i.JkIAKUHSFsFn7t9PbtewAewXJ2uhZGCOlGCX6oVnG3u.CgqzAffY4vZSnfTT8wnCkzZNZ_g6k.XUc3ipo_6e.92TXl4p8MxDGAf1tpNF5nXPwcQ7aREs7jGoWWVJYVytp50clsUFSHzf7Zbpa8P1Yoe_xSzf3OAgRSh5fCrbFCC8sHPCuwrL3YhasbtHmkWffteSS.x6gEcBaxf03oz4FeDb5mpJ54g11Xonq8h_TmzX9g84Bin9g_3fJ4WSXm6g6.tohLyfXcUxoz4j036wyWpTKPrWEzIUQaN83Sv_bj_Ghxw--
    +Received: from [69.124.140.74] by web32405.mail.mud.yahoo.com via HTTP; Mon, 20 Apr 2009 16:25:32 PDT
    +X-Mailer: YahooMailClassic/5.2.15 YahooMailWebService/0.7.289.1
    +Date: Mon, 20 Apr 2009 16:25:32 -0700 (PDT)
    +From: M Moraes <markmoraes@yahoo.com>
    +Reply-To: moraes@computer.org
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii
    +Status: RO
    +X-Status: A
    +Content-Length: 3222
    +
    +
    +Hi Dwayne.
    +
    +Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    +
    +Regards,
    +Mark.
    +
    +--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    +
    +> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +> Subject: PyCrypto license clarification
    +> To: "Mark Moraes" <moraes@computer.org>
    +> Date: Saturday, April 18, 2009, 9:14 AM
    +> Hi Mark,
    +> 
    +> I am the new maintainer of the Python Cryptography Toolkit,
    +> and I am
    +> working on a new release at http://www.pycrypto.org/.
    +> 
    +> People often ask me what license PyCrypto is covered by, if
    +> it's
    +> GPL-compatible, etc.  Right now, I'm not really sure
    +> what to tell them.
    +> The text in the current LICENSE file (quoted below) is not
    +> entirely clear
    +> on the point of whether distributing modified versions is
    +> allowed.  (It
    +> says "distribute and use", but not "modify".)
    +> 
    +>      
    +> ===================================================================
    +>       Distribute and use freely; there are
    +> no restrictions on further
    +>       dissemination and usage except those
    +> imposed by the laws of your
    +>       country of residence.  This
    +> software is provided "as is" without
    +>       warranty of fitness for use or
    +> suitability for any purpose, express
    +>       or implied. Use at your own risk or
    +> not at all.
    +>      
    +> ===================================================================
    +> 
    +>       Incorporating the code into commercial
    +> products is permitted; you do
    +>       not have to make source available or
    +> contribute your changes back
    +>       (though that would be nice).
    +> 
    +>       --amk       
    +>                
    +>                
    +>             (www.amk.ca)
    +> 
    +> For the next PyCrypto release, I would like to take steps
    +> to move toward a
    +> clearer licensing regime.  I am asking as many
    +> copyright holders as I can
    +> find if I can release PyCrypto under something clearer and
    +> more standard.
    +> Below, I have quoted a public domain dedication that was
    +> recommended in
    +> _Intellectual Property and Open Source: A Practical Guide
    +> to Protecting
    +> Code_, by Van Lindberg.  I have already contacted A.
    +> M. Kuchling, Robey
    +> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    +> have all
    +> approved the following dedication for their contributions.
    +> 
    +> I understand that you have made contributions to
    +> PyCrypto.  May I, on your
    +> behalf, dedicate to the public domain all your
    +> contributions to PyCrypto,
    +> with the following notice?
    +> 
    +>      
    +> =======================================================================
    +>       The contents of this file are
    +> dedicated to the public domain.  To the
    +>       extent that dedication to the public
    +> domain is not available, everyone
    +>       is granted a worldwide, perpetual,
    +> royalty-free, non-exclusive license
    +>       to exercise all rights associated with
    +> the contents of this file for
    +>       any purpose whatsoever.  No
    +> rights are reserved.
    +>      
    +> =======================================================================
    +> 
    +> Regards,
    +>    - Dwayne
    +> 
    +> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>    Key-signing key   - 19E1
    +> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +> 
    +
    +
    +From dlitz@dlitz.net Mon Apr 20 20:01:37 2009
    +Date: Mon, 20 Apr 2009 20:01:37 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: moraes@computer.org
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090421000137.GA29012@rivest.dlitz.net>
    +References: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +In-Reply-To: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 3677
    +
    +Thanks a lot, and don't worry about not responding to previous emails.  I 
    +do that too much myself. :)
    +
    +On Mon, Apr 20, 2009 at 04:25:32PM -0700, M Moraes wrote:
    +>
    +>Hi Dwayne.
    +>
    +>Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    +>
    +>Regards,
    +>Mark.
    +>
    +>--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    +>
    +>> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>> Subject: PyCrypto license clarification
    +>> To: "Mark Moraes" <moraes@computer.org>
    +>> Date: Saturday, April 18, 2009, 9:14 AM
    +>> Hi Mark,
    +>> 
    +>> I am the new maintainer of the Python Cryptography Toolkit,
    +>> and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>> 
    +>> People often ask me what license PyCrypto is covered by, if
    +>> it's
    +>> GPL-compatible, etc.  Right now, I'm not really sure
    +>> what to tell them.
    +>> The text in the current LICENSE file (quoted below) is not
    +>> entirely clear
    +>> on the point of whether distributing modified versions is
    +>> allowed.  (It
    +>> says "distribute and use", but not "modify".)
    +>> 
    +>>      
    +>> ===================================================================
    +>>       Distribute and use freely; there are
    +>> no restrictions on further
    +>>       dissemination and usage except those
    +>> imposed by the laws of your
    +>>       country of residence.  This
    +>> software is provided "as is" without
    +>>       warranty of fitness for use or
    +>> suitability for any purpose, express
    +>>       or implied. Use at your own risk or
    +>> not at all.
    +>>      
    +>> ===================================================================
    +>> 
    +>>       Incorporating the code into commercial
    +>> products is permitted; you do
    +>>       not have to make source available or
    +>> contribute your changes back
    +>>       (though that would be nice).
    +>> 
    +>>       --amk       
    +>>                
    +>>                
    +>>             (www.amk.ca)
    +>> 
    +>> For the next PyCrypto release, I would like to take steps
    +>> to move toward a
    +>> clearer licensing regime.  I am asking as many
    +>> copyright holders as I can
    +>> find if I can release PyCrypto under something clearer and
    +>> more standard.
    +>> Below, I have quoted a public domain dedication that was
    +>> recommended in
    +>> _Intellectual Property and Open Source: A Practical Guide
    +>> to Protecting
    +>> Code_, by Van Lindberg.  I have already contacted A.
    +>> M. Kuchling, Robey
    +>> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    +>> have all
    +>> approved the following dedication for their contributions.
    +>> 
    +>> I understand that you have made contributions to
    +>> PyCrypto.  May I, on your
    +>> behalf, dedicate to the public domain all your
    +>> contributions to PyCrypto,
    +>> with the following notice?
    +>> 
    +>>      
    +>> =======================================================================
    +>>       The contents of this file are
    +>> dedicated to the public domain.  To the
    +>>       extent that dedication to the public
    +>> domain is not available, everyone
    +>>       is granted a worldwide, perpetual,
    +>> royalty-free, non-exclusive license
    +>>       to exercise all rights associated with
    +>> the contents of this file for
    +>>       any purpose whatsoever.  No
    +>> rights are reserved.
    +>>      
    +>> =======================================================================
    +>> 
    +>> Regards,
    +>>    - Dwayne
    +>> 
    +>> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    +>>    Key-signing key   - 19E1
    +>> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +>> 
    +>
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    +
    +
    +
    +
    +==========================================================
    +Date: Mon, 16 Feb 2009 12:58:00 -0800
    +From: Robey Pointer <robey@lag.net>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Received-SPF: pass (goedel.dlitz.net: domain of robey@lag.net designates 69.61.78.186 as permitted sender)
    +Message-Id: <F469A078-6305-4484-BEA8-F4EC38A4154F@lag.net>
    +
    +-----BEGIN PGP SIGNED MESSAGE-----
    +Hash: SHA1
    +
    +On 23 Nov 2008, at 07:42, Dwayne C. Litzenberger wrote:
    +
    +> For the next PyCrypto release, I would like to take steps to move  
    +> toward a clearer licensing regime.  I am asking as many copyright  
    +> holders as I can find if I can release PyCrypto under something  
    +> clearer and more standard.  Below, I have quoted a public domain  
    +> dedication that was recommended in _Intellectual Property and Open  
    +> Source: A Practical Guide to Protecting Code_, by Van Lindberg.  I  
    +> have already contacted A. M. Kuchling, and he has approved the  
    +> following dedication for his contributions.
    +>
    +> May I, on your behalf, dedicate to the public domain all your  
    +> contributions to PyCrypto, with the following notice?
    +>
    +>     
    +> = 
    +> ======================================================================
    +>    The contents of this file are dedicated to the public domain.  To  
    +> the
    +>    extent that dedication to the public domain is not available,  
    +> everyone
    +>    is granted a worldwide, perpetual, royalty-free, non-exclusive  
    +> license
    +>    to exercise all rights associated with the contents of this file  
    +> for
    +>    any purpose whatsoever.  No rights are reserved.
    +>     
    +> = 
    +> ======================================================================
    +>
    +
    +In case I haven't replied to this yet: Yes, this is fine with me.
    +
    +robey
    +
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.8 (Darwin)
    +
    +iEYEARECAAYFAkmZ01gACgkQQQDkKvyJ6cOLvQCfQmYYuVODvIlyLg0hgCI9LAbQ
    +SH8AoLJgaq1lIi7/ZYDc+/Cd8VO0xLbr
    +=Mv6g
    +-----END PGP SIGNATURE-----
    +
    +
    +
    +==========================================================
    +From dlitz@dlitz.net Sun Aug  2 21:48:25 2009
    +Date: Sun, 2 Aug 2009 21:48:25 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Paul Swartz <paulswartz@gmail.com>
    +Subject: PyCrypto license clarification
    +Message-ID: <20090803014825.GA1326@rivest.dlitz.net>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=us-ascii; format=flowed
    +Content-Disposition: inline
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 2631
    +
    +Hi Paul,
    +
    +I am the new maintainer of the Python Cryptography Toolkit, and I am
    +working on a new release at http://www.pycrypto.org/.
    +
    +People often ask me what license PyCrypto is covered by, if it's
    +GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    +The text in the current LICENSE file (quoted below) is not entirely clear
    +on the point of whether distributing modified versions is allowed.  (It
    +says "distribute and use", but not "modify".)
    +
    +   ===================================================================
    +   Distribute and use freely; there are no restrictions on further
    +   dissemination and usage except those imposed by the laws of your
    +   country of residence.  This software is provided "as is" without
    +   warranty of fitness for use or suitability for any purpose, express
    +   or implied. Use at your own risk or not at all.
    +   ===================================================================
    +
    +   Incorporating the code into commercial products is permitted; you do
    +   not have to make source available or contribute your changes back
    +   (though that would be nice).
    +
    +   --amk                                                    (www.amk.ca)
    +
    +For the next PyCrypto release, I would like to take steps to move toward a
    +clearer licensing regime.  I am asking as many copyright holders as I can
    +find if I can release PyCrypto under something clearer and more standard.
    +Below, I have quoted a public domain dedication that was recommended in
    +_Intellectual Property and Open Source: A Practical Guide to Protecting
    +Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    +Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, Joris Bontje, and Mark 
    +Moraes, and they have all approved the following dedication for their 
    +contributions.
    +
    +I understand that you have made contributions to PyCrypto, under nickname 
    +"z3p" and/or other names.  May I, on your behalf, dedicate to the public 
    +domain all your contributions to PyCrypto, with the following notice?
    +
    +   =======================================================================
    +   The contents of this file are dedicated to the public domain.  To the
    +   extent that dedication to the public domain is not available, everyone
    +   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +   to exercise all rights associated with the contents of this file for
    +   any purpose whatsoever.  No rights are reserved.
    +   =======================================================================
    +
    +Regards,
    +  - Dwayne
    +
    +--
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +   Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +From paulswartz@gmail.com Mon Aug  3 12:14:07 2009
    +X-Maildir-Dup-Checked: Yes
    +Return-Path: <paulswartz@gmail.com>
    +X-Original-To: dwon@rivest.dlitz.net
    +Delivered-To: dwon@rivest.dlitz.net
    +Received: from goedel.dlitz.net (unknown [10.159.255.6])
    +    by rivest.dlitz.net (Postfix) with ESMTP id 30B9D984FC4
    +    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 12:14:07 -0400 (EDT)
    +Received: from localhost (localhost [127.0.0.1])
    +    by goedel.dlitz.net (Postfix) with QMQP id AD9AE81068
    +    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 10:14:06 -0600 (CST)
    +Received: (vmailmgr-postfix 32055 invoked by uid 1003);  3 Aug 2009 10:14:06 -0600
    +Delivered-To: m-dlitz-dlitz@dlitz.net
    +Received-SPF: pass (gmail.com ... _spf.google.com: 72.14.220.159 is authorized to use 'paulswartz@gmail.com' in 'mfrom' identity (mechanism 'ip4:72.14.192.0/18' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="paulswartz@gmail.com"; helo=fg-out-1718.google.com; client-ip=72.14.220.159
    +Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159])
    +    by goedel.dlitz.net (Postfix) with ESMTP id 4E63881066
    +    for <dlitz@dlitz.net>; Mon,  3 Aug 2009 10:14:05 -0600 (CST)
    +Received: by fg-out-1718.google.com with SMTP id d23so1076840fga.3
    +        for <dlitz@dlitz.net>; Mon, 03 Aug 2009 09:14:04 -0700 (PDT)
    +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    +        d=gmail.com; s=gamma;
    +        h=domainkey-signature:mime-version:received:in-reply-to:references
    +         :from:date:message-id:subject:to:content-type
    +         :content-transfer-encoding;
    +        bh=A0RHBf0TnribKS5qOHJ3WYbkZ+b0cuPeuoKAvpApWcc=;
    +        b=gyTqkRhKlHadFKIZCBWsRbnMNVDq1PWlJbyC0EvxPskaoHr3HAR96MWQNBePu/40Ac
    +         Vn55qlIqTdom4e9zlUEE6MwZo9kqi/Qw0L/SLib0DlQeNqo/eHYqPmuVswltaYwNAyMJ
    +         Y9++76rPGzqYdALsfvsmwv7Q3/bEmjVTr0tQE=
    +DomainKey-Signature: a=rsa-sha1; c=nofws;
    +        d=gmail.com; s=gamma;
    +        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
    +         :content-type:content-transfer-encoding;
    +        b=jze7KSMkUGilfVCXKXaaXMi5NAtGdMQOtVZZfRNyGSy68xOd2sxefjyyig3EfT6Nv6
    +         Q3opUMsT96Q6zjZND55w446kTh2uBTNz4d3NwIeEWJnG3xcliRQu/mXPFp8AzPI3CefL
    +         1ornJLM1eQ2XyuZA73jem+SJtfdHUcSD1UhgI=
    +MIME-Version: 1.0
    +Received: by 10.239.157.147 with SMTP id q19mr601802hbc.61.1249316043185; Mon, 
    +    03 Aug 2009 09:14:03 -0700 (PDT)
    +In-Reply-To: <20090803014825.GA1326@rivest.dlitz.net>
    +References: <20090803014825.GA1326@rivest.dlitz.net>
    +From: Paul Swartz <paulswartz@gmail.com>
    +Date: Mon, 3 Aug 2009 12:13:43 -0400
    +Message-ID: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +Subject: Re: PyCrypto license clarification
    +To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +Content-Type: text/plain; charset=UTF-8
    +Content-Transfer-Encoding: quoted-printable
    +Status: RO
    +X-Status: A
    +Content-Length: 1450
    +
    +On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wro=
    +te:
    +> Hi Paul,
    +>
    +> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +> working on a new release at http://www.pycrypto.org/.
    +
    +That's great!
    +
    +> I understand that you have made contributions to PyCrypto, under nickname
    +> "z3p" and/or other names. =C2=A0May I, on your behalf, dedicate to the pu=
    +blic
    +> domain all your contributions to PyCrypto, with the following notice?
    +>
    +> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +> =C2=A0The contents of this file are dedicated to the public domain. =C2=
    +=A0To the
    +> =C2=A0extent that dedication to the public domain is not available, every=
    +one
    +> =C2=A0is granted a worldwide, perpetual, royalty-free, non-exclusive lice=
    +nse
    +> =C2=A0to exercise all rights associated with the contents of this file fo=
    +r
    +> =C2=A0any purpose whatsoever. =C2=A0No rights are reserved.
    +> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    +
    +Yes, that's fine.  Good luck with the new release!
    +
    +-p
    +--=20
    +Paul Swartz
    +paulswartz at gmail dot com
    +http://paulswartz.net/
    +AIM: z3penguin
    +
    +
    +From dlitz@dlitz.net Mon Aug  3 14:35:01 2009
    +Date: Mon, 3 Aug 2009 14:35:01 -0400
    +From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    +To: Paul Swartz <paulswartz@gmail.com>
    +Subject: Re: PyCrypto license clarification
    +Message-ID: <20090803183501.GA17472@rivest.dlitz.net>
    +References: <20090803014825.GA1326@rivest.dlitz.net> <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +MIME-Version: 1.0
    +Content-Type: text/plain; charset=iso-8859-1; format=flowed
    +Content-Disposition: inline
    +Content-Transfer-Encoding: 8bit
    +In-Reply-To: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    +X-Primary-Address: dlitz@dlitz.net
    +X-Homepage: http://www.dlitz.net/
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    +    preference=unprotected
    +X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    +    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    +    preference=signencrypt
    +User-Agent: Mutt/1.5.16 (2007-06-11)
    +Status: RO
    +Content-Length: 1250
    +
    +On Mon, Aug 03, 2009 at 12:13:43PM -0400, Paul Swartz wrote:
    +>On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wrote:
    +>> Hi Paul,
    +>>
    +>> I am the new maintainer of the Python Cryptography Toolkit, and I am
    +>> working on a new release at http://www.pycrypto.org/.
    +>
    +>That's great!
    +>
    +>> I understand that you have made contributions to PyCrypto, under nickname
    +>> "z3p" and/or other names. �May I, on your behalf, dedicate to the public
    +>> domain all your contributions to PyCrypto, with the following notice?
    +>>
    +>> �=======================================================================
    +>> �The contents of this file are dedicated to the public domain. �To the
    +>> �extent that dedication to the public domain is not available, everyone
    +>> �is granted a worldwide, perpetual, royalty-free, non-exclusive license
    +>> �to exercise all rights associated with the contents of this file for
    +>> �any purpose whatsoever. �No rights are reserved.
    +>> �=======================================================================
    +>
    +>Yes, that's fine.  Good luck with the new release!
    +
    +Perfect!  Thanks for the quick response!
    +
    +-- 
    +Dwayne C. Litzenberger <dlitz@dlitz.net>
    +  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    +
    +
    +
    +==========================================================
    +
    +
    + + +
    + +
    +

    billiard + 3.3.0.20 +

    + + + + + +
    Copyright (c) 2006-2008, R Oudkerk and Contributors
    +
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +
    +1. Redistributions of source code must retain the above copyright
    +   notice, this list of conditions and the following disclaimer.
    +2. Redistributions in binary form must reproduce the above copyright
    +   notice, this list of conditions and the following disclaimer in the
    +   documentation and/or other materials provided with the distribution.
    +3. Neither the name of author nor the names of any contributors may be
    +   used to endorse or promote products derived from this software
    +   without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    +

    oauthlib + 1.0.3 +

    + + + + + + +
    + +
    +

    kombu + 3.0.26 +

    + + + + + +
    Copyright (c) 2015 Ask Solem & contributors.  All rights reserved.
    +Copyright (c) 2012-2014 GoPivotal Inc & contributors.  All rights reserved.
    +Copyright (c) 2009-2012, Ask Solem & contributors.  All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +    * Redistributions of source code must retain the above copyright
    +      notice, this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +      notice, this list of conditions and the following disclaimer in the
    +      documentation and/or other materials provided with the distribution.
    +    * Neither the name of Ask Solem nor the
    +      names of its contributors may be used to endorse or promote products
    +      derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Ask Solem OR CONTRIBUTORS
    +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    +POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    django-reversion + 1.8.7 +

    + + + + + +
    Copyright (c) 2009, David Hall.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    1. Redistributions of source code must retain the above copyright notice,
    +       this list of conditions and the following disclaimer.
    +
    +    2. Redistributions in binary form must reproduce the above copyright
    +       notice, this list of conditions and the following disclaimer in the
    +       documentation and/or other materials provided with the distribution.
    +
    +    3. Neither the name of David Hall nor the names of its contributors may be
    +       used to endorse or promote products derived from this software without
    +       specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    django-extensions + 1.5.7 +

    + + +
    Copyright (c) 2007 Michael Trier
    + + + + +
    Copyright (c) 2007 Michael Trier
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    + + +
    + +
    +

    requests + 2.7.0 +

    + + + +
    Copyright 2013 Kenneth Reitz
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    django-haystack-panel + 0.2.1 +

    + + +
    Copyright (c) 2012, Chris Streeter
    + + + + +
    Copyright (c) 2012, Chris Streeter
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    +
    + + +
    + +
    +

    Supervisor + 3.1.3 +

    + + + +
    Supervisor is Copyright (c) 2006-2013 Agendaless Consulting and Contributors.
    +(http://www.agendaless.com), All Rights Reserved
    +
    +  This software is subject to the provisions of the license at
    +  http://www.repoze.org/LICENSE.txt . A copy of this license should
    +  accompany this distribution.  THIS SOFTWARE IS PROVIDED "AS IS" AND
    +  ANY AND ALL EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING,
    +  BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE,
    +  MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS FOR A PARTICULAR
    +  PURPOSE.
    +
    +TrackRefs code Copyright (c) 2007 Zope Corporation and Contributors
    +
    +  This software is subject to the provisions of the Zope Public License,
    +  Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
    +  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
    +  WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +  WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    +  FOR A PARTICULAR PURPOSE.
    +
    +medusa was (is?) Copyright (c) Sam Rushing.
    +
    +http_client.py code Copyright (c) by Daniel Krech, http://eikeon.com/.
    +
    +  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +
    + + + +
    Supervisor is licensed under the following license:
    +
    +  A copyright notice accompanies this license document that identifies
    +  the copyright holders.
    +
    +  Redistribution and use in source and binary forms, with or without
    +  modification, are permitted provided that the following conditions are
    +  met:
    +
    +  1.  Redistributions in source code must retain the accompanying
    +      copyright notice, this list of conditions, and the following
    +      disclaimer.
    +
    +  2.  Redistributions in binary form must reproduce the accompanying
    +      copyright notice, this list of conditions, and the following
    +      disclaimer in the documentation and/or other materials provided
    +      with the distribution.
    +
    +  3.  Names of the copyright holders must not be used to endorse or
    +      promote products derived from this software without prior
    +      written permission from the copyright holders.
    +
    +  4.  If any files are modified, you must cause the modified files to
    +      carry prominent notices stating that you changed the files and
    +      the date of any change.
    +
    +  Disclaimer
    +
    +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND
    +    ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    +    TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    +    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +    HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
    +    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    +    ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
    +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
    +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +    SUCH DAMAGE.
    +
    +http_client.py code is based on code by Daniel Krech, which was
    +released under this license:
    +
    +  LICENSE AGREEMENT FOR RDFLIB 0.9.0 THROUGH 2.3.1
    +  ------------------------------------------------
    +  Copyright (c) 2002-2005, Daniel Krech, http://eikeon.com/
    +  All rights reserved.
    +
    +  Redistribution and use in source and binary forms, with or without
    +  modification, are permitted provided that the following conditions are
    +  met:
    +
    +    * Redistributions of source code must retain the above copyright
    +  notice, this list of conditions and the following disclaimer.
    +
    +    * Redistributions in binary form must reproduce the above
    +  copyright notice, this list of conditions and the following
    +  disclaimer in the documentation and/or other materials provided
    +  with the distribution.
    +
    +    * Neither the name of Daniel Krech nor the names of its
    +  contributors may be used to endorse or promote products derived
    +  from this software without specific prior written permission.
    +
    +  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    +  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    +  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    +  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    +  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    +  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    +  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    +  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +Medusa, the asynchronous communications framework upon which
    +supervisor's server and client code is based, was created by Sam
    +Rushing:
    +
    +  Medusa was once distributed under a 'free for non-commercial use'
    +  license, but in May of 2000 Sam Rushing changed the license to be
    +  identical to the standard Python license at the time.  The standard
    +  Python license has always applied to the core components of Medusa,
    +  this change just frees up the rest of the system, including the http
    +  server, ftp server, utilities, etc.  Medusa is therefore under the
    +  following license:
    +
    +  ==============================
    +  Permission to use, copy, modify, and distribute this software and
    +  its documentation for any purpose and without fee is hereby granted,
    +  provided that the above copyright notice appear in all copies and
    +  that both that copyright notice and this permission notice appear in
    +  supporting documentation, and that the name of Sam Rushing not be
    +  used in advertising or publicity pertaining to distribution of the
    +  software without specific, written prior permission.
    +
    +  SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
    +  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
    +  NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR
    +  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
    +  OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    +  NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    +  WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +  ==============================
    +
    +Some software in this distribution is released under the Zope Public
    +License (as marked in its file header):
    +
    +  Zope Public License (ZPL) Version 2.1
    +  -------------------------------------
    +
    +  A copyright notice accompanies this license document that
    +  identifies the copyright holders.
    +
    +  This license has been certified as open source. It has also
    +  been designated as GPL compatible by the Free Software
    +  Foundation (FSF).
    +
    +  Redistribution and use in source and binary forms, with or
    +  without modification, are permitted provided that the
    +  following conditions are met:
    +
    +  1. Redistributions in source code must retain the
    +     accompanying copyright notice, this list of conditions,
    +     and the following disclaimer.
    +
    +  2. Redistributions in binary form must reproduce the accompanying
    +     copyright notice, this list of conditions, and the
    +     following disclaimer in the documentation and/or other
    +     materials provided with the distribution.
    +
    +  3. Names of the copyright holders must not be used to
    +     endorse or promote products derived from this software
    +     without prior written permission from the copyright
    +     holders.
    +
    +  4. The right to distribute this software or to use it for
    +     any purpose does not give you the right to use
    +     Servicemarks (sm) or Trademarks (tm) of the copyright
    +     holders. Use of them is covered by separate agreement
    +     with the copyright holders.
    +
    +  5. If any files are modified, you must cause the modified
    +     files to carry prominent notices stating that you changed
    +     the files and the date of any change.
    +
    +  Disclaimer
    +
    +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
    +    AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
    +    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    +    AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
    +    NO EVENT SHALL THE COPYRIGHT HOLDERS BE
    +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    +    OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
    +    DAMAGE.
    + + +
    + +
    +

    Whoosh + 2.7.0 +

    + + + + + + +
    + +
    +

    django-tastypie + 0.12.2 +

    + + + + + +
    Copyright (c) 2010, Daniel Lindsley
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +    * Redistributions of source code must retain the above copyright
    +      notice, this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +      notice, this list of conditions and the following disclaimer in the
    +      documentation and/or other materials provided with the distribution.
    +    * Neither the name of the tastypie nor the
    +      names of its contributors may be used to endorse or promote products
    +      derived from this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL tastypie BE LIABLE FOR ANY
    +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    python-mimeparse + 0.1.4 +

    + + +
    Copyright (c) 2010 Joe Gregorio
    + + + + +
    Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    + + +
    + +
    +

    amqp + 1.4.6 +

    + + + + + +
    		  GNU LESSER GENERAL PUBLIC LICENSE
    +		       Version 2.1, February 1999
    +
    + Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    + 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +[This is the first released version of the Lesser GPL.  It also counts
    + as the successor of the GNU Library Public License, version 2, hence
    + the version number 2.1.]
    +
    +			    Preamble
    +
    +  The licenses for most software are designed to take away your
    +freedom to share and change it.  By contrast, the GNU General Public
    +Licenses are intended to guarantee your freedom to share and change
    +free software--to make sure the software is free for all its users.
    +
    +  This license, the Lesser General Public License, applies to some
    +specially designated software packages--typically libraries--of the
    +Free Software Foundation and other authors who decide to use it.  You
    +can use it too, but we suggest you first think carefully about whether
    +this license or the ordinary General Public License is the better
    +strategy to use in any particular case, based on the explanations below.
    +
    +  When we speak of free software, we are referring to freedom of use,
    +not price.  Our General Public Licenses are designed to make sure that
    +you have the freedom to distribute copies of free software (and charge
    +for this service if you wish); that you receive source code or can get
    +it if you want it; that you can change the software and use pieces of
    +it in new free programs; and that you are informed that you can do
    +these things.
    +
    +  To protect your rights, we need to make restrictions that forbid
    +distributors to deny you these rights or to ask you to surrender these
    +rights.  These restrictions translate to certain responsibilities for
    +you if you distribute copies of the library or if you modify it.
    +
    +  For example, if you distribute copies of the library, whether gratis
    +or for a fee, you must give the recipients all the rights that we gave
    +you.  You must make sure that they, too, receive or can get the source
    +code.  If you link other code with the library, you must provide
    +complete object files to the recipients, so that they can relink them
    +with the library after making changes to the library and recompiling
    +it.  And you must show them these terms so they know their rights.
    +
    +  We protect your rights with a two-step method: (1) we copyright the
    +library, and (2) we offer you this license, which gives you legal
    +permission to copy, distribute and/or modify the library.
    +
    +  To protect each distributor, we want to make it very clear that
    +there is no warranty for the free library.  Also, if the library is
    +modified by someone else and passed on, the recipients should know
    +that what they have is not the original version, so that the original
    +author's reputation will not be affected by problems that might be
    +introduced by others.
    +
    +  Finally, software patents pose a constant threat to the existence of
    +any free program.  We wish to make sure that a company cannot
    +effectively restrict the users of a free program by obtaining a
    +restrictive license from a patent holder.  Therefore, we insist that
    +any patent license obtained for a version of the library must be
    +consistent with the full freedom of use specified in this license.
    +
    +  Most GNU software, including some libraries, is covered by the
    +ordinary GNU General Public License.  This license, the GNU Lesser
    +General Public License, applies to certain designated libraries, and
    +is quite different from the ordinary General Public License.  We use
    +this license for certain libraries in order to permit linking those
    +libraries into non-free programs.
    +
    +  When a program is linked with a library, whether statically or using
    +a shared library, the combination of the two is legally speaking a
    +combined work, a derivative of the original library.  The ordinary
    +General Public License therefore permits such linking only if the
    +entire combination fits its criteria of freedom.  The Lesser General
    +Public License permits more lax criteria for linking other code with
    +the library.
    +
    +  We call this license the "Lesser" General Public License because it
    +does Less to protect the user's freedom than the ordinary General
    +Public License.  It also provides other free software developers Less
    +of an advantage over competing non-free programs.  These disadvantages
    +are the reason we use the ordinary General Public License for many
    +libraries.  However, the Lesser license provides advantages in certain
    +special circumstances.
    +
    +  For example, on rare occasions, there may be a special need to
    +encourage the widest possible use of a certain library, so that it becomes
    +a de-facto standard.  To achieve this, non-free programs must be
    +allowed to use the library.  A more frequent case is that a free
    +library does the same job as widely used non-free libraries.  In this
    +case, there is little to gain by limiting the free library to free
    +software only, so we use the Lesser General Public License.
    +
    +  In other cases, permission to use a particular library in non-free
    +programs enables a greater number of people to use a large body of
    +free software.  For example, permission to use the GNU C Library in
    +non-free programs enables many more people to use the whole GNU
    +operating system, as well as its variant, the GNU/Linux operating
    +system.
    +
    +  Although the Lesser General Public License is Less protective of the
    +users' freedom, it does ensure that the user of a program that is
    +linked with the Library has the freedom and the wherewithal to run
    +that program using a modified version of the Library.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.  Pay close attention to the difference between a
    +"work based on the library" and a "work that uses the library".  The
    +former contains code derived from the library, whereas the latter must
    +be combined with the library in order to run.
    +
    +		  GNU LESSER GENERAL PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. This License Agreement applies to any software library or other
    +program which contains a notice placed by the copyright holder or
    +other authorized party saying it may be distributed under the terms of
    +this Lesser General Public License (also called "this License").
    +Each licensee is addressed as "you".
    +
    +  A "library" means a collection of software functions and/or data
    +prepared so as to be conveniently linked with application programs
    +(which use some of those functions and data) to form executables.
    +
    +  The "Library", below, refers to any such software library or work
    +which has been distributed under these terms.  A "work based on the
    +Library" means either the Library or any derivative work under
    +copyright law: that is to say, a work containing the Library or a
    +portion of it, either verbatim or with modifications and/or translated
    +straightforwardly into another language.  (Hereinafter, translation is
    +included without limitation in the term "modification".)
    +
    +  "Source code" for a work means the preferred form of the work for
    +making modifications to it.  For a library, complete source code means
    +all the source code for all modules it contains, plus any associated
    +interface definition files, plus the scripts used to control compilation
    +and installation of the library.
    +
    +  Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope.  The act of
    +running a program using the Library is not restricted, and output from
    +such a program is covered only if its contents constitute a work based
    +on the Library (independent of the use of the Library in a tool for
    +writing it).  Whether that is true depends on what the Library does
    +and what the program that uses the Library does.
    +
    +  1. You may copy and distribute verbatim copies of the Library's
    +complete source code as you receive it, in any medium, provided that
    +you conspicuously and appropriately publish on each copy an
    +appropriate copyright notice and disclaimer of warranty; keep intact
    +all the notices that refer to this License and to the absence of any
    +warranty; and distribute a copy of this License along with the
    +Library.
    +
    +  You may charge a fee for the physical act of transferring a copy,
    +and you may at your option offer warranty protection in exchange for a
    +fee.
    +
    +  2. You may modify your copy or copies of the Library or any portion
    +of it, thus forming a work based on the Library, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +
    +    a) The modified work must itself be a software library.
    +
    +    b) You must cause the files modified to carry prominent notices
    +    stating that you changed the files and the date of any change.
    +
    +    c) You must cause the whole of the work to be licensed at no
    +    charge to all third parties under the terms of this License.
    +
    +    d) If a facility in the modified Library refers to a function or a
    +    table of data to be supplied by an application program that uses
    +    the facility, other than as an argument passed when the facility
    +    is invoked, then you must make a good faith effort to ensure that,
    +    in the event an application does not supply such function or
    +    table, the facility still operates, and performs whatever part of
    +    its purpose remains meaningful.
    +
    +    (For example, a function in a library to compute square roots has
    +    a purpose that is entirely well-defined independent of the
    +    application.  Therefore, Subsection 2d requires that any
    +    application-supplied function or table used by this function must
    +    be optional: if the application does not supply it, the square
    +    root function must still compute square roots.)
    +
    +These requirements apply to the modified work as a whole.  If
    +identifiable sections of that work are not derived from the Library,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works.  But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Library, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote
    +it.
    +
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Library.
    +
    +In addition, mere aggregation of another work not based on the Library
    +with the Library (or with a work based on the Library) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +
    +  3. You may opt to apply the terms of the ordinary GNU General Public
    +License instead of this License to a given copy of the Library.  To do
    +this, you must alter all the notices that refer to this License, so
    +that they refer to the ordinary GNU General Public License, version 2,
    +instead of to this License.  (If a newer version than version 2 of the
    +ordinary GNU General Public License has appeared, then you can specify
    +that version instead if you wish.)  Do not make any other change in
    +these notices.
    +
    +  Once this change is made in a given copy, it is irreversible for
    +that copy, so the ordinary GNU General Public License applies to all
    +subsequent copies and derivative works made from that copy.
    +
    +  This option is useful when you wish to copy part of the code of
    +the Library into a program that is not a library.
    +
    +  4. You may copy and distribute the Library (or a portion or
    +derivative of it, under Section 2) in object code or executable form
    +under the terms of Sections 1 and 2 above provided that you accompany
    +it with the complete corresponding machine-readable source code, which
    +must be distributed under the terms of Sections 1 and 2 above on a
    +medium customarily used for software interchange.
    +
    +  If distribution of object code is made by offering access to copy
    +from a designated place, then offering equivalent access to copy the
    +source code from the same place satisfies the requirement to
    +distribute the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +
    +  5. A program that contains no derivative of any portion of the
    +Library, but is designed to work with the Library by being compiled or
    +linked with it, is called a "work that uses the Library".  Such a
    +work, in isolation, is not a derivative work of the Library, and
    +therefore falls outside the scope of this License.
    +
    +  However, linking a "work that uses the Library" with the Library
    +creates an executable that is a derivative of the Library (because it
    +contains portions of the Library), rather than a "work that uses the
    +library".  The executable is therefore covered by this License.
    +Section 6 states terms for distribution of such executables.
    +
    +  When a "work that uses the Library" uses material from a header file
    +that is part of the Library, the object code for the work may be a
    +derivative work of the Library even though the source code is not.
    +Whether this is true is especially significant if the work can be
    +linked without the Library, or if the work is itself a library.  The
    +threshold for this to be true is not precisely defined by law.
    +
    +  If such an object file uses only numerical parameters, data
    +structure layouts and accessors, and small macros and small inline
    +functions (ten lines or less in length), then the use of the object
    +file is unrestricted, regardless of whether it is legally a derivative
    +work.  (Executables containing this object code plus portions of the
    +Library will still fall under Section 6.)
    +
    +  Otherwise, if the work is a derivative of the Library, you may
    +distribute the object code for the work under the terms of Section 6.
    +Any executables containing that work also fall under Section 6,
    +whether or not they are linked directly with the Library itself.
    +
    +  6. As an exception to the Sections above, you may also combine or
    +link a "work that uses the Library" with the Library to produce a
    +work containing portions of the Library, and distribute that work
    +under terms of your choice, provided that the terms permit
    +modification of the work for the customer's own use and reverse
    +engineering for debugging such modifications.
    +
    +  You must give prominent notice with each copy of the work that the
    +Library is used in it and that the Library and its use are covered by
    +this License.  You must supply a copy of this License.  If the work
    +during execution displays copyright notices, you must include the
    +copyright notice for the Library among them, as well as a reference
    +directing the user to the copy of this License.  Also, you must do one
    +of these things:
    +
    +    a) Accompany the work with the complete corresponding
    +    machine-readable source code for the Library including whatever
    +    changes were used in the work (which must be distributed under
    +    Sections 1 and 2 above); and, if the work is an executable linked
    +    with the Library, with the complete machine-readable "work that
    +    uses the Library", as object code and/or source code, so that the
    +    user can modify the Library and then relink to produce a modified
    +    executable containing the modified Library.  (It is understood
    +    that the user who changes the contents of definitions files in the
    +    Library will not necessarily be able to recompile the application
    +    to use the modified definitions.)
    +
    +    b) Use a suitable shared library mechanism for linking with the
    +    Library.  A suitable mechanism is one that (1) uses at run time a
    +    copy of the library already present on the user's computer system,
    +    rather than copying library functions into the executable, and (2)
    +    will operate properly with a modified version of the library, if
    +    the user installs one, as long as the modified version is
    +    interface-compatible with the version that the work was made with.
    +
    +    c) Accompany the work with a written offer, valid for at
    +    least three years, to give the same user the materials
    +    specified in Subsection 6a, above, for a charge no more
    +    than the cost of performing this distribution.
    +
    +    d) If distribution of the work is made by offering access to copy
    +    from a designated place, offer equivalent access to copy the above
    +    specified materials from the same place.
    +
    +    e) Verify that the user has already received a copy of these
    +    materials or that you have already sent this user a copy.
    +
    +  For an executable, the required form of the "work that uses the
    +Library" must include any data and utility programs needed for
    +reproducing the executable from it.  However, as a special exception,
    +the materials to be distributed need not include anything that is
    +normally distributed (in either source or binary form) with the major
    +components (compiler, kernel, and so on) of the operating system on
    +which the executable runs, unless that component itself accompanies
    +the executable.
    +
    +  It may happen that this requirement contradicts the license
    +restrictions of other proprietary libraries that do not normally
    +accompany the operating system.  Such a contradiction means you cannot
    +use both them and the Library together in an executable that you
    +distribute.
    +
    +  7. You may place library facilities that are a work based on the
    +Library side-by-side in a single library together with other library
    +facilities not covered by this License, and distribute such a combined
    +library, provided that the separate distribution of the work based on
    +the Library and of the other library facilities is otherwise
    +permitted, and provided that you do these two things:
    +
    +    a) Accompany the combined library with a copy of the same work
    +    based on the Library, uncombined with any other library
    +    facilities.  This must be distributed under the terms of the
    +    Sections above.
    +
    +    b) Give prominent notice with the combined library of the fact
    +    that part of it is a work based on the Library, and explaining
    +    where to find the accompanying uncombined form of the same work.
    +
    +  8. You may not copy, modify, sublicense, link with, or distribute
    +the Library except as expressly provided under this License.  Any
    +attempt otherwise to copy, modify, sublicense, link with, or
    +distribute the Library is void, and will automatically terminate your
    +rights under this License.  However, parties who have received copies,
    +or rights, from you under this License will not have their licenses
    +terminated so long as such parties remain in full compliance.
    +
    +  9. You are not required to accept this License, since you have not
    +signed it.  However, nothing else grants you permission to modify or
    +distribute the Library or its derivative works.  These actions are
    +prohibited by law if you do not accept this License.  Therefore, by
    +modifying or distributing the Library (or any work based on the
    +Library), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Library or works based on it.
    +
    +  10. Each time you redistribute the Library (or any work based on the
    +Library), the recipient automatically receives a license from the
    +original licensor to copy, distribute, link with or modify the Library
    +subject to these terms and conditions.  You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties with
    +this License.
    +
    +  11. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Library at all.  For example, if a patent
    +license would not permit royalty-free redistribution of the Library by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Library.
    +
    +If any portion of this section is held invalid or unenforceable under any
    +particular circumstance, the balance of the section is intended to apply,
    +and the section as a whole is intended to apply in other circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system which is
    +implemented by public license practices.  Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +
    +  12. If the distribution and/or use of the Library is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Library under this License may add
    +an explicit geographical distribution limitation excluding those countries,
    +so that distribution is permitted only in or among countries not thus
    +excluded.  In such case, this License incorporates the limitation as if
    +written in the body of this License.
    +
    +  13. The Free Software Foundation may publish revised and/or new
    +versions of the Lesser General Public License from time to time.
    +Such new versions will be similar in spirit to the present version,
    +but may differ in detail to address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Library
    +specifies a version number of this License which applies to it and
    +"any later version", you have the option of following the terms and
    +conditions either of that version or of any later version published by
    +the Free Software Foundation.  If the Library does not specify a
    +license version number, you may choose any version ever published by
    +the Free Software Foundation.
    +
    +  14. If you wish to incorporate parts of the Library into other free
    +programs whose distribution conditions are incompatible with these,
    +write to the author to ask for permission.  For software which is
    +copyrighted by the Free Software Foundation, write to the Free
    +Software Foundation; we sometimes make exceptions for this.  Our
    +decision will be guided by the two goals of preserving the free status
    +of all derivatives of our free software and of promoting the sharing
    +and reuse of software generally.
    +
    +			    NO WARRANTY
    +
    +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    +DAMAGES.
    +
    +		     END OF TERMS AND CONDITIONS
    + + +
    + +
    +

    requests-oauthlib + 0.5.0 +

    + + + + + +
    Copyright (c) 2013 Kenneth Reitz.
    +
    +Permission to use, copy, modify, and/or distribute this software for any
    +purpose with or without fee is hereby granted, provided that the above
    +copyright notice and this permission notice appear in all copies.
    +
    +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    + + +
    + +
    +

    Grappelli + 2.7.1 +

    + + + + + +
    django-grappelli
    +----------------
    +
    +Copyright (c) Patrick Kranzlmueller, Axel Swoboda (vonautomatisch werkstaetten),
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice,
    +this list of conditions and the following disclaimer.
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation and/or
    +other materials provided with the distribution.
    +3. Neither the name of FileBrowser nor the names of its contributors may be used
    +to endorse or promote products derived from this software without specific prior
    +written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
    +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
    +THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +django-grappelli contains code from django-admin-tools
    +------------------------------------------------------
    +
    +copyright (c) 2010 David JEAN LOUIS
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    + + +
    + +
    +

    sqlparse + 0.1.16 +

    + + +
    Copyright (c) 2009, Andi Albrecht 
    + + + + +
    Copyright (c) 2009, Andi Albrecht <albrecht.andi@gmail.com>
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +      this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright notice,
    +      this list of conditions and the following disclaimer in the documentation
    +      and/or other materials provided with the distribution.
    +    * Neither the name of the authors nor the names of its contributors may be
    +      used to endorse or promote products derived from this software without
    +      specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + + +
    + +
    +

    elasticsearch-py + 1.6.0 +

    + + + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    + + +
    + +
    +

    virtualenv + 12.0.5 +

    + + +
    Copyright (c) 2007 Ian Bicking and Contributors
    +Copyright (c) 2009 Ian Bicking, The Open Planning Project
    +Copyright (c) 2011-2015 The virtualenv developers
    + + + + +
    Copyright (c) 2007 Ian Bicking and Contributors
    +Copyright (c) 2009 Ian Bicking, The Open Planning Project
    +Copyright (c) 2011-2014 The virtualenv developers
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    + + +
    + +
    +

    meld3 + 1.0.2 +

    + + + + + +
    Zope Public License (ZPL) Version 2.1
    +-------------------------------------
    +
    +A copyright notice accompanies this license document that
    +identifies the copyright holders.
    +
    +This license has been certified as open source. It has also
    +been designated as GPL compatible by the Free Software
    +Foundation (FSF).
    +
    +Redistribution and use in source and binary forms, with or
    +without modification, are permitted provided that the
    +following conditions are met:
    +
    +1. Redistributions in source code must retain the
    +   accompanying copyright notice, this list of conditions,
    +   and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the accompanying
    +   copyright notice, this list of conditions, and the
    +   following disclaimer in the documentation and/or other
    +   materials provided with the distribution.
    +
    +3. Names of the copyright holders must not be used to
    +   endorse or promote products derived from this software
    +   without prior written permission from the copyright
    +   holders.
    +
    +4. The right to distribute this software or to use it for
    +   any purpose does not give you the right to use
    +   Servicemarks (sm) or Trademarks (tm) of the copyright
    +   holders. Use of them is covered by separate agreement
    +   with the copyright holders.
    +
    +5. If any files are modified, you must cause the modified
    +   files to carry prominent notices stating that you changed
    +   the files and the date of any change.
    +
    +Disclaimer
    +
    +  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
    +  AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
    +  NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    +  AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
    +  NO EVENT SHALL THE COPYRIGHT HOLDERS BE
    +  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    +  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    +  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    +  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    +  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    +  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
    +  DAMAGE.
    + + +
    + +
    +

    pyaml + 15.8.2 +

    + + +
    Copyright (C) 2012 Mike Kazantsev 
    + + + + +
                DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    +                    Version 2, December 2004
    +
    + Copyright (C) 2012 Mike Kazantsev <mk.fraggod@gmail.com>
    +
    + Everyone is permitted to copy and distribute verbatim or modified
    + copies of this license document, and changing it is allowed as long
    + as the name is changed.
    +
    +            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. You just DO WHAT THE FUCK YOU WANT TO.
    + + +
    + +
    +

    python-openid + 2.2.5 +

    + + + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    + + +
    + +
    +

    pip + 7.1.2 +

    + + + + + +
    Copyright (c) 2008-2014 The pip developers (see AUTHORS.txt file)
    +
    +Permission is hereby granted, free of charge, to any person obtaining
    +a copy of this software and associated documentation files (the
    +"Software"), to deal in the Software without restriction, including
    +without limitation the rights to use, copy, modify, merge, publish,
    +distribute, sublicense, and/or sell copies of the Software, and to
    +permit persons to whom the Software is furnished to do so, subject to
    +the following conditions:
    +
    +The above copyright notice and this permission notice shall be
    +included in all copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
    +License for Bundle of CA Root Certificates (pip/cacert.pem)
    +===========================================================
    +
    +This library is free software; you can redistribute it and/or
    +modify it under the terms of the GNU Lesser General Public
    +License as published by the Free Software Foundation; either
    +version 2.1 of the License, or (at your option) any later version.
    +
    +This library is distributed in the hope that it will be useful,
    +but WITHOUT ANY WARRANTY; without even the implied warranty of
    +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +Lesser General Public License for more details.
    +
    +You should have received a copy of the GNU Lesser General Public
    +License along with this library; if not, write to the Free Software
    +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    +02110-1301
    +
    + + +
    + +
    +

    natsort + 4.0.3 +

    + + +
    Copyright (c) 2012-2014 Seth M. Morton
    + + + + +
    Copyright (c) 2012-2014 Seth M. Morton
    +
    +Permission is hereby granted, free of charge, to any person obtaining a copy of
    +this software and associated documentation files (the "Software"), to deal in
    +the Software without restriction, including without limitation the rights to
    +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    +of the Software, and to permit persons to whom the Software is furnished to do
    +so, subject to the following conditions:
    +
    +The above copyright notice and this permission notice shall be included in all
    +copies or substantial portions of the Software.
    +
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    +SOFTWARE.
    + + +
    + +
    +

    wincertstore + 0.2 +

    + + + + + +
    PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
    +--------------------------------------------
    +
    +1. This LICENSE AGREEMENT is between the Python Software Foundation
    +("PSF"), and the Individual or Organization ("Licensee") accessing and
    +otherwise using this software ("Python") in source or binary form and
    +its associated documentation.
    +
    +2. Subject to the terms and conditions of this License Agreement, PSF
    +hereby grants Licensee a nonexclusive, royalty-free, world-wide
    +license to reproduce, analyze, test, perform and/or display publicly,
    +prepare derivative works, distribute, and otherwise use Python
    +alone or in any derivative version, provided, however, that PSF's
    +License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; 
    +All Rights Reserved" are retained in Python alone or in any derivative 
    +version prepared by Licensee.
    +
    +3. In the event Licensee prepares a derivative work that is based on
    +or incorporates Python or any part thereof, and wants to make
    +the derivative work available to others as provided herein, then
    +Licensee hereby agrees to include in any such work a brief summary of
    +the changes made to Python.
    +
    +4. PSF is making Python available to Licensee on an "AS IS"
    +basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    +IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
    +INFRINGE ANY THIRD PARTY RIGHTS.
    +
    +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
    +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    +
    +6. This License Agreement will automatically terminate upon a material
    +breach of its terms and conditions.
    +
    +7. Nothing in this License Agreement shall be deemed to create any
    +relationship of agency, partnership, or joint venture between PSF and
    +Licensee.  This License Agreement does not grant permission to use PSF
    +trademarks or trade name in a trademark sense to endorse or promote
    +products or services of Licensee, or any third party.
    +
    +8. By copying, installing or otherwise using Python, Licensee
    +agrees to be bound by the terms and conditions of this License
    +Agreement.
    +
    +
    + + +
    + +
    +

    JNA + 4.1.0 +

    + + +
    Copyright (c) 2007 Timothy Wall, All Rights Reserved
    + + +
    JNA is dual-licensed under 2 alternative Open Source/Free 
    +licenses: LGPL 2.1 and Apache License 2.0. (starting with
    +JNA version 4.0.0). 
    +
    +What this means is that one can choose either one of these
    +licenses (for purposes of re-distributing JNA; usually by
    +including it as one of jars another application or
    +library uses) by downloading corresponding jar file,
    +using it, and living happily everafter. 
    +
    +You may obtain a copy of the LGPL License at:
    +
    +http://www.gnu.org/licenses/licenses.html
    +
    +A copy is also included in the downloadable source code package
    +containing JNA, in file "LGPL2.1", under the same directory
    +as this file.
    +
    +You may obtain a copy of the ASL License at:
    +
    +http://www.apache.org/licenses/
    +
    +A copy is also included in the downloadable source code package
    +containing JNA, in file "ASL2.0", under the same directory
    +as this file.
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from unicode conversion examples available at
    +http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    +from those sources:
    +
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + * 
    + * Disclaimer
    + * 
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + * 
    + * Limitations on Rights to Redistribute This Code
    + * 
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +
    +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    +derived from Python 2.4.2 sources available at
    +http://www.python.org. Full license is here:
    +
    +  http://www.python.org/download/releases/2.4.2/license/
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from ICU (http://www.icu-project.org)
    +The full license is available here: 
    +  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    +
    +/*
    + * Copyright (C) 1999-2010, International Business Machines
    + * Corporation and others.  All Rights Reserved.
    + *
    + * Permission is hereby granted, free of charge, to any person obtaining a copy 
    + * of this software and associated documentation files (the "Software"), to deal
    + * in the Software without restriction, including without limitation the rights 
    + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    + * Software, and to permit persons to whom the Software is furnished to do so, 
    + * provided that the above copyright notice(s) and this permission notice appear 
    + * in all copies of the Software and that both the above copyright notice(s) and
    + * this permission notice appear in supporting documentation.
    + * 
    + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    + *
    + * Except as contained in this notice, the name of a copyright holder shall not 
    + * be used in advertising or otherwise to promote the sale, use or other 
    + * dealings in this Software without prior written authorization of the 
    + * copyright holder.
    + */
    +
    +The following license applies to the Snowball stemmers:
    +
    +Copyright (c) 2001, Dr Martin Porter
    +Copyright (c) 2002, Richard Boulton
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +    * this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +    * notice, this list of conditions and the following disclaimer in the
    +    * documentation and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holders nor the names of its contributors
    +    * may be used to endorse or promote products derived from this software
    +    * without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The following license applies to the KStemmer:
    +
    +Copyright © 2003,
    +Center for Intelligent Information Retrieval,
    +University of Massachusetts, Amherst.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation
    +and/or other materials provided with the distribution.
    +
    +3. The names "Center for Intelligent Information Retrieval" and
    +"University of Massachusetts" must not be used to endorse or promote products
    +derived from this software without prior written permission. To obtain
    +permission, contact info@ciir.cs.umass.edu.
    +
    +THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    +

    Sigar + 1.6.4 +

    + + + +
    Hyperic SIGAR includes some third-party open source components 
    +in its distribution. The list below identifies the community or 
    +organization and links to their appropriate license terms.
    +
    +The Hyperic team would like to thank all the communities 
    +of the projects listed below for their contributions. 
    +---------------------------------------------------------------------
    +
    +The following components are included without modification:
    +
    +- log4j -
    +Information: http://logging.apache.org/
    +License: http://www.apache.org/licenses/LICENSE-2.0
    +
    +The following components are included with modification:
    +
    +- cpptasks -
    +Information: http://ant-contrib.sourceforge.net/
    +License: http://ant-contrib.sourceforge.net/LICENSE.txt
    +
    +- (portions of) APR -
    +Information: http://apr.apache.org/
    +License: http://www.apache.org/licenses/LICENSE-2.0
    +
    +- solaris get_mib2 -
    +Information: ftp://vic.cc.purdue.edu/pub/tools/unix/solaris/get_mib2/
    +License: within src/os/solaris/get_mib2.[ch]
    +
    +- getline by Chris Thewalt -
    +Information: http://tinyurl.com/r438r
    +License: within src/sigar_getline.c
    +
    +- PrintfFormat.java -
    +Information: http://java.sun.com/developer/technicalArticles/Programming/sprintf/PrintfFormat.java
    +License: within bindings/java/src/org/hyperic/sigar/util/PrintfFormat.java 
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from unicode conversion examples available at
    +http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    +from those sources:
    +
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + * 
    + * Disclaimer
    + * 
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + * 
    + * Limitations on Rights to Redistribute This Code
    + * 
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +
    +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    +derived from Python 2.4.2 sources available at
    +http://www.python.org. Full license is here:
    +
    +  http://www.python.org/download/releases/2.4.2/license/
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from ICU (http://www.icu-project.org)
    +The full license is available here: 
    +  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    +
    +/*
    + * Copyright (C) 1999-2010, International Business Machines
    + * Corporation and others.  All Rights Reserved.
    + *
    + * Permission is hereby granted, free of charge, to any person obtaining a copy 
    + * of this software and associated documentation files (the "Software"), to deal
    + * in the Software without restriction, including without limitation the rights 
    + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    + * Software, and to permit persons to whom the Software is furnished to do so, 
    + * provided that the above copyright notice(s) and this permission notice appear 
    + * in all copies of the Software and that both the above copyright notice(s) and
    + * this permission notice appear in supporting documentation.
    + * 
    + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    + *
    + * Except as contained in this notice, the name of a copyright holder shall not 
    + * be used in advertising or otherwise to promote the sale, use or other 
    + * dealings in this Software without prior written authorization of the 
    + * copyright holder.
    + */
    +
    +The following license applies to the Snowball stemmers:
    +
    +Copyright (c) 2001, Dr Martin Porter
    +Copyright (c) 2002, Richard Boulton
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +    * this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +    * notice, this list of conditions and the following disclaimer in the
    +    * documentation and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holders nor the names of its contributors
    +    * may be used to endorse or promote products derived from this software
    +    * without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The following license applies to the KStemmer:
    +
    +Copyright © 2003,
    +Center for Intelligent Information Retrieval,
    +University of Massachusetts, Amherst.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation
    +and/or other materials provided with the distribution.
    +
    +3. The names "Center for Intelligent Information Retrieval" and
    +"University of Massachusetts" must not be used to endorse or promote products
    +derived from this software without prior written permission. To obtain
    +permission, contact info@ciir.cs.umass.edu.
    +
    +THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    +

    ASM Commons + 4.1 +

    + + +
    Copyright (c) 2000-2011 INRIA, France Telecom
    + + + + +
    ASM: a very small and fast Java bytecode manipulation framework
    +Copyright (c) 2000-2011 INRIA, France Telecom
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +1. Redistributions of source code must retain the above copyright
    +   notice, this list of conditions and the following disclaimer.
    +2. Redistributions in binary form must reproduce the above copyright
    +   notice, this list of conditions and the following disclaimer in the
    +   documentation and/or other materials provided with the distribution.
    +3. Neither the name of the copyright holders nor the names of its
    +   contributors may be used to endorse or promote products derived from
    +   this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    +THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    Apache Log4J + 1.2.17 +

    + + + +
    Apache log4j
    +Copyright 2007 The Apache Software Foundation
    +
    +This product includes software developed at
    +The Apache Software Foundation (http://www.apache.org/).
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from unicode conversion examples available at
    +http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    +from those sources:
    +
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + * 
    + * Disclaimer
    + * 
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + * 
    + * Limitations on Rights to Redistribute This Code
    + * 
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +
    +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    +derived from Python 2.4.2 sources available at
    +http://www.python.org. Full license is here:
    +
    +  http://www.python.org/download/releases/2.4.2/license/
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from ICU (http://www.icu-project.org)
    +The full license is available here: 
    +  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    +
    +/*
    + * Copyright (C) 1999-2010, International Business Machines
    + * Corporation and others.  All Rights Reserved.
    + *
    + * Permission is hereby granted, free of charge, to any person obtaining a copy 
    + * of this software and associated documentation files (the "Software"), to deal
    + * in the Software without restriction, including without limitation the rights 
    + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    + * Software, and to permit persons to whom the Software is furnished to do so, 
    + * provided that the above copyright notice(s) and this permission notice appear 
    + * in all copies of the Software and that both the above copyright notice(s) and
    + * this permission notice appear in supporting documentation.
    + * 
    + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    + *
    + * Except as contained in this notice, the name of a copyright holder shall not 
    + * be used in advertising or otherwise to promote the sale, use or other 
    + * dealings in this Software without prior written authorization of the 
    + * copyright holder.
    + */
    +
    +The following license applies to the Snowball stemmers:
    +
    +Copyright (c) 2001, Dr Martin Porter
    +Copyright (c) 2002, Richard Boulton
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +    * this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +    * notice, this list of conditions and the following disclaimer in the
    +    * documentation and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holders nor the names of its contributors
    +    * may be used to endorse or promote products derived from this software
    +    * without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The following license applies to the KStemmer:
    +
    +Copyright © 2003,
    +Center for Intelligent Information Retrieval,
    +University of Massachusetts, Amherst.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation
    +and/or other materials provided with the distribution.
    +
    +3. The names "Center for Intelligent Information Retrieval" and
    +"University of Massachusetts" must not be used to endorse or promote products
    +derived from this software without prior written permission. To obtain
    +permission, contact info@ciir.cs.umass.edu.
    +
    +THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    +

    JTS Topology Suite + 1.13 +

    + + +
    Copyright (C) 2001 Vivid Solutions
    + + +
    The JTS Topology Suite is a collection of Java classes that
    +implement the fundamental operations required to validate a given
    +geo-spatial data set to a known topological specification.
    +
    +Copyright (C) 2001 Vivid Solutions
    +
    +This library is free software; you can redistribute it and/or
    +modify it under the terms of the GNU Lesser General Public
    +License as published by the Free Software Foundation; either
    +version 2.1 of the License, or (at your option) any later version.
    +
    +This library is distributed in the hope that it will be useful,
    +but WITHOUT ANY WARRANTY; without even the implied warranty of
    +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +Lesser General Public License for more details.
    +
    +You should have received a copy of the GNU Lesser General Public
    +License along with this library; if not, write to the Free Software
    +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    +
    +For more information, contact:
    +
    +    Vivid Solutions
    +    Suite #1A
    +    2328 Government Street
    +    Victoria BC  V8T 5G5
    +    Canada
    +
    +    (250)385-6040
    +    www.vividsolutions.com
    +
    + + + +
    		  GNU LESSER GENERAL PUBLIC LICENSE
    +		       Version 2.1, February 1999
    +
    + Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    + 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    + Everyone is permitted to copy and distribute verbatim copies
    + of this license document, but changing it is not allowed.
    +
    +[This is the first released version of the Lesser GPL.  It also counts
    + as the successor of the GNU Library Public License, version 2, hence
    + the version number 2.1.]
    +
    +			    Preamble
    +
    +  The licenses for most software are designed to take away your
    +freedom to share and change it.  By contrast, the GNU General Public
    +Licenses are intended to guarantee your freedom to share and change
    +free software--to make sure the software is free for all its users.
    +
    +  This license, the Lesser General Public License, applies to some
    +specially designated software packages--typically libraries--of the
    +Free Software Foundation and other authors who decide to use it.  You
    +can use it too, but we suggest you first think carefully about whether
    +this license or the ordinary General Public License is the better
    +strategy to use in any particular case, based on the explanations below.
    +
    +  When we speak of free software, we are referring to freedom of use,
    +not price.  Our General Public Licenses are designed to make sure that
    +you have the freedom to distribute copies of free software (and charge
    +for this service if you wish); that you receive source code or can get
    +it if you want it; that you can change the software and use pieces of
    +it in new free programs; and that you are informed that you can do
    +these things.
    +
    +  To protect your rights, we need to make restrictions that forbid
    +distributors to deny you these rights or to ask you to surrender these
    +rights.  These restrictions translate to certain responsibilities for
    +you if you distribute copies of the library or if you modify it.
    +
    +  For example, if you distribute copies of the library, whether gratis
    +or for a fee, you must give the recipients all the rights that we gave
    +you.  You must make sure that they, too, receive or can get the source
    +code.  If you link other code with the library, you must provide
    +complete object files to the recipients, so that they can relink them
    +with the library after making changes to the library and recompiling
    +it.  And you must show them these terms so they know their rights.
    +
    +  We protect your rights with a two-step method: (1) we copyright the
    +library, and (2) we offer you this license, which gives you legal
    +permission to copy, distribute and/or modify the library.
    +
    +  To protect each distributor, we want to make it very clear that
    +there is no warranty for the free library.  Also, if the library is
    +modified by someone else and passed on, the recipients should know
    +that what they have is not the original version, so that the original
    +author's reputation will not be affected by problems that might be
    +introduced by others.
    +
    +  Finally, software patents pose a constant threat to the existence of
    +any free program.  We wish to make sure that a company cannot
    +effectively restrict the users of a free program by obtaining a
    +restrictive license from a patent holder.  Therefore, we insist that
    +any patent license obtained for a version of the library must be
    +consistent with the full freedom of use specified in this license.
    +
    +  Most GNU software, including some libraries, is covered by the
    +ordinary GNU General Public License.  This license, the GNU Lesser
    +General Public License, applies to certain designated libraries, and
    +is quite different from the ordinary General Public License.  We use
    +this license for certain libraries in order to permit linking those
    +libraries into non-free programs.
    +
    +  When a program is linked with a library, whether statically or using
    +a shared library, the combination of the two is legally speaking a
    +combined work, a derivative of the original library.  The ordinary
    +General Public License therefore permits such linking only if the
    +entire combination fits its criteria of freedom.  The Lesser General
    +Public License permits more lax criteria for linking other code with
    +the library.
    +
    +  We call this license the "Lesser" General Public License because it
    +does Less to protect the user's freedom than the ordinary General
    +Public License.  It also provides other free software developers Less
    +of an advantage over competing non-free programs.  These disadvantages
    +are the reason we use the ordinary General Public License for many
    +libraries.  However, the Lesser license provides advantages in certain
    +special circumstances.
    +
    +  For example, on rare occasions, there may be a special need to
    +encourage the widest possible use of a certain library, so that it becomes
    +a de-facto standard.  To achieve this, non-free programs must be
    +allowed to use the library.  A more frequent case is that a free
    +library does the same job as widely used non-free libraries.  In this
    +case, there is little to gain by limiting the free library to free
    +software only, so we use the Lesser General Public License.
    +
    +  In other cases, permission to use a particular library in non-free
    +programs enables a greater number of people to use a large body of
    +free software.  For example, permission to use the GNU C Library in
    +non-free programs enables many more people to use the whole GNU
    +operating system, as well as its variant, the GNU/Linux operating
    +system.
    +
    +  Although the Lesser General Public License is Less protective of the
    +users' freedom, it does ensure that the user of a program that is
    +linked with the Library has the freedom and the wherewithal to run
    +that program using a modified version of the Library.
    +
    +  The precise terms and conditions for copying, distribution and
    +modification follow.  Pay close attention to the difference between a
    +"work based on the library" and a "work that uses the library".  The
    +former contains code derived from the library, whereas the latter must
    +be combined with the library in order to run.
    +
    +		  GNU LESSER GENERAL PUBLIC LICENSE
    +   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    +
    +  0. This License Agreement applies to any software library or other
    +program which contains a notice placed by the copyright holder or
    +other authorized party saying it may be distributed under the terms of
    +this Lesser General Public License (also called "this License").
    +Each licensee is addressed as "you".
    +
    +  A "library" means a collection of software functions and/or data
    +prepared so as to be conveniently linked with application programs
    +(which use some of those functions and data) to form executables.
    +
    +  The "Library", below, refers to any such software library or work
    +which has been distributed under these terms.  A "work based on the
    +Library" means either the Library or any derivative work under
    +copyright law: that is to say, a work containing the Library or a
    +portion of it, either verbatim or with modifications and/or translated
    +straightforwardly into another language.  (Hereinafter, translation is
    +included without limitation in the term "modification".)
    +
    +  "Source code" for a work means the preferred form of the work for
    +making modifications to it.  For a library, complete source code means
    +all the source code for all modules it contains, plus any associated
    +interface definition files, plus the scripts used to control compilation
    +and installation of the library.
    +
    +  Activities other than copying, distribution and modification are not
    +covered by this License; they are outside its scope.  The act of
    +running a program using the Library is not restricted, and output from
    +such a program is covered only if its contents constitute a work based
    +on the Library (independent of the use of the Library in a tool for
    +writing it).  Whether that is true depends on what the Library does
    +and what the program that uses the Library does.
    +  
    +  1. You may copy and distribute verbatim copies of the Library's
    +complete source code as you receive it, in any medium, provided that
    +you conspicuously and appropriately publish on each copy an
    +appropriate copyright notice and disclaimer of warranty; keep intact
    +all the notices that refer to this License and to the absence of any
    +warranty; and distribute a copy of this License along with the
    +Library.
    +
    +  You may charge a fee for the physical act of transferring a copy,
    +and you may at your option offer warranty protection in exchange for a
    +fee.
    +
    +  2. You may modify your copy or copies of the Library or any portion
    +of it, thus forming a work based on the Library, and copy and
    +distribute such modifications or work under the terms of Section 1
    +above, provided that you also meet all of these conditions:
    +
    +    a) The modified work must itself be a software library.
    +
    +    b) You must cause the files modified to carry prominent notices
    +    stating that you changed the files and the date of any change.
    +
    +    c) You must cause the whole of the work to be licensed at no
    +    charge to all third parties under the terms of this License.
    +
    +    d) If a facility in the modified Library refers to a function or a
    +    table of data to be supplied by an application program that uses
    +    the facility, other than as an argument passed when the facility
    +    is invoked, then you must make a good faith effort to ensure that,
    +    in the event an application does not supply such function or
    +    table, the facility still operates, and performs whatever part of
    +    its purpose remains meaningful.
    +
    +    (For example, a function in a library to compute square roots has
    +    a purpose that is entirely well-defined independent of the
    +    application.  Therefore, Subsection 2d requires that any
    +    application-supplied function or table used by this function must
    +    be optional: if the application does not supply it, the square
    +    root function must still compute square roots.)
    +
    +These requirements apply to the modified work as a whole.  If
    +identifiable sections of that work are not derived from the Library,
    +and can be reasonably considered independent and separate works in
    +themselves, then this License, and its terms, do not apply to those
    +sections when you distribute them as separate works.  But when you
    +distribute the same sections as part of a whole which is a work based
    +on the Library, the distribution of the whole must be on the terms of
    +this License, whose permissions for other licensees extend to the
    +entire whole, and thus to each and every part regardless of who wrote
    +it.
    +
    +Thus, it is not the intent of this section to claim rights or contest
    +your rights to work written entirely by you; rather, the intent is to
    +exercise the right to control the distribution of derivative or
    +collective works based on the Library.
    +
    +In addition, mere aggregation of another work not based on the Library
    +with the Library (or with a work based on the Library) on a volume of
    +a storage or distribution medium does not bring the other work under
    +the scope of this License.
    +
    +  3. You may opt to apply the terms of the ordinary GNU General Public
    +License instead of this License to a given copy of the Library.  To do
    +this, you must alter all the notices that refer to this License, so
    +that they refer to the ordinary GNU General Public License, version 2,
    +instead of to this License.  (If a newer version than version 2 of the
    +ordinary GNU General Public License has appeared, then you can specify
    +that version instead if you wish.)  Do not make any other change in
    +these notices.
    +
    +  Once this change is made in a given copy, it is irreversible for
    +that copy, so the ordinary GNU General Public License applies to all
    +subsequent copies and derivative works made from that copy.
    +
    +  This option is useful when you wish to copy part of the code of
    +the Library into a program that is not a library.
    +
    +  4. You may copy and distribute the Library (or a portion or
    +derivative of it, under Section 2) in object code or executable form
    +under the terms of Sections 1 and 2 above provided that you accompany
    +it with the complete corresponding machine-readable source code, which
    +must be distributed under the terms of Sections 1 and 2 above on a
    +medium customarily used for software interchange.
    +
    +  If distribution of object code is made by offering access to copy
    +from a designated place, then offering equivalent access to copy the
    +source code from the same place satisfies the requirement to
    +distribute the source code, even though third parties are not
    +compelled to copy the source along with the object code.
    +
    +  5. A program that contains no derivative of any portion of the
    +Library, but is designed to work with the Library by being compiled or
    +linked with it, is called a "work that uses the Library".  Such a
    +work, in isolation, is not a derivative work of the Library, and
    +therefore falls outside the scope of this License.
    +
    +  However, linking a "work that uses the Library" with the Library
    +creates an executable that is a derivative of the Library (because it
    +contains portions of the Library), rather than a "work that uses the
    +library".  The executable is therefore covered by this License.
    +Section 6 states terms for distribution of such executables.
    +
    +  When a "work that uses the Library" uses material from a header file
    +that is part of the Library, the object code for the work may be a
    +derivative work of the Library even though the source code is not.
    +Whether this is true is especially significant if the work can be
    +linked without the Library, or if the work is itself a library.  The
    +threshold for this to be true is not precisely defined by law.
    +
    +  If such an object file uses only numerical parameters, data
    +structure layouts and accessors, and small macros and small inline
    +functions (ten lines or less in length), then the use of the object
    +file is unrestricted, regardless of whether it is legally a derivative
    +work.  (Executables containing this object code plus portions of the
    +Library will still fall under Section 6.)
    +
    +  Otherwise, if the work is a derivative of the Library, you may
    +distribute the object code for the work under the terms of Section 6.
    +Any executables containing that work also fall under Section 6,
    +whether or not they are linked directly with the Library itself.
    +
    +  6. As an exception to the Sections above, you may also combine or
    +link a "work that uses the Library" with the Library to produce a
    +work containing portions of the Library, and distribute that work
    +under terms of your choice, provided that the terms permit
    +modification of the work for the customer's own use and reverse
    +engineering for debugging such modifications.
    +
    +  You must give prominent notice with each copy of the work that the
    +Library is used in it and that the Library and its use are covered by
    +this License.  You must supply a copy of this License.  If the work
    +during execution displays copyright notices, you must include the
    +copyright notice for the Library among them, as well as a reference
    +directing the user to the copy of this License.  Also, you must do one
    +of these things:
    +
    +    a) Accompany the work with the complete corresponding
    +    machine-readable source code for the Library including whatever
    +    changes were used in the work (which must be distributed under
    +    Sections 1 and 2 above); and, if the work is an executable linked
    +    with the Library, with the complete machine-readable "work that
    +    uses the Library", as object code and/or source code, so that the
    +    user can modify the Library and then relink to produce a modified
    +    executable containing the modified Library.  (It is understood
    +    that the user who changes the contents of definitions files in the
    +    Library will not necessarily be able to recompile the application
    +    to use the modified definitions.)
    +
    +    b) Use a suitable shared library mechanism for linking with the
    +    Library.  A suitable mechanism is one that (1) uses at run time a
    +    copy of the library already present on the user's computer system,
    +    rather than copying library functions into the executable, and (2)
    +    will operate properly with a modified version of the library, if
    +    the user installs one, as long as the modified version is
    +    interface-compatible with the version that the work was made with.
    +
    +    c) Accompany the work with a written offer, valid for at
    +    least three years, to give the same user the materials
    +    specified in Subsection 6a, above, for a charge no more
    +    than the cost of performing this distribution.
    +
    +    d) If distribution of the work is made by offering access to copy
    +    from a designated place, offer equivalent access to copy the above
    +    specified materials from the same place.
    +
    +    e) Verify that the user has already received a copy of these
    +    materials or that you have already sent this user a copy.
    +
    +  For an executable, the required form of the "work that uses the
    +Library" must include any data and utility programs needed for
    +reproducing the executable from it.  However, as a special exception,
    +the materials to be distributed need not include anything that is
    +normally distributed (in either source or binary form) with the major
    +components (compiler, kernel, and so on) of the operating system on
    +which the executable runs, unless that component itself accompanies
    +the executable.
    +
    +  It may happen that this requirement contradicts the license
    +restrictions of other proprietary libraries that do not normally
    +accompany the operating system.  Such a contradiction means you cannot
    +use both them and the Library together in an executable that you
    +distribute.
    +
    +  7. You may place library facilities that are a work based on the
    +Library side-by-side in a single library together with other library
    +facilities not covered by this License, and distribute such a combined
    +library, provided that the separate distribution of the work based on
    +the Library and of the other library facilities is otherwise
    +permitted, and provided that you do these two things:
    +
    +    a) Accompany the combined library with a copy of the same work
    +    based on the Library, uncombined with any other library
    +    facilities.  This must be distributed under the terms of the
    +    Sections above.
    +
    +    b) Give prominent notice with the combined library of the fact
    +    that part of it is a work based on the Library, and explaining
    +    where to find the accompanying uncombined form of the same work.
    +
    +  8. You may not copy, modify, sublicense, link with, or distribute
    +the Library except as expressly provided under this License.  Any
    +attempt otherwise to copy, modify, sublicense, link with, or
    +distribute the Library is void, and will automatically terminate your
    +rights under this License.  However, parties who have received copies,
    +or rights, from you under this License will not have their licenses
    +terminated so long as such parties remain in full compliance.
    +
    +  9. You are not required to accept this License, since you have not
    +signed it.  However, nothing else grants you permission to modify or
    +distribute the Library or its derivative works.  These actions are
    +prohibited by law if you do not accept this License.  Therefore, by
    +modifying or distributing the Library (or any work based on the
    +Library), you indicate your acceptance of this License to do so, and
    +all its terms and conditions for copying, distributing or modifying
    +the Library or works based on it.
    +
    +  10. Each time you redistribute the Library (or any work based on the
    +Library), the recipient automatically receives a license from the
    +original licensor to copy, distribute, link with or modify the Library
    +subject to these terms and conditions.  You may not impose any further
    +restrictions on the recipients' exercise of the rights granted herein.
    +You are not responsible for enforcing compliance by third parties with
    +this License.
    +
    +  11. If, as a consequence of a court judgment or allegation of patent
    +infringement or for any other reason (not limited to patent issues),
    +conditions are imposed on you (whether by court order, agreement or
    +otherwise) that contradict the conditions of this License, they do not
    +excuse you from the conditions of this License.  If you cannot
    +distribute so as to satisfy simultaneously your obligations under this
    +License and any other pertinent obligations, then as a consequence you
    +may not distribute the Library at all.  For example, if a patent
    +license would not permit royalty-free redistribution of the Library by
    +all those who receive copies directly or indirectly through you, then
    +the only way you could satisfy both it and this License would be to
    +refrain entirely from distribution of the Library.
    +
    +If any portion of this section is held invalid or unenforceable under any
    +particular circumstance, the balance of the section is intended to apply,
    +and the section as a whole is intended to apply in other circumstances.
    +
    +It is not the purpose of this section to induce you to infringe any
    +patents or other property right claims or to contest validity of any
    +such claims; this section has the sole purpose of protecting the
    +integrity of the free software distribution system which is
    +implemented by public license practices.  Many people have made
    +generous contributions to the wide range of software distributed
    +through that system in reliance on consistent application of that
    +system; it is up to the author/donor to decide if he or she is willing
    +to distribute software through any other system and a licensee cannot
    +impose that choice.
    +
    +This section is intended to make thoroughly clear what is believed to
    +be a consequence of the rest of this License.
    +
    +  12. If the distribution and/or use of the Library is restricted in
    +certain countries either by patents or by copyrighted interfaces, the
    +original copyright holder who places the Library under this License may add
    +an explicit geographical distribution limitation excluding those countries,
    +so that distribution is permitted only in or among countries not thus
    +excluded.  In such case, this License incorporates the limitation as if
    +written in the body of this License.
    +
    +  13. The Free Software Foundation may publish revised and/or new
    +versions of the Lesser General Public License from time to time.
    +Such new versions will be similar in spirit to the present version,
    +but may differ in detail to address new problems or concerns.
    +
    +Each version is given a distinguishing version number.  If the Library
    +specifies a version number of this License which applies to it and
    +"any later version", you have the option of following the terms and
    +conditions either of that version or of any later version published by
    +the Free Software Foundation.  If the Library does not specify a
    +license version number, you may choose any version ever published by
    +the Free Software Foundation.
    +
    +  14. If you wish to incorporate parts of the Library into other free
    +programs whose distribution conditions are incompatible with these,
    +write to the author to ask for permission.  For software which is
    +copyrighted by the Free Software Foundation, write to the Free
    +Software Foundation; we sometimes make exceptions for this.  Our
    +decision will be guided by the two goals of preserving the free status
    +of all derivatives of our free software and of promoting the sharing
    +and reuse of software generally.
    +
    +			    NO WARRANTY
    +
    +  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    +PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    +LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    +
    +  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    +DAMAGES.
    +
    +		     END OF TERMS AND CONDITIONS
    +
    +           How to Apply These Terms to Your New Libraries
    +
    +  If you develop a new library, and you want it to be of the greatest
    +possible use to the public, we recommend making it free software that
    +everyone can redistribute and change.  You can do so by permitting
    +redistribution under these terms (or, alternatively, under the terms of the
    +ordinary General Public License).
    +
    +  To apply these terms, attach the following notices to the library.  It is
    +safest to attach them to the start of each source file to most effectively
    +convey the exclusion of warranty; and each file should have at least the
    +"copyright" line and a pointer to where the full notice is found.
    +
    +    <one line to give the library's name and a brief idea of what it does.>
    +    Copyright (C) <year>  <name of author>
    +
    +    This library is free software; you can redistribute it and/or
    +    modify it under the terms of the GNU Lesser General Public
    +    License as published by the Free Software Foundation; either
    +    version 2.1 of the License, or (at your option) any later version.
    +
    +    This library is distributed in the hope that it will be useful,
    +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    +    Lesser General Public License for more details.
    +
    +    You should have received a copy of the GNU Lesser General Public
    +    License along with this library; if not, write to the Free Software
    +    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    +
    +Also add information on how to contact you by electronic and paper mail.
    +
    +You should also get your employer (if you work as a programmer) or your
    +school, if any, to sign a "copyright disclaimer" for the library, if
    +necessary.  Here is a sample; alter the names:
    +
    +  Yoyodyne, Inc., hereby disclaims all copyright interest in the
    +  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    +
    +  <signature of Ty Coon>, 1 April 1990
    +  Ty Coon, President of Vice
    +
    +That's all there is to it!
    +
    +
    +
    + + +
    + +
    +

    ANTLR runtime + 3.5 +

    + + +
    Copyright (c) 2005-2009 Terence Parr
    + + + + +
     Copyright (c) 2005-2009 Terence Parr
    + All rights reserved.
    +
    + Redistribution and use in source and binary forms, with or without
    + modification, are permitted provided that the following conditions
    + are met:
    + 1. Redistributions of source code must retain the above copyright
    +     notice, this list of conditions and the following disclaimer.
    + 2. Redistributions in binary form must reproduce the above copyright
    +     notice, this list of conditions and the following disclaimer in the
    +     documentation and/or other materials provided with the distribution.
    + 3. The name of the author may not be used to endorse or promote products
    +     derived from this software without specific prior written permission.
    +
    + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    Apache Lucene + 4.10.4 +

    + + + +
    Apache Lucene
    +Copyright 2012 The Apache Software Foundation
    +
    +This product includes software developed by
    +The Apache Software Foundation (http://www.apache.org/).
    +
    +The snowball stemmers in
    +  contrib/analyzers/common/src/java/net/sf/snowball
    +were developed by Martin Porter and Richard Boulton.
    +The snowball stopword lists in
    +  contrib/analyzers/common/src/resources/org/apache/lucene/analysis/snowball
    +were developed by Martin Porter and Richard Boulton.
    +The full snowball package is available from
    +  http://snowball.tartarus.org/
    +
    +The KStem stemmer in
    +  common/src/org/apache/lucene/analysis/en
    +was developed by Bob Krovetz and Sergio Guzman-Lara (CIIR-UMass Amherst)
    +under the BSD-license.
    +
    +The Arabic,Persian,Romanian,Bulgarian, and Hindi analyzers (contrib/analyzers) come with a default
    +stopword list that is BSD-licensed created by Jacques Savoy.  These files reside in:
    +contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ar/stopwords.txt,
    +contrib/analyzers/common/src/resources/org/apache/lucene/analysis/fa/stopwords.txt,
    +contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ro/stopwords.txt,
    +contrib/analyzers/common/src/resources/org/apache/lucene/analysis/bg/stopwords.txt,
    +contrib/analyzers/common/src/resources/org/apache/lucene/analysis/hi/stopwords.txt
    +See http://members.unine.ch/jacques.savoy/clef/index.html.
    +
    +The German,Spanish,Finnish,French,Hungarian,Italian,Portuguese,Russian and Swedish light stemmers
    +(common) are based on BSD-licensed reference implementations created by Jacques Savoy and
    +Ljiljana Dolamic. These files reside in:
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
    +contrib/analyzers/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
    +
    +The Stempel analyzer (contrib/analyzers) includes BSD-licensed software developed 
    +by the Egothor project http://egothor.sf.net/, created by Leo Galambos, Martin Kvapil,
    +and Edmond Nolan.
    +
    +The Polish analyzer (contrib/analyzers) comes with a default
    +stopword list that is BSD-licensed created by the Carrot2 project. The file resides
    +in contrib/analyzers/stempel/src/resources/org/apache/lucene/analysis/pl/stopwords.txt.
    +See http://project.carrot2.org/license.html.
    +
    +Includes software from other Apache Software Foundation projects,
    +including, but not limited to:
    + - Apache Ant
    + - Apache Jakarta Regexp
    + - Commons Compress
    + - Xerces
    +
    +The SmartChineseAnalyzer source code (under contrib/analyzers) was
    +provided by Xiaoping Gao and copyright 2009 by www.imdict.net.
    +
    +ICU4J, (under contrib/icu) is licensed under an MIT styles license
    +(contrib/icu/lib/ICU-LICENSE.txt) and Copyright (c) 1995-2008 
    +International Business Machines Corporation and others
    +
    +Some files (contrib/analyzers/common/src/test/.../WordBreakTestUnicode_*.java
    +and data files under contrib/icu/src/data/) are derived from Unicode data such
    +as the Unicode Character Database. See http://unicode.org/copyright.html for more
    +details.
    +
    +The class org.apache.lucene.SorterTemplate was inspired by CGLIB's class with
    +the same name. The implementation part is mainly done using pre-existing
    +Lucene sorting code. In-place stable mergesort was borrowed from CGLIB,
    +which is Apache-licensed.
    +
    +The class org.apache.lucene.util.WeakIdentityMap was derived from
    +the Apache CXF project and is Apache License 2.0.
    +
    +The Google Code Prettify is Apache License 2.0.
    +See http://code.google.com/p/google-code-prettify/
    +
    +JUnit (junit-4.10) is licensed under the Common Public License v. 1.0
    +See http://junit.sourceforge.net/cpl-v10.html
    +
    +This product includes code (JaspellTernarySearchTrie) from Java Spelling Checking Package (jaspell): http://jaspell.sourceforge.net/
    +License: The BSD License (http://www.opensource.org/licenses/bsd-license.php)
    +
    +===========================================================================
    +Kuromoji Japanese Morphological Analyzer - Apache Lucene Integration
    +===========================================================================
    +
    +This software includes a binary and/or source version of data from
    +
    +  mecab-ipadic-2.7.0-20070801
    +
    +which can be obtained from
    +
    +  http://atilika.com/releases/mecab-ipadic/mecab-ipadic-2.7.0-20070801.tar.gz
    +
    +or
    +
    +  http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
    +
    +===========================================================================
    +mecab-ipadic-2.7.0-20070801 Notice
    +===========================================================================
    +
    +Nara Institute of Science and Technology (NAIST),
    +the copyright holders, disclaims all warranties with regard to this
    +software, including all implied warranties of merchantability and
    +fitness, in no event shall NAIST be liable for
    +any special, indirect or consequential damages or any damages
    +whatsoever resulting from loss of use, data or profits, whether in an
    +action of contract, negligence or other tortuous action, arising out
    +of or in connection with the use or performance of this software.
    +
    +A large portion of the dictionary entries
    +originate from ICOT Free Software.  The following conditions for ICOT
    +Free Software applies to the current dictionary as well.
    +
    +Each User may also freely distribute the Program, whether in its
    +original form or modified, to any third party or parties, PROVIDED
    +that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
    +on, or be attached to, the Program, which is distributed substantially
    +in the same form as set out herein and that such intended
    +distribution, if actually made, will neither violate or otherwise
    +contravene any of the laws and regulations of the countries having
    +jurisdiction over the User or the intended distribution itself.
    +
    +NO WARRANTY
    +
    +The program was produced on an experimental basis in the course of the
    +research and development conducted during the project and is provided
    +to users as so produced on an experimental basis.  Accordingly, the
    +program is provided without any warranty whatsoever, whether express,
    +implied, statutory or otherwise.  The term "warranty" used herein
    +includes, but is not limited to, any warranty of the quality,
    +performance, merchantability and fitness for a particular purpose of
    +the program and the nonexistence of any infringement or violation of
    +any right of any third party.
    +
    +Each user of the program will agree and understand, and be deemed to
    +have agreed and understood, that there is no warranty whatsoever for
    +the program and, accordingly, the entire risk arising from or
    +otherwise connected with the program is assumed by the user.
    +
    +Therefore, neither ICOT, the copyright holder, or any other
    +organization that participated in or was otherwise related to the
    +development of the program and their respective officials, directors,
    +officers and other employees shall be held liable for any and all
    +damages, including, without limitation, general, special, incidental
    +and consequential damages, arising out of or otherwise in connection
    +with the use or inability to use the program or any product, material
    +or result produced or otherwise obtained by using the program,
    +regardless of whether they have been advised of, or otherwise had
    +knowledge of, the possibility of such damages at any time during the
    +project or thereafter.  Each user will be deemed to have agreed to the
    +foregoing by his or her commencement of use of the program.  The term
    +"use" as used herein includes, but is not limited to, the use,
    +modification, copying and distribution of the program and the
    +production of secondary products from the program.
    +
    +In the case where the program, whether in its original form or
    +modified, was distributed or delivered to or received by a user from
    +any person, organization or entity other than ICOT, unless it makes or
    +grants independently of ICOT any specific warranty to the user in
    +writing, such person, organization or entity, will also be exempted
    +from and not be held liable to the user for any such damages as noted
    +above as far as the program is concerned.
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from unicode conversion examples available at
    +http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    +from those sources:
    +
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + * 
    + * Disclaimer
    + * 
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + * 
    + * Limitations on Rights to Redistribute This Code
    + * 
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +
    +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    +derived from Python 2.4.2 sources available at
    +http://www.python.org. Full license is here:
    +
    +  http://www.python.org/download/releases/2.4.2/license/
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from ICU (http://www.icu-project.org)
    +The full license is available here: 
    +  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    +
    +/*
    + * Copyright (C) 1999-2010, International Business Machines
    + * Corporation and others.  All Rights Reserved.
    + *
    + * Permission is hereby granted, free of charge, to any person obtaining a copy 
    + * of this software and associated documentation files (the "Software"), to deal
    + * in the Software without restriction, including without limitation the rights 
    + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    + * Software, and to permit persons to whom the Software is furnished to do so, 
    + * provided that the above copyright notice(s) and this permission notice appear 
    + * in all copies of the Software and that both the above copyright notice(s) and
    + * this permission notice appear in supporting documentation.
    + * 
    + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    + *
    + * Except as contained in this notice, the name of a copyright holder shall not 
    + * be used in advertising or otherwise to promote the sale, use or other 
    + * dealings in this Software without prior written authorization of the 
    + * copyright holder.
    + */
    +
    +The following license applies to the Snowball stemmers:
    +
    +Copyright (c) 2001, Dr Martin Porter
    +Copyright (c) 2002, Richard Boulton
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +    * this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +    * notice, this list of conditions and the following disclaimer in the
    +    * documentation and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holders nor the names of its contributors
    +    * may be used to endorse or promote products derived from this software
    +    * without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The following license applies to the KStemmer:
    +
    +Copyright © 2003,
    +Center for Intelligent Information Retrieval,
    +University of Massachusetts, Amherst.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation
    +and/or other materials provided with the distribution.
    +
    +3. The names "Center for Intelligent Information Retrieval" and
    +"University of Massachusetts" must not be used to endorse or promote products
    +derived from this software without prior written permission. To obtain
    +permission, contact info@ciir.cs.umass.edu.
    +
    +THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    +

    ASM + 4.1 +

    + + +
    Copyright (c) 2000-2011 INRIA, France Telecom
    + + + + +
    ASM: a very small and fast Java bytecode manipulation framework
    +Copyright (c) 2000-2011 INRIA, France Telecom
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions
    +are met:
    +1. Redistributions of source code must retain the above copyright
    +   notice, this list of conditions and the following disclaimer.
    +2. Redistributions in binary form must reproduce the above copyright
    +   notice, this list of conditions and the following disclaimer in the
    +   documentation and/or other materials provided with the distribution.
    +3. Neither the name of the copyright holders nor the names of its
    +   contributors may be used to endorse or promote products derived from
    +   this software without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    +THE POSSIBILITY OF SUCH DAMAGE.
    +
    + + +
    + +
    +

    Spatial4J + 0.4.1 +

    + + + +
     Licensed to the Apache Software Foundation (ASF) under one or more
    + contributor license agreements.  See the NOTICE file distributed with
    + this work for additional information regarding copyright ownership.
    + The ASF licenses this file to You under the Apache License, Version 2.0
    + (the "License"); you may not use this file except in compliance with
    + the License.  You may obtain a copy of the License at
    + 
    +    http://www.apache.org/licenses/LICENSE-2.0
    + 
    + Unless required by applicable law or agreed to in writing, software
    + distributed under the License is distributed on an "AS IS" BASIS,
    + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + See the License for the specific language governing permissions and
    + limitations under the License.
    +
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from unicode conversion examples available at
    +http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    +from those sources:
    +
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + * 
    + * Disclaimer
    + * 
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + * 
    + * Limitations on Rights to Redistribute This Code
    + * 
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +
    +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    +derived from Python 2.4.2 sources available at
    +http://www.python.org. Full license is here:
    +
    +  http://www.python.org/download/releases/2.4.2/license/
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from ICU (http://www.icu-project.org)
    +The full license is available here: 
    +  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    +
    +/*
    + * Copyright (C) 1999-2010, International Business Machines
    + * Corporation and others.  All Rights Reserved.
    + *
    + * Permission is hereby granted, free of charge, to any person obtaining a copy 
    + * of this software and associated documentation files (the "Software"), to deal
    + * in the Software without restriction, including without limitation the rights 
    + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    + * Software, and to permit persons to whom the Software is furnished to do so, 
    + * provided that the above copyright notice(s) and this permission notice appear 
    + * in all copies of the Software and that both the above copyright notice(s) and
    + * this permission notice appear in supporting documentation.
    + * 
    + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    + *
    + * Except as contained in this notice, the name of a copyright holder shall not 
    + * be used in advertising or otherwise to promote the sale, use or other 
    + * dealings in this Software without prior written authorization of the 
    + * copyright holder.
    + */
    +
    +The following license applies to the Snowball stemmers:
    +
    +Copyright (c) 2001, Dr Martin Porter
    +Copyright (c) 2002, Richard Boulton
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +    * this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +    * notice, this list of conditions and the following disclaimer in the
    +    * documentation and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holders nor the names of its contributors
    +    * may be used to endorse or promote products derived from this software
    +    * without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The following license applies to the KStemmer:
    +
    +Copyright © 2003,
    +Center for Intelligent Information Retrieval,
    +University of Massachusetts, Amherst.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation
    +and/or other materials provided with the distribution.
    +
    +3. The names "Center for Intelligent Information Retrieval" and
    +"University of Massachusetts" must not be used to endorse or promote products
    +derived from this software without prior written permission. To obtain
    +permission, contact info@ciir.cs.umass.edu.
    +
    +THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    +

    Groovy + 2.4.0 +

    + + +
    Copyright 2003-2008 the original author or authors.
    + + +
    Copyright 2003-2008 the original author or authors.
    +
    +Licensed under the Apache License, Version 2.0 (the "License");
    +you may not use this file except in compliance with the License.
    +You may obtain a copy of the License at
    +
    +    http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing, software
    +distributed under the License is distributed on an "AS IS" BASIS,
    +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +See the License for the specific language governing permissions and
    +limitations under the License.
    +
    +
    +
    +
    + Apache Commons CLI
    +Copyright 2001-2009 The Apache Software Foundation
    +
    +This product includes software developed by
    +The Apache Software Foundation (http://www.apache.org/).
    + 
    + + + +
    +                                 Apache License
    +                           Version 2.0, January 2004
    +                        http://www.apache.org/licenses/
    +
    +   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    +
    +   1. Definitions.
    +
    +      "License" shall mean the terms and conditions for use, reproduction,
    +      and distribution as defined by Sections 1 through 9 of this document.
    +
    +      "Licensor" shall mean the copyright owner or entity authorized by
    +      the copyright owner that is granting the License.
    +
    +      "Legal Entity" shall mean the union of the acting entity and all
    +      other entities that control, are controlled by, or are under common
    +      control with that entity. For the purposes of this definition,
    +      "control" means (i) the power, direct or indirect, to cause the
    +      direction or management of such entity, whether by contract or
    +      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    +      outstanding shares, or (iii) beneficial ownership of such entity.
    +
    +      "You" (or "Your") shall mean an individual or Legal Entity
    +      exercising permissions granted by this License.
    +
    +      "Source" form shall mean the preferred form for making modifications,
    +      including but not limited to software source code, documentation
    +      source, and configuration files.
    +
    +      "Object" form shall mean any form resulting from mechanical
    +      transformation or translation of a Source form, including but
    +      not limited to compiled object code, generated documentation,
    +      and conversions to other media types.
    +
    +      "Work" shall mean the work of authorship, whether in Source or
    +      Object form, made available under the License, as indicated by a
    +      copyright notice that is included in or attached to the work
    +      (an example is provided in the Appendix below).
    +
    +      "Derivative Works" shall mean any work, whether in Source or Object
    +      form, that is based on (or derived from) the Work and for which the
    +      editorial revisions, annotations, elaborations, or other modifications
    +      represent, as a whole, an original work of authorship. For the purposes
    +      of this License, Derivative Works shall not include works that remain
    +      separable from, or merely link (or bind by name) to the interfaces of,
    +      the Work and Derivative Works thereof.
    +
    +      "Contribution" shall mean any work of authorship, including
    +      the original version of the Work and any modifications or additions
    +      to that Work or Derivative Works thereof, that is intentionally
    +      submitted to Licensor for inclusion in the Work by the copyright owner
    +      or by an individual or Legal Entity authorized to submit on behalf of
    +      the copyright owner. For the purposes of this definition, "submitted"
    +      means any form of electronic, verbal, or written communication sent
    +      to the Licensor or its representatives, including but not limited to
    +      communication on electronic mailing lists, source code control systems,
    +      and issue tracking systems that are managed by, or on behalf of, the
    +      Licensor for the purpose of discussing and improving the Work, but
    +      excluding communication that is conspicuously marked or otherwise
    +      designated in writing by the copyright owner as "Not a Contribution."
    +
    +      "Contributor" shall mean Licensor and any individual or Legal Entity
    +      on behalf of whom a Contribution has been received by Licensor and
    +      subsequently incorporated within the Work.
    +
    +   2. Grant of Copyright License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      copyright license to reproduce, prepare Derivative Works of,
    +      publicly display, publicly perform, sublicense, and distribute the
    +      Work and such Derivative Works in Source or Object form.
    +
    +   3. Grant of Patent License. Subject to the terms and conditions of
    +      this License, each Contributor hereby grants to You a perpetual,
    +      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    +      (except as stated in this section) patent license to make, have made,
    +      use, offer to sell, sell, import, and otherwise transfer the Work,
    +      where such license applies only to those patent claims licensable
    +      by such Contributor that are necessarily infringed by their
    +      Contribution(s) alone or by combination of their Contribution(s)
    +      with the Work to which such Contribution(s) was submitted. If You
    +      institute patent litigation against any entity (including a
    +      cross-claim or counterclaim in a lawsuit) alleging that the Work
    +      or a Contribution incorporated within the Work constitutes direct
    +      or contributory patent infringement, then any patent licenses
    +      granted to You under this License for that Work shall terminate
    +      as of the date such litigation is filed.
    +
    +   4. Redistribution. You may reproduce and distribute copies of the
    +      Work or Derivative Works thereof in any medium, with or without
    +      modifications, and in Source or Object form, provided that You
    +      meet the following conditions:
    +
    +      (a) You must give any other recipients of the Work or
    +          Derivative Works a copy of this License; and
    +
    +      (b) You must cause any modified files to carry prominent notices
    +          stating that You changed the files; and
    +
    +      (c) You must retain, in the Source form of any Derivative Works
    +          that You distribute, all copyright, patent, trademark, and
    +          attribution notices from the Source form of the Work,
    +          excluding those notices that do not pertain to any part of
    +          the Derivative Works; and
    +
    +      (d) If the Work includes a "NOTICE" text file as part of its
    +          distribution, then any Derivative Works that You distribute must
    +          include a readable copy of the attribution notices contained
    +          within such NOTICE file, excluding those notices that do not
    +          pertain to any part of the Derivative Works, in at least one
    +          of the following places: within a NOTICE text file distributed
    +          as part of the Derivative Works; within the Source form or
    +          documentation, if provided along with the Derivative Works; or,
    +          within a display generated by the Derivative Works, if and
    +          wherever such third-party notices normally appear. The contents
    +          of the NOTICE file are for informational purposes only and
    +          do not modify the License. You may add Your own attribution
    +          notices within Derivative Works that You distribute, alongside
    +          or as an addendum to the NOTICE text from the Work, provided
    +          that such additional attribution notices cannot be construed
    +          as modifying the License.
    +
    +      You may add Your own copyright statement to Your modifications and
    +      may provide additional or different license terms and conditions
    +      for use, reproduction, or distribution of Your modifications, or
    +      for any such Derivative Works as a whole, provided Your use,
    +      reproduction, and distribution of the Work otherwise complies with
    +      the conditions stated in this License.
    +
    +   5. Submission of Contributions. Unless You explicitly state otherwise,
    +      any Contribution intentionally submitted for inclusion in the Work
    +      by You to the Licensor shall be under the terms and conditions of
    +      this License, without any additional terms or conditions.
    +      Notwithstanding the above, nothing herein shall supersede or modify
    +      the terms of any separate license agreement you may have executed
    +      with Licensor regarding such Contributions.
    +
    +   6. Trademarks. This License does not grant permission to use the trade
    +      names, trademarks, service marks, or product names of the Licensor,
    +      except as required for reasonable and customary use in describing the
    +      origin of the Work and reproducing the content of the NOTICE file.
    +
    +   7. Disclaimer of Warranty. Unless required by applicable law or
    +      agreed to in writing, Licensor provides the Work (and each
    +      Contributor provides its Contributions) on an "AS IS" BASIS,
    +      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    +      implied, including, without limitation, any warranties or conditions
    +      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    +      PARTICULAR PURPOSE. You are solely responsible for determining the
    +      appropriateness of using or redistributing the Work and assume any
    +      risks associated with Your exercise of permissions under this License.
    +
    +   8. Limitation of Liability. In no event and under no legal theory,
    +      whether in tort (including negligence), contract, or otherwise,
    +      unless required by applicable law (such as deliberate and grossly
    +      negligent acts) or agreed to in writing, shall any Contributor be
    +      liable to You for damages, including any direct, indirect, special,
    +      incidental, or consequential damages of any character arising as a
    +      result of this License or out of the use or inability to use the
    +      Work (including but not limited to damages for loss of goodwill,
    +      work stoppage, computer failure or malfunction, or any and all
    +      other commercial damages or losses), even if such Contributor
    +      has been advised of the possibility of such damages.
    +
    +   9. Accepting Warranty or Additional Liability. While redistributing
    +      the Work or Derivative Works thereof, You may choose to offer,
    +      and charge a fee for, acceptance of support, warranty, indemnity,
    +      or other liability obligations and/or rights consistent with this
    +      License. However, in accepting such obligations, You may act only
    +      on Your own behalf and on Your sole responsibility, not on behalf
    +      of any other Contributor, and only if You agree to indemnify,
    +      defend, and hold each Contributor harmless for any liability
    +      incurred by, or claims asserted against, such Contributor by reason
    +      of your accepting any such warranty or additional liability.
    +
    +   END OF TERMS AND CONDITIONS
    +
    +   APPENDIX: How to apply the Apache License to your work.
    +
    +      To apply the Apache License to your work, attach the following
    +      boilerplate notice, with the fields enclosed by brackets "[]"
    +      replaced with your own identifying information. (Don't include
    +      the brackets!)  The text should be enclosed in the appropriate
    +      comment syntax for the file format. We also recommend that a
    +      file or class name and description of purpose be included on the
    +      same "printed page" as the copyright notice for easier
    +      identification within third-party archives.
    +
    +   Copyright [yyyy] [name of copyright owner]
    +
    +   Licensed under the Apache License, Version 2.0 (the "License");
    +   you may not use this file except in compliance with the License.
    +   You may obtain a copy of the License at
    +
    +       http://www.apache.org/licenses/LICENSE-2.0
    +
    +   Unless required by applicable law or agreed to in writing, software
    +   distributed under the License is distributed on an "AS IS" BASIS,
    +   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +   See the License for the specific language governing permissions and
    +   limitations under the License.
    +
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from unicode conversion examples available at
    +http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    +from those sources:
    +
    +/*
    + * Copyright 2001-2004 Unicode, Inc.
    + * 
    + * Disclaimer
    + * 
    + * This source code is provided as is by Unicode, Inc. No claims are
    + * made as to fitness for any particular purpose. No warranties of any
    + * kind are expressed or implied. The recipient agrees to determine
    + * applicability of information provided. If this file has been
    + * purchased on magnetic or optical media from Unicode, Inc., the
    + * sole remedy for any claim will be exchange of defective media
    + * within 90 days of receipt.
    + * 
    + * Limitations on Rights to Redistribute This Code
    + * 
    + * Unicode, Inc. hereby grants the right to freely use the information
    + * supplied in this file in the creation of products supporting the
    + * Unicode Standard, and to make copies of this file in any form
    + * for internal or external distribution as long as this notice
    + * remains attached.
    + */
    +
    +
    +Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    +derived from Python 2.4.2 sources available at
    +http://www.python.org. Full license is here:
    +
    +  http://www.python.org/download/releases/2.4.2/license/
    +
    +
    +Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    +derived from ICU (http://www.icu-project.org)
    +The full license is available here: 
    +  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    +
    +/*
    + * Copyright (C) 1999-2010, International Business Machines
    + * Corporation and others.  All Rights Reserved.
    + *
    + * Permission is hereby granted, free of charge, to any person obtaining a copy 
    + * of this software and associated documentation files (the "Software"), to deal
    + * in the Software without restriction, including without limitation the rights 
    + * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    + * Software, and to permit persons to whom the Software is furnished to do so, 
    + * provided that the above copyright notice(s) and this permission notice appear 
    + * in all copies of the Software and that both the above copyright notice(s) and
    + * this permission notice appear in supporting documentation.
    + * 
    + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    + * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    + * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    + *
    + * Except as contained in this notice, the name of a copyright holder shall not 
    + * be used in advertising or otherwise to promote the sale, use or other 
    + * dealings in this Software without prior written authorization of the 
    + * copyright holder.
    + */
    +
    +The following license applies to the Snowball stemmers:
    +
    +Copyright (c) 2001, Dr Martin Porter
    +Copyright (c) 2002, Richard Boulton
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without
    +modification, are permitted provided that the following conditions are met:
    +
    +    * Redistributions of source code must retain the above copyright notice,
    +    * this list of conditions and the following disclaimer.
    +    * Redistributions in binary form must reproduce the above copyright
    +    * notice, this list of conditions and the following disclaimer in the
    +    * documentation and/or other materials provided with the distribution.
    +    * Neither the name of the copyright holders nor the names of its contributors
    +    * may be used to endorse or promote products derived from this software
    +    * without specific prior written permission.
    +
    +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    +
    +The following license applies to the KStemmer:
    +
    +Copyright © 2003,
    +Center for Intelligent Information Retrieval,
    +University of Massachusetts, Amherst.
    +All rights reserved.
    +
    +Redistribution and use in source and binary forms, with or without modification,
    +are permitted provided that the following conditions are met:
    +
    +1. Redistributions of source code must retain the above copyright notice, this
    +list of conditions and the following disclaimer.
    +
    +2. Redistributions in binary form must reproduce the above copyright notice,
    +this list of conditions and the following disclaimer in the documentation
    +and/or other materials provided with the distribution.
    +
    +3. The names "Center for Intelligent Information Retrieval" and
    +"University of Massachusetts" must not be used to endorse or promote products
    +derived from this software without prior written permission. To obtain
    +permission, contact info@ciir.cs.umass.edu.
    +
    +THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    +SUCH DAMAGE.
    +
    + + +
    + +
    + +

    Common Licenses Used in This Product

    + + + + +

    End

    + + \ No newline at end of file diff --git a/about_code_tool/tests/testdata/genattrib/zipped_about.zip b/about_code_tool/tests/testdata/genattrib/zipped_about.zip new file mode 100644 index 0000000000000000000000000000000000000000..3af0df7e85c1c0fe0a0b1834eaa5786a80493ac2 GIT binary patch literal 284989 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%0D@FTaQQs$>EwRKW2eaMa(vEElp8)#S>`RhKJo7 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 {FA?zD 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
    Os8|f4Nrp*4ma;}xFDYM1jV4t;o?_UV~w-qS$ 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 j{r>Ai{^6w^{R8iR=0dMD!C-^ne~Z#Em^c;4j Date: Mon, 28 Sep 2015 15:49:53 +0200 Subject: [PATCH 37/83] #210 reverting to old style asserts since we run tests with setuptools in this branch --- about_code_tool/tests/test_genattrib.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index a2a47c84..4f8cb92a 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -73,6 +73,7 @@ def test_component_subset_to_sublist(self): self.assertEqual(expected, result) def test_genattrib_basic(self): + self.maxDiff =None about_dir = 'about_code_tool/tests/testdata/genattrib/basic/' generated_attrib = get_temp_file('generated.html') args = [about_dir, generated_attrib] @@ -80,9 +81,10 @@ def test_genattrib_basic(self): genattrib_command_tester(args, options) expected = open('about_code_tool/tests/testdata/genattrib/basic.html').read() result = open(generated_attrib).read() - assert expected ==result + self.assertEqual(expected, result) def test_genattrib_from_zipped_dir(self): + self.maxDiff =None about_dir = 'about_code_tool/tests/testdata/genattrib/zipped_about.zip' generated_attrib = get_temp_file('generated.html') args = [about_dir, generated_attrib] @@ -90,7 +92,7 @@ def test_genattrib_from_zipped_dir(self): genattrib_command_tester(args, options) expected = open('about_code_tool/tests/testdata/genattrib/zipped_about.html').read() result = open(generated_attrib).read() - assert expected ==result + self.assertEqual(expected, result) def genattrib_command_tester(args, options): From 210b4a6026ef937533317dadda4aad2ff2a98da2 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 28 Sep 2015 15:56:23 +0200 Subject: [PATCH 38/83] #210 using simpler assrteions that will pass on all OSes --- about_code_tool/tests/test_genattrib.py | 28 +- .../tests/testdata/genattrib/basic.html | 771 - .../testdata/genattrib/zipped_about.html | 19263 ---------------- 3 files changed, 22 insertions(+), 20040 deletions(-) delete mode 100644 about_code_tool/tests/testdata/genattrib/basic.html delete mode 100644 about_code_tool/tests/testdata/genattrib/zipped_about.html diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 4f8cb92a..e0346018 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -73,26 +73,42 @@ def test_component_subset_to_sublist(self): self.assertEqual(expected, result) def test_genattrib_basic(self): - self.maxDiff =None + self.maxDiff = None about_dir = 'about_code_tool/tests/testdata/genattrib/basic/' generated_attrib = get_temp_file('generated.html') args = [about_dir, generated_attrib] options = None genattrib_command_tester(args, options) - expected = open('about_code_tool/tests/testdata/genattrib/basic.html').read() result = open(generated_attrib).read() - self.assertEqual(expected, result) + expected = [ + 'ElasticSearch 1.6.0', + 'bootstrap 2.3.2', + 'djangosnippets.org_2413 2011-04-12', + 'Annotator 1.2.10', + 'component_4', + ] + for ex in expected: + self.assertTrue(ex in result) def test_genattrib_from_zipped_dir(self): - self.maxDiff =None + self.maxDiff = None about_dir = 'about_code_tool/tests/testdata/genattrib/zipped_about.zip' generated_attrib = get_temp_file('generated.html') args = [about_dir, generated_attrib] options = None genattrib_command_tester(args, options) - expected = open('about_code_tool/tests/testdata/genattrib/zipped_about.html').read() result = open(generated_attrib).read() - self.assertEqual(expected, result) + expected = [ + 'ElasticSearch 1.6.0', + 'bootstrap 2.3.2', + 'djangosnippets.org_2413 2011-04-12', + 'Annotator 1.2.10', + 'python-memcached 1.53', + 'component_94', + 'Groovy 2.4.0', + ] + for ex in expected: + self.assertTrue(ex in result) def genattrib_command_tester(args, options): diff --git a/about_code_tool/tests/testdata/genattrib/basic.html b/about_code_tool/tests/testdata/genattrib/basic.html deleted file mode 100644 index 80b09a83..00000000 --- a/about_code_tool/tests/testdata/genattrib/basic.html +++ /dev/null @@ -1,771 +0,0 @@ - - - - - Open Source Software Information - - - -

    OPEN SOURCE SOFTWARE INFORMATION

    -
    - - - -
    - - -
    -

    ElasticSearch - 1.6.0 -

    - - -
    Copyright 2009-2014 Elasticsearch
    - - -
    Elasticsearch
    -Copyright 2009-2015 Elasticsearch
    -
    -This product includes software developed by The Apache Software
    -Foundation (http://www.apache.org/).
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    - - -
    - -
    -

    bootstrap - 2.3.2 -

    - - -
    Copyright 2012 Twitter, Inc.
    - - - - -
                                  Apache License
    -                        Version 2.0, January 2004
    -                     http://www.apache.org/licenses/
    -
    -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -1. Definitions.
    -
    -   "License" shall mean the terms and conditions for use, reproduction,
    -   and distribution as defined by Sections 1 through 9 of this document.
    -
    -   "Licensor" shall mean the copyright owner or entity authorized by
    -   the copyright owner that is granting the License.
    -
    -   "Legal Entity" shall mean the union of the acting entity and all
    -   other entities that control, are controlled by, or are under common
    -   control with that entity. For the purposes of this definition,
    -   "control" means (i) the power, direct or indirect, to cause the
    -   direction or management of such entity, whether by contract or
    -   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -   outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -   "You" (or "Your") shall mean an individual or Legal Entity
    -   exercising permissions granted by this License.
    -
    -   "Source" form shall mean the preferred form for making modifications,
    -   including but not limited to software source code, documentation
    -   source, and configuration files.
    -
    -   "Object" form shall mean any form resulting from mechanical
    -   transformation or translation of a Source form, including but
    -   not limited to compiled object code, generated documentation,
    -   and conversions to other media types.
    -
    -   "Work" shall mean the work of authorship, whether in Source or
    -   Object form, made available under the License, as indicated by a
    -   copyright notice that is included in or attached to the work
    -   (an example is provided in the Appendix below).
    -
    -   "Derivative Works" shall mean any work, whether in Source or Object
    -   form, that is based on (or derived from) the Work and for which the
    -   editorial revisions, annotations, elaborations, or other modifications
    -   represent, as a whole, an original work of authorship. For the purposes
    -   of this License, Derivative Works shall not include works that remain
    -   separable from, or merely link (or bind by name) to the interfaces of,
    -   the Work and Derivative Works thereof.
    -
    -   "Contribution" shall mean any work of authorship, including
    -   the original version of the Work and any modifications or additions
    -   to that Work or Derivative Works thereof, that is intentionally
    -   submitted to Licensor for inclusion in the Work by the copyright owner
    -   or by an individual or Legal Entity authorized to submit on behalf of
    -   the copyright owner. For the purposes of this definition, "submitted"
    -   means any form of electronic, verbal, or written communication sent
    -   to the Licensor or its representatives, including but not limited to
    -   communication on electronic mailing lists, source code control systems,
    -   and issue tracking systems that are managed by, or on behalf of, the
    -   Licensor for the purpose of discussing and improving the Work, but
    -   excluding communication that is conspicuously marked or otherwise
    -   designated in writing by the copyright owner as "Not a Contribution."
    -
    -   "Contributor" shall mean Licensor and any individual or Legal Entity
    -   on behalf of whom a Contribution has been received by Licensor and
    -   subsequently incorporated within the Work.
    -
    -2. Grant of Copyright License. Subject to the terms and conditions of
    -   this License, each Contributor hereby grants to You a perpetual,
    -   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -   copyright license to reproduce, prepare Derivative Works of,
    -   publicly display, publicly perform, sublicense, and distribute the
    -   Work and such Derivative Works in Source or Object form.
    -
    -3. Grant of Patent License. Subject to the terms and conditions of
    -   this License, each Contributor hereby grants to You a perpetual,
    -   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -   (except as stated in this section) patent license to make, have made,
    -   use, offer to sell, sell, import, and otherwise transfer the Work,
    -   where such license applies only to those patent claims licensable
    -   by such Contributor that are necessarily infringed by their
    -   Contribution(s) alone or by combination of their Contribution(s)
    -   with the Work to which such Contribution(s) was submitted. If You
    -   institute patent litigation against any entity (including a
    -   cross-claim or counterclaim in a lawsuit) alleging that the Work
    -   or a Contribution incorporated within the Work constitutes direct
    -   or contributory patent infringement, then any patent licenses
    -   granted to You under this License for that Work shall terminate
    -   as of the date such litigation is filed.
    -
    -4. Redistribution. You may reproduce and distribute copies of the
    -   Work or Derivative Works thereof in any medium, with or without
    -   modifications, and in Source or Object form, provided that You
    -   meet the following conditions:
    -
    -   (a) You must give any other recipients of the Work or
    -       Derivative Works a copy of this License; and
    -
    -   (b) You must cause any modified files to carry prominent notices
    -       stating that You changed the files; and
    -
    -   (c) You must retain, in the Source form of any Derivative Works
    -       that You distribute, all copyright, patent, trademark, and
    -       attribution notices from the Source form of the Work,
    -       excluding those notices that do not pertain to any part of
    -       the Derivative Works; and
    -
    -   (d) If the Work includes a "NOTICE" text file as part of its
    -       distribution, then any Derivative Works that You distribute must
    -       include a readable copy of the attribution notices contained
    -       within such NOTICE file, excluding those notices that do not
    -       pertain to any part of the Derivative Works, in at least one
    -       of the following places: within a NOTICE text file distributed
    -       as part of the Derivative Works; within the Source form or
    -       documentation, if provided along with the Derivative Works; or,
    -       within a display generated by the Derivative Works, if and
    -       wherever such third-party notices normally appear. The contents
    -       of the NOTICE file are for informational purposes only and
    -       do not modify the License. You may add Your own attribution
    -       notices within Derivative Works that You distribute, alongside
    -       or as an addendum to the NOTICE text from the Work, provided
    -       that such additional attribution notices cannot be construed
    -       as modifying the License.
    -
    -   You may add Your own copyright statement to Your modifications and
    -   may provide additional or different license terms and conditions
    -   for use, reproduction, or distribution of Your modifications, or
    -   for any such Derivative Works as a whole, provided Your use,
    -   reproduction, and distribution of the Work otherwise complies with
    -   the conditions stated in this License.
    -
    -5. Submission of Contributions. Unless You explicitly state otherwise,
    -   any Contribution intentionally submitted for inclusion in the Work
    -   by You to the Licensor shall be under the terms and conditions of
    -   this License, without any additional terms or conditions.
    -   Notwithstanding the above, nothing herein shall supersede or modify
    -   the terms of any separate license agreement you may have executed
    -   with Licensor regarding such Contributions.
    -
    -6. Trademarks. This License does not grant permission to use the trade
    -   names, trademarks, service marks, or product names of the Licensor,
    -   except as required for reasonable and customary use in describing the
    -   origin of the Work and reproducing the content of the NOTICE file.
    -
    -7. Disclaimer of Warranty. Unless required by applicable law or
    -   agreed to in writing, Licensor provides the Work (and each
    -   Contributor provides its Contributions) on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -   implied, including, without limitation, any warranties or conditions
    -   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -   PARTICULAR PURPOSE. You are solely responsible for determining the
    -   appropriateness of using or redistributing the Work and assume any
    -   risks associated with Your exercise of permissions under this License.
    -
    -8. Limitation of Liability. In no event and under no legal theory,
    -   whether in tort (including negligence), contract, or otherwise,
    -   unless required by applicable law (such as deliberate and grossly
    -   negligent acts) or agreed to in writing, shall any Contributor be
    -   liable to You for damages, including any direct, indirect, special,
    -   incidental, or consequential damages of any character arising as a
    -   result of this License or out of the use or inability to use the
    -   Work (including but not limited to damages for loss of goodwill,
    -   work stoppage, computer failure or malfunction, or any and all
    -   other commercial damages or losses), even if such Contributor
    -   has been advised of the possibility of such damages.
    -
    -9. Accepting Warranty or Additional Liability. While redistributing
    -   the Work or Derivative Works thereof, You may choose to offer,
    -   and charge a fee for, acceptance of support, warranty, indemnity,
    -   or other liability obligations and/or rights consistent with this
    -   License. However, in accepting such obligations, You may act only
    -   on Your own behalf and on Your sole responsibility, not on behalf
    -   of any other Contributor, and only if You agree to indemnify,
    -   defend, and hold each Contributor harmless for any liability
    -   incurred by, or claims asserted against, such Contributor by reason
    -   of your accepting any such warranty or additional liability.
    -
    -END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    ElasticSearch - 1.6.0 -

    - - -
    Copyright 2009-2015 Elasticsearch
    - - -
    Elasticsearch
    -Copyright 2009-2015 Elasticsearch
    -
    -This product includes software developed by The Apache Software
    -Foundation (http://www.apache.org/).
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    - - -
    - -
    -

    djangosnippets.org_2413 - 2011-04-12 -

    - - - - - -
    Terms of Service
    -We hate legal-speak as much as anybody, but on a site which is geared toward sharing code there has to be at least a little bit of it, so here goes:
    -
    -By creating an account here you agree to three things:
    -
    -That you will only post code which you wrote yourself and that you have the legal right to release under these terms.
    -That you grant any third party who sees the code you post a royalty-free, non-exclusive license to copy and distribute that code and to make and distribute derivative works based on that code. You may include license terms in snippets you post, if you wish to use a particular license (such as the BSD license or GNU GPL), but that license must permit royalty-free copying, distribution and modification of the code to which it is applied.
    -That if you post code of which you are not the author or for which you do not have the legal right to distribute according to these terms, you will indemnify and hold harmless the operators of this site and any third parties who are exposed to liability as a result of your actions.
    -If you can't legally agree to these terms, or don't want to, you cannot create an account here.
    - - -
    - -
    -

    Annotator - 1.2.10 -

    - - - - - -
    # Annotator licensing terms
    -
    -Annotator is free software, and you may use it under the terms of either the
    -MIT or the GNU GPL licenses:
    -
    -## GNU GPLv3
    -
    -You can redistribute this program and/or modify it under the terms of the
    -GNU General Public License as published by the Free Software Foundation,
    -either version 3 of the License, or (at your option) any later version.
    -
    -This program is distributed in the hope that it will be useful,
    -but WITHOUT ANY WARRANTY; without even the implied warranty of
    -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -GNU General Public License for more details.
    -
    -You should have received a copy of the GNU General Public License
    -along with this program. See LICENSE-GPL, or, if this file is missing,
    -<http://www.gnu.org/licenses/>.
    -
    -## MIT
    -
    -You may use the software under the terms of the MIT license, which can be
    -found in LICENSE-MIT, or, if this file is missing,
    -<http://www.opensource.org/licenses/mit-license>.
    -
    - - -
    - -
    - -

    Common Licenses Used in This Product

    - - - - -

    End

    - - \ No newline at end of file diff --git a/about_code_tool/tests/testdata/genattrib/zipped_about.html b/about_code_tool/tests/testdata/genattrib/zipped_about.html deleted file mode 100644 index 05759b89..00000000 --- a/about_code_tool/tests/testdata/genattrib/zipped_about.html +++ /dev/null @@ -1,19263 +0,0 @@ - - - - - Open Source Software Information - - - -

    OPEN SOURCE SOFTWARE INFORMATION

    -
    - -

    For instructions on how to obtain a copy of any source code - being made publicly available by Starship Technology related to - software used in this product you may send your request in - writing to:

    - - Starship Technology LLC.
    - OSS Management
    - 7829 Montague Expressway
    - Santa Clara, CA 95031
    - USA
    - -

    The Starship Technology website www.dejacode.com also - contains information regarding Starship Technology's use of open - source. Starship Technology has created the www.dejacode.org to - serve as a portal for interaction with the software - community-at-large.

    - -

    This document contains additional information regarding - licenses, acknowledgments and required copyright notices for - open source packages used in this Starship Technology product. - This Starship Technology product contains the following open - source software components

    - -
    - -
    - -

    Underscore.string 2.3.3

    - -

    html5shiv 3.7.0

    - -

    ElasticSearch 1.6.0

    - -

    spin.js 1.3.2

    - -

    bootstrap 2.3.2

    - -

    RequireJS 2.1.15

    - -

    DataTables FixedHeader 2.0.10-dev

    - -

    jQuery treetable 3.2.0

    - -

    text 2.0.10

    - -

    Annotator 1.2.10

    - -

    mod_wsgi 3.4

    - -

    Underscore.js 1.6.0

    - -

    jsPlumb 1.7.2

    - -

    ElasticSearch 1.6.0

    - -

    Ember.js 1.12.1

    - -

    djangosnippets.org_2413 2011-04-12

    - -

    jQuery 1.11.2

    - -

    Font Awesome 3.2.0

    - -

    Django Debug Toolbar 1.3.2

    - -

    django-adminactions 0.7

    - -

    Django REST framework 3.2.3

    - -

    Pygments 2.0.2

    - -

    Selenium 2.47.3

    - -

    pytz 2015.6

    - -

    wheel 0.26.0

    - -

    PyYAML 3.11

    - -

    python-memcached 1.53

    - -

    virtualenv 12.0.5

    - -

    ABOUT tool 0.9.0

    - -

    Beautiful Soup 4.4.0

    - -

    Django 1.8.4

    - -

    anyjson 0.3.3

    - -

    pyreadline 2.0

    - -

    gnureadline 6.3.3

    - -

    urllib3 1.12

    - -

    pycrypto 2.6

    - -

    python-social-auth 0.2.12

    - -

    psycopg2 2.5.4

    - -

    funcparserlib 0.3.6

    - -

    python-ldap 2.4.20

    - -

    ecdsa 0.13

    - -

    django-filter 0.11.0

    - -

    pycrypto 2.6.1

    - -

    PyJWT 1.4.0

    - -

    psycopg2 2.6.1

    - -

    django-crispy-forms 1.5.2

    - -

    unicodecsv 0.14.0

    - -

    django-haystack 2.4.0

    - -

    mock 1.0.1

    - -

    django-debreach 1.2.1

    - -

    six 1.9.0

    - -

    setuptools 18.3.2

    - -

    django-auth-ldap 1.2.6

    - -

    python-ldap 2.4.20

    - -

    certifi 2015.9.6.2

    - -

    model_mommy 1.2.5

    - -

    paramiko 1.15.2

    - -

    celery 3.1.18

    - -

    mockldap 0.2.5

    - -

    Fabric 1.10.2

    - -

    python-dateutil 2.4.2

    - -

    pycrypto 2.6.1

    - -

    billiard 3.3.0.20

    - -

    oauthlib 1.0.3

    - -

    kombu 3.0.26

    - -

    django-reversion 1.8.7

    - -

    django-extensions 1.5.7

    - -

    requests 2.7.0

    - -

    django-haystack-panel 0.2.1

    - -

    Supervisor 3.1.3

    - -

    Whoosh 2.7.0

    - -

    django-tastypie 0.12.2

    - -

    python-mimeparse 0.1.4

    - -

    amqp 1.4.6

    - -

    requests-oauthlib 0.5.0

    - -

    Grappelli 2.7.1

    - -

    sqlparse 0.1.16

    - -

    elasticsearch-py 1.6.0

    - -

    virtualenv 12.0.5

    - -

    meld3 1.0.2

    - -

    pyaml 15.8.2

    - -

    python-openid 2.2.5

    - -

    pip 7.1.2

    - -

    natsort 4.0.3

    - -

    wincertstore 0.2

    - -

    JNA 4.1.0

    - -

    Sigar 1.6.4

    - -

    ASM Commons 4.1

    - -

    Apache Log4J 1.2.17

    - -

    JTS Topology Suite 1.13

    - -

    ANTLR runtime 3.5

    - -

    Apache Lucene 4.10.4

    - -

    ASM 4.1

    - -

    Spatial4J 0.4.1

    - -

    Groovy 2.4.0

    - -
    - -
    - - -
    -

    Underscore.string - 2.3.3 -

    - - - - - -
    Copyright (c) 2011 Esa-Matti Suuronen esa-matti@suuronen.org
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    - - -
    - -
    -

    html5shiv - 3.7.0 -

    - - - -
    /*
    - HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
    -*/
    - - - - -
    - -
    -

    ElasticSearch - 1.6.0 -

    - - -
    Copyright 2009-2014 Elasticsearch
    - - -
    Elasticsearch
    -Copyright 2009-2015 Elasticsearch
    -
    -This product includes software developed by The Apache Software
    -Foundation (http://www.apache.org/).
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    - - -
    - -
    -

    spin.js - 1.3.2 -

    - - - - - -
    The MIT License
    -
    -Copyright (c) 2011 Felix Gnass [fgnass at neteye dot de]
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    - - -
    - -
    -

    bootstrap - 2.3.2 -

    - - -
    Copyright 2012 Twitter, Inc.
    - - - - -
                                  Apache License
    -                        Version 2.0, January 2004
    -                     http://www.apache.org/licenses/
    -
    -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -1. Definitions.
    -
    -   "License" shall mean the terms and conditions for use, reproduction,
    -   and distribution as defined by Sections 1 through 9 of this document.
    -
    -   "Licensor" shall mean the copyright owner or entity authorized by
    -   the copyright owner that is granting the License.
    -
    -   "Legal Entity" shall mean the union of the acting entity and all
    -   other entities that control, are controlled by, or are under common
    -   control with that entity. For the purposes of this definition,
    -   "control" means (i) the power, direct or indirect, to cause the
    -   direction or management of such entity, whether by contract or
    -   otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -   outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -   "You" (or "Your") shall mean an individual or Legal Entity
    -   exercising permissions granted by this License.
    -
    -   "Source" form shall mean the preferred form for making modifications,
    -   including but not limited to software source code, documentation
    -   source, and configuration files.
    -
    -   "Object" form shall mean any form resulting from mechanical
    -   transformation or translation of a Source form, including but
    -   not limited to compiled object code, generated documentation,
    -   and conversions to other media types.
    -
    -   "Work" shall mean the work of authorship, whether in Source or
    -   Object form, made available under the License, as indicated by a
    -   copyright notice that is included in or attached to the work
    -   (an example is provided in the Appendix below).
    -
    -   "Derivative Works" shall mean any work, whether in Source or Object
    -   form, that is based on (or derived from) the Work and for which the
    -   editorial revisions, annotations, elaborations, or other modifications
    -   represent, as a whole, an original work of authorship. For the purposes
    -   of this License, Derivative Works shall not include works that remain
    -   separable from, or merely link (or bind by name) to the interfaces of,
    -   the Work and Derivative Works thereof.
    -
    -   "Contribution" shall mean any work of authorship, including
    -   the original version of the Work and any modifications or additions
    -   to that Work or Derivative Works thereof, that is intentionally
    -   submitted to Licensor for inclusion in the Work by the copyright owner
    -   or by an individual or Legal Entity authorized to submit on behalf of
    -   the copyright owner. For the purposes of this definition, "submitted"
    -   means any form of electronic, verbal, or written communication sent
    -   to the Licensor or its representatives, including but not limited to
    -   communication on electronic mailing lists, source code control systems,
    -   and issue tracking systems that are managed by, or on behalf of, the
    -   Licensor for the purpose of discussing and improving the Work, but
    -   excluding communication that is conspicuously marked or otherwise
    -   designated in writing by the copyright owner as "Not a Contribution."
    -
    -   "Contributor" shall mean Licensor and any individual or Legal Entity
    -   on behalf of whom a Contribution has been received by Licensor and
    -   subsequently incorporated within the Work.
    -
    -2. Grant of Copyright License. Subject to the terms and conditions of
    -   this License, each Contributor hereby grants to You a perpetual,
    -   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -   copyright license to reproduce, prepare Derivative Works of,
    -   publicly display, publicly perform, sublicense, and distribute the
    -   Work and such Derivative Works in Source or Object form.
    -
    -3. Grant of Patent License. Subject to the terms and conditions of
    -   this License, each Contributor hereby grants to You a perpetual,
    -   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -   (except as stated in this section) patent license to make, have made,
    -   use, offer to sell, sell, import, and otherwise transfer the Work,
    -   where such license applies only to those patent claims licensable
    -   by such Contributor that are necessarily infringed by their
    -   Contribution(s) alone or by combination of their Contribution(s)
    -   with the Work to which such Contribution(s) was submitted. If You
    -   institute patent litigation against any entity (including a
    -   cross-claim or counterclaim in a lawsuit) alleging that the Work
    -   or a Contribution incorporated within the Work constitutes direct
    -   or contributory patent infringement, then any patent licenses
    -   granted to You under this License for that Work shall terminate
    -   as of the date such litigation is filed.
    -
    -4. Redistribution. You may reproduce and distribute copies of the
    -   Work or Derivative Works thereof in any medium, with or without
    -   modifications, and in Source or Object form, provided that You
    -   meet the following conditions:
    -
    -   (a) You must give any other recipients of the Work or
    -       Derivative Works a copy of this License; and
    -
    -   (b) You must cause any modified files to carry prominent notices
    -       stating that You changed the files; and
    -
    -   (c) You must retain, in the Source form of any Derivative Works
    -       that You distribute, all copyright, patent, trademark, and
    -       attribution notices from the Source form of the Work,
    -       excluding those notices that do not pertain to any part of
    -       the Derivative Works; and
    -
    -   (d) If the Work includes a "NOTICE" text file as part of its
    -       distribution, then any Derivative Works that You distribute must
    -       include a readable copy of the attribution notices contained
    -       within such NOTICE file, excluding those notices that do not
    -       pertain to any part of the Derivative Works, in at least one
    -       of the following places: within a NOTICE text file distributed
    -       as part of the Derivative Works; within the Source form or
    -       documentation, if provided along with the Derivative Works; or,
    -       within a display generated by the Derivative Works, if and
    -       wherever such third-party notices normally appear. The contents
    -       of the NOTICE file are for informational purposes only and
    -       do not modify the License. You may add Your own attribution
    -       notices within Derivative Works that You distribute, alongside
    -       or as an addendum to the NOTICE text from the Work, provided
    -       that such additional attribution notices cannot be construed
    -       as modifying the License.
    -
    -   You may add Your own copyright statement to Your modifications and
    -   may provide additional or different license terms and conditions
    -   for use, reproduction, or distribution of Your modifications, or
    -   for any such Derivative Works as a whole, provided Your use,
    -   reproduction, and distribution of the Work otherwise complies with
    -   the conditions stated in this License.
    -
    -5. Submission of Contributions. Unless You explicitly state otherwise,
    -   any Contribution intentionally submitted for inclusion in the Work
    -   by You to the Licensor shall be under the terms and conditions of
    -   this License, without any additional terms or conditions.
    -   Notwithstanding the above, nothing herein shall supersede or modify
    -   the terms of any separate license agreement you may have executed
    -   with Licensor regarding such Contributions.
    -
    -6. Trademarks. This License does not grant permission to use the trade
    -   names, trademarks, service marks, or product names of the Licensor,
    -   except as required for reasonable and customary use in describing the
    -   origin of the Work and reproducing the content of the NOTICE file.
    -
    -7. Disclaimer of Warranty. Unless required by applicable law or
    -   agreed to in writing, Licensor provides the Work (and each
    -   Contributor provides its Contributions) on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -   implied, including, without limitation, any warranties or conditions
    -   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -   PARTICULAR PURPOSE. You are solely responsible for determining the
    -   appropriateness of using or redistributing the Work and assume any
    -   risks associated with Your exercise of permissions under this License.
    -
    -8. Limitation of Liability. In no event and under no legal theory,
    -   whether in tort (including negligence), contract, or otherwise,
    -   unless required by applicable law (such as deliberate and grossly
    -   negligent acts) or agreed to in writing, shall any Contributor be
    -   liable to You for damages, including any direct, indirect, special,
    -   incidental, or consequential damages of any character arising as a
    -   result of this License or out of the use or inability to use the
    -   Work (including but not limited to damages for loss of goodwill,
    -   work stoppage, computer failure or malfunction, or any and all
    -   other commercial damages or losses), even if such Contributor
    -   has been advised of the possibility of such damages.
    -
    -9. Accepting Warranty or Additional Liability. While redistributing
    -   the Work or Derivative Works thereof, You may choose to offer,
    -   and charge a fee for, acceptance of support, warranty, indemnity,
    -   or other liability obligations and/or rights consistent with this
    -   License. However, in accepting such obligations, You may act only
    -   on Your own behalf and on Your sole responsibility, not on behalf
    -   of any other Contributor, and only if You agree to indemnify,
    -   defend, and hold each Contributor harmless for any liability
    -   incurred by, or claims asserted against, such Contributor by reason
    -   of your accepting any such warranty or additional liability.
    -
    -END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    RequireJS - 2.1.15 -

    - - - - - -
    RequireJS is released under two licenses: new BSD, and MIT. You may pick the
    -license that best suits your development needs. The text of both licenses are
    -provided below.
    -
    -
    -The "New" BSD License:
    -----------------------
    -
    -Copyright (c) 2010-2014, The Dojo Foundation
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -  * Redistributions of source code must retain the above copyright notice, this
    -    list of conditions and the following disclaimer.
    -  * Redistributions in binary form must reproduce the above copyright notice,
    -    this list of conditions and the following disclaimer in the documentation
    -    and/or other materials provided with the distribution.
    -  * Neither the name of the Dojo Foundation nor the names of its contributors
    -    may be used to endorse or promote products derived from this software
    -    without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -
    -
    -MIT License
    ------------
    -
    -Copyright (c) 2010-2014, The Dojo Foundation
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    - - -
    - -
    -

    DataTables FixedHeader - 2.0.10-dev -

    - - -
    Copyright 2008-2012 Allan Jardine, all rights reserved.
    - - -
    /*
    - * File:        FixedHeader.nightly.min.js
    - * Version:     2.1.0-dev
    - * Author:      Allan Jardine (www.sprymedia.co.uk)
    - * Info:        www.datatables.net
    - *
    - * Copyright 2008-2012 Allan Jardine, all rights reserved.
    - *
    - * This source file is free software, under either the GPL v2 license or a
    - * BSD style license, available at:
    - *   http://datatables.net/license_gpl2
    - *   http://datatables.net/license_bsd
    - *
    - * This source file is distributed in the hope that it will be useful, but
    - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    - * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
    - */
    - - - - -
    - -
    -

    jQuery treetable - 3.2.0 -

    - - -
    This plugin is released under both the MIT and the GPLv2 license by Ludo van den Boom.
    - - - - -
    This plugin is released under both the MIT and the GPLv2 license by Ludo van den Boom.
    -
    -Copyright (c) 2013 Ludo van den Boom, http://ludovandenboom.com
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    -GNU GENERAL PUBLIC LICENSE
    -Version 2, June 1991
    -Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
    -Everyone is permitted to copy and distribute verbatim copies
    -of this license document, but changing it is not allowed.
    -Preamble
    -The licenses for most software are designed to take away your
    -freedom to share and change it. By contrast, the GNU General Public
    -License is intended to guarantee your freedom to share and change free
    -software--to make sure the software is free for all its users. This
    -General Public License applies to most of the Free Software
    -Foundation's software and to any other program whose authors commit to
    -using it. (Some other Free Software Foundation software is covered by
    -the GNU Lesser General Public License instead.) You can apply it to
    -your programs, too.
    -When we speak of free software, we are referring to freedom, not
    -price. Our General Public Licenses are designed to make sure that you
    -have the freedom to distribute copies of free software (and charge for
    -this service if you wish), that you receive source code or can get it
    -if you want it, that you can change the software or use pieces of it
    -in new free programs; and that you know you can do these things.
    -To protect your rights, we need to make restrictions that forbid
    -anyone to deny you these rights or to ask you to surrender the rights.
    -These restrictions translate to certain responsibilities for you if you
    -distribute copies of the software, or if you modify it.
    -For example, if you distribute copies of such a program, whether
    -gratis or for a fee, you must give the recipients all the rights that
    -you have. You must make sure that they, too, receive or can get the
    -source code. And you must show them these terms so they know their
    -rights.
    -We protect your rights with two steps: (1) copyright the software, and
    -(2) offer you this license which gives you legal permission to copy,
    -distribute and/or modify the software.
    -Also, for each author's protection and ours, we want to make certain
    -that everyone understands that there is no warranty for this free
    -software. If the software is modified by someone else and passed on, we
    -want its recipients to know that what they have is not the original, so
    -that any problems introduced by others will not reflect on the original
    -authors' reputations.
    -Finally, any free program is threatened constantly by software
    -patents. We wish to avoid the danger that redistributors of a free
    -program will individually obtain patent licenses, in effect making the
    -program proprietary. To prevent this, we have made it clear that any
    -patent must be licensed for everyone's free use or not licensed at all.
    -The precise terms and conditions for copying, distribution and
    -modification follow.
    -GNU GENERAL PUBLIC LICENSE
    -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -0. This License applies to any program or other work which contains
    -a notice placed by the copyright holder saying it may be distributed
    -under the terms of this General Public License. The "Program", below,
    -refers to any such program or work, and a "work based on the Program"
    -means either the Program or any derivative work under copyright law:
    -that is to say, a work containing the Program or a portion of it,
    -either verbatim or with modifications and/or translated into another
    -language. (Hereinafter, translation is included without limitation in
    -the term "modification".) Each licensee is addressed as "you".
    -Activities other than copying, distribution and modification are not
    -covered by this License; they are outside its scope. The act of
    -running the Program is not restricted, and the output from the Program
    -is covered only if its contents constitute a work based on the
    -Program (independent of having been made by running the Program).
    -Whether that is true depends on what the Program does.
    -1. You may copy and distribute verbatim copies of the Program's
    -source code as you receive it, in any medium, provided that you
    -conspicuously and appropriately publish on each copy an appropriate
    -copyright notice and disclaimer of warranty; keep intact all the
    -notices that refer to this License and to the absence of any warranty;
    -and give any other recipients of the Program a copy of this License
    -along with the Program.
    -You may charge a fee for the physical act of transferring a copy, and
    -you may at your option offer warranty protection in exchange for a fee.
    -2. You may modify your copy or copies of the Program or any portion
    -of it, thus forming a work based on the Program, and copy and
    -distribute such modifications or work under the terms of Section 1
    -above, provided that you also meet all of these conditions:
    -a) You must cause the modified files to carry prominent notices
    -stating that you changed the files and the date of any change.
    -b) You must cause any work that you distribute or publish, that in
    -whole or in part contains or is derived from the Program or any
    -part thereof, to be licensed as a whole at no charge to all third
    -parties under the terms of this License.
    -c) If the modified program normally reads commands interactively
    -when run, you must cause it, when started running for such
    -interactive use in the most ordinary way, to print or display an
    -announcement including an appropriate copyright notice and a
    -notice that there is no warranty (or else, saying that you provide
    -a warranty) and that users may redistribute the program under
    -these conditions, and telling the user how to view a copy of this
    -License. (Exception: if the Program itself is interactive but
    -does not normally print such an announcement, your work based on
    -the Program is not required to print an announcement.)
    -These requirements apply to the modified work as a whole. If
    -identifiable sections of that work are not derived from the Program,
    -and can be reasonably considered independent and separate works in
    -themselves, then this License, and its terms, do not apply to those
    -sections when you distribute them as separate works. But when you
    -distribute the same sections as part of a whole which is a work based
    -on the Program, the distribution of the whole must be on the terms of
    -this License, whose permissions for other licensees extend to the
    -entire whole, and thus to each and every part regardless of who wrote it.
    -Thus, it is not the intent of this section to claim rights or contest
    -your rights to work written entirely by you; rather, the intent is to
    -exercise the right to control the distribution of derivative or
    -collective works based on the Program.
    -In addition, mere aggregation of another work not based on the Program
    -with the Program (or with a work based on the Program) on a volume of
    -a storage or distribution medium does not bring the other work under
    -the scope of this License.
    -3. You may copy and distribute the Program (or a work based on it,
    -under Section 2) in object code or executable form under the terms of
    -Sections 1 and 2 above provided that you also do one of the following:
    -a) Accompany it with the complete corresponding machine-readable
    -source code, which must be distributed under the terms of Sections
    -1 and 2 above on a medium customarily used for software interchange; or,
    -b) Accompany it with a written offer, valid for at least three
    -years, to give any third party, for a charge no more than your
    -cost of physically performing source distribution, a complete
    -machine-readable copy of the corresponding source code, to be
    -distributed under the terms of Sections 1 and 2 above on a medium
    -customarily used for software interchange; or,
    -c) Accompany it with the information you received as to the offer
    -to distribute corresponding source code. (This alternative is
    -allowed only for noncommercial distribution and only if you
    -received the program in object code or executable form with such
    -an offer, in accord with Subsection b above.)
    -The source code for a work means the preferred form of the work for
    -making modifications to it. For an executable work, complete source
    -code means all the source code for all modules it contains, plus any
    -associated interface definition files, plus the scripts used to
    -control compilation and installation of the executable. However, as a
    -special exception, the source code distributed need not include
    -anything that is normally distributed (in either source or binary
    -form) with the major components (compiler, kernel, and so on) of the
    -operating system on which the executable runs, unless that component
    -itself accompanies the executable.
    -If distribution of executable or object code is made by offering
    -access to copy from a designated place, then offering equivalent
    -access to copy the source code from the same place counts as
    -distribution of the source code, even though third parties are not
    -compelled to copy the source along with the object code.
    -4. You may not copy, modify, sublicense, or distribute the Program
    -except as expressly provided under this License. Any attempt
    -otherwise to copy, modify, sublicense or distribute the Program is
    -void, and will automatically terminate your rights under this License.
    -However, parties who have received copies, or rights, from you under
    -this License will not have their licenses terminated so long as such
    -parties remain in full compliance.
    -5. You are not required to accept this License, since you have not
    -signed it. However, nothing else grants you permission to modify or
    -distribute the Program or its derivative works. These actions are
    -prohibited by law if you do not accept this License. Therefore, by
    -modifying or distributing the Program (or any work based on the
    -Program), you indicate your acceptance of this License to do so, and
    -all its terms and conditions for copying, distributing or modifying
    -the Program or works based on it.
    -6. Each time you redistribute the Program (or any work based on the
    -Program), the recipient automatically receives a license from the
    -original licensor to copy, distribute or modify the Program subject to
    -these terms and conditions. You may not impose any further
    -restrictions on the recipients' exercise of the rights granted herein.
    -You are not responsible for enforcing compliance by third parties to
    -this License.
    -7. If, as a consequence of a court judgment or allegation of patent
    -infringement or for any other reason (not limited to patent issues),
    -conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License. If you cannot
    -distribute so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you
    -may not distribute the Program at all. For example, if a patent
    -license would not permit royalty-free redistribution of the Program by
    -all those who receive copies directly or indirectly through you, then
    -the only way you could satisfy both it and this License would be to
    -refrain entirely from distribution of the Program.
    -If any portion of this section is held invalid or unenforceable under
    -any particular circumstance, the balance of the section is intended to
    -apply and the section as a whole is intended to apply in other
    -circumstances.
    -It is not the purpose of this section to induce you to infringe any
    -patents or other property right claims or to contest validity of any
    -such claims; this section has the sole purpose of protecting the
    -integrity of the free software distribution system, which is
    -implemented by public license practices. Many people have made
    -generous contributions to the wide range of software distributed
    -through that system in reliance on consistent application of that
    -system; it is up to the author/donor to decide if he or she is willing
    -to distribute software through any other system and a licensee cannot
    -impose that choice.
    -This section is intended to make thoroughly clear what is believed to
    -be a consequence of the rest of this License.
    -8. If the distribution and/or use of the Program is restricted in
    -certain countries either by patents or by copyrighted interfaces, the
    -original copyright holder who places the Program under this License
    -may add an explicit geographical distribution limitation excluding
    -those countries, so that distribution is permitted only in or among
    -countries not thus excluded. In such case, this License incorporates
    -the limitation as if written in the body of this License.
    -9. The Free Software Foundation may publish revised and/or new versions
    -of the General Public License from time to time. Such new versions will
    -be similar in spirit to the present version, but may differ in detail to
    -address new problems or concerns.
    -Each version is given a distinguishing version number. If the Program
    -specifies a version number of this License which applies to it and "any
    -later version", you have the option of following the terms and conditions
    -either of that version or of any later version published by the Free
    -Software Foundation. If the Program does not specify a version number of
    -this License, you may choose any version ever published by the Free Software
    -Foundation.
    -10. If you wish to incorporate parts of the Program into other free
    -programs whose distribution conditions are different, write to the author
    -to ask for permission. For software which is copyrighted by the Free
    -Software Foundation, write to the Free Software Foundation; we sometimes
    -make exceptions for this. Our decision will be guided by the two goals
    -of preserving the free status of all derivatives of our free software and
    -of promoting the sharing and reuse of software generally.
    -NO WARRANTY
    -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
    -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
    -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
    -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    -REPAIR OR CORRECTION.
    -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGES.
    -
    -
    - - -
    - -
    -

    text - 2.0.10 -

    - - - - - -
    RequireJS is released under two licenses: new BSD, and MIT. You may pick the
    -license that best suits your development needs. The text of both licenses are
    -provided below.
    -
    -
    -The "New" BSD License:
    -----------------------
    -
    -Copyright (c) 2010-2011, The Dojo Foundation
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -  * Redistributions of source code must retain the above copyright notice, this
    -    list of conditions and the following disclaimer.
    -  * Redistributions in binary form must reproduce the above copyright notice,
    -    this list of conditions and the following disclaimer in the documentation
    -    and/or other materials provided with the distribution.
    -  * Neither the name of the Dojo Foundation nor the names of its contributors
    -    may be used to endorse or promote products derived from this software
    -    without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -
    -
    -MIT License
    ------------
    -
    -Copyright (c) 2010-2011, The Dojo Foundation
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    - - -
    - -
    -

    Annotator - 1.2.10 -

    - - - - - -
    # Annotator licensing terms
    -
    -Annotator is free software, and you may use it under the terms of either the
    -MIT or the GNU GPL licenses:
    -
    -## GNU GPLv3
    -
    -You can redistribute this program and/or modify it under the terms of the
    -GNU General Public License as published by the Free Software Foundation,
    -either version 3 of the License, or (at your option) any later version.
    -
    -This program is distributed in the hope that it will be useful,
    -but WITHOUT ANY WARRANTY; without even the implied warranty of
    -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -GNU General Public License for more details.
    -
    -You should have received a copy of the GNU General Public License
    -along with this program. See LICENSE-GPL, or, if this file is missing,
    -<http://www.gnu.org/licenses/>.
    -
    -## MIT
    -
    -You may use the software under the terms of the MIT license, which can be
    -found in LICENSE-MIT, or, if this file is missing,
    -<http://www.opensource.org/licenses/mit-license>.
    -
    - - -
    - -
    -

    mod_wsgi - 3.4 -

    - - - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    - - -
    - -
    -

    Underscore.js - 1.6.0 -

    - - -
    (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
    - - - - -
    Copyright (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative
    -Reporters & Editors
    -
    -Permission is hereby granted, free of charge, to any person
    -obtaining a copy of this software and associated documentation
    -files (the "Software"), to deal in the Software without
    -restriction, including without limitation the rights to use,
    -copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the
    -Software is furnished to do so, subject to the following
    -conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    -OTHER DEALINGS IN THE SOFTWARE.
    - - -
    - -
    -

    jsPlumb - 1.7.2 -

    - - - - - -
            GNU GENERAL PUBLIC LICENSE
    -           Version 2, June 1991
    -
    - Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    - 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -          Preamble
    -
    -  The licenses for most software are designed to take away your
    -freedom to share and change it.  By contrast, the GNU General Public
    -License is intended to guarantee your freedom to share and change free
    -software--to make sure the software is free for all its users.  This
    -General Public License applies to most of the Free Software
    -Foundation's software and to any other program whose authors commit to
    -using it.  (Some other Free Software Foundation software is covered by
    -the GNU Lesser General Public License instead.)  You can apply it to
    -your programs, too.
    -
    -  When we speak of free software, we are referring to freedom, not
    -price.  Our General Public Licenses are designed to make sure that you
    -have the freedom to distribute copies of free software (and charge for
    -this service if you wish), that you receive source code or can get it
    -if you want it, that you can change the software or use pieces of it
    -in new free programs; and that you know you can do these things.
    -
    -  To protect your rights, we need to make restrictions that forbid
    -anyone to deny you these rights or to ask you to surrender the rights.
    -These restrictions translate to certain responsibilities for you if you
    -distribute copies of the software, or if you modify it.
    -
    -  For example, if you distribute copies of such a program, whether
    -gratis or for a fee, you must give the recipients all the rights that
    -you have.  You must make sure that they, too, receive or can get the
    -source code.  And you must show them these terms so they know their
    -rights.
    -
    -  We protect your rights with two steps: (1) copyright the software, and
    -(2) offer you this license which gives you legal permission to copy,
    -distribute and/or modify the software.
    -
    -  Also, for each author's protection and ours, we want to make certain
    -that everyone understands that there is no warranty for this free
    -software.  If the software is modified by someone else and passed on, we
    -want its recipients to know that what they have is not the original, so
    -that any problems introduced by others will not reflect on the original
    -authors' reputations.
    -
    -  Finally, any free program is threatened constantly by software
    -patents.  We wish to avoid the danger that redistributors of a free
    -program will individually obtain patent licenses, in effect making the
    -program proprietary.  To prevent this, we have made it clear that any
    -patent must be licensed for everyone's free use or not licensed at all.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.
    -
    -        GNU GENERAL PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. This License applies to any program or other work which contains
    -a notice placed by the copyright holder saying it may be distributed
    -under the terms of this General Public License.  The "Program", below,
    -refers to any such program or work, and a "work based on the Program"
    -means either the Program or any derivative work under copyright law:
    -that is to say, a work containing the Program or a portion of it,
    -either verbatim or with modifications and/or translated into another
    -language.  (Hereinafter, translation is included without limitation in
    -the term "modification".)  Each licensee is addressed as "you".
    -
    -Activities other than copying, distribution and modification are not
    -covered by this License; they are outside its scope.  The act of
    -running the Program is not restricted, and the output from the Program
    -is covered only if its contents constitute a work based on the
    -Program (independent of having been made by running the Program).
    -Whether that is true depends on what the Program does.
    -
    -  1. You may copy and distribute verbatim copies of the Program's
    -source code as you receive it, in any medium, provided that you
    -conspicuously and appropriately publish on each copy an appropriate
    -copyright notice and disclaimer of warranty; keep intact all the
    -notices that refer to this License and to the absence of any warranty;
    -and give any other recipients of the Program a copy of this License
    -along with the Program.
    -
    -You may charge a fee for the physical act of transferring a copy, and
    -you may at your option offer warranty protection in exchange for a fee.
    -
    -  2. You may modify your copy or copies of the Program or any portion
    -of it, thus forming a work based on the Program, and copy and
    -distribute such modifications or work under the terms of Section 1
    -above, provided that you also meet all of these conditions:
    -
    -    a) You must cause the modified files to carry prominent notices
    -    stating that you changed the files and the date of any change.
    -
    -    b) You must cause any work that you distribute or publish, that in
    -    whole or in part contains or is derived from the Program or any
    -    part thereof, to be licensed as a whole at no charge to all third
    -    parties under the terms of this License.
    -
    -    c) If the modified program normally reads commands interactively
    -    when run, you must cause it, when started running for such
    -    interactive use in the most ordinary way, to print or display an
    -    announcement including an appropriate copyright notice and a
    -    notice that there is no warranty (or else, saying that you provide
    -    a warranty) and that users may redistribute the program under
    -    these conditions, and telling the user how to view a copy of this
    -    License.  (Exception: if the Program itself is interactive but
    -    does not normally print such an announcement, your work based on
    -    the Program is not required to print an announcement.)
    -
    -These requirements apply to the modified work as a whole.  If
    -identifiable sections of that work are not derived from the Program,
    -and can be reasonably considered independent and separate works in
    -themselves, then this License, and its terms, do not apply to those
    -sections when you distribute them as separate works.  But when you
    -distribute the same sections as part of a whole which is a work based
    -on the Program, the distribution of the whole must be on the terms of
    -this License, whose permissions for other licensees extend to the
    -entire whole, and thus to each and every part regardless of who wrote it.
    -
    -Thus, it is not the intent of this section to claim rights or contest
    -your rights to work written entirely by you; rather, the intent is to
    -exercise the right to control the distribution of derivative or
    -collective works based on the Program.
    -
    -In addition, mere aggregation of another work not based on the Program
    -with the Program (or with a work based on the Program) on a volume of
    -a storage or distribution medium does not bring the other work under
    -the scope of this License.
    -
    -  3. You may copy and distribute the Program (or a work based on it,
    -under Section 2) in object code or executable form under the terms of
    -Sections 1 and 2 above provided that you also do one of the following:
    -
    -    a) Accompany it with the complete corresponding machine-readable
    -    source code, which must be distributed under the terms of Sections
    -    1 and 2 above on a medium customarily used for software interchange; or,
    -
    -    b) Accompany it with a written offer, valid for at least three
    -    years, to give any third party, for a charge no more than your
    -    cost of physically performing source distribution, a complete
    -    machine-readable copy of the corresponding source code, to be
    -    distributed under the terms of Sections 1 and 2 above on a medium
    -    customarily used for software interchange; or,
    -
    -    c) Accompany it with the information you received as to the offer
    -    to distribute corresponding source code.  (This alternative is
    -    allowed only for noncommercial distribution and only if you
    -    received the program in object code or executable form with such
    -    an offer, in accord with Subsection b above.)
    -
    -The source code for a work means the preferred form of the work for
    -making modifications to it.  For an executable work, complete source
    -code means all the source code for all modules it contains, plus any
    -associated interface definition files, plus the scripts used to
    -control compilation and installation of the executable.  However, as a
    -special exception, the source code distributed need not include
    -anything that is normally distributed (in either source or binary
    -form) with the major components (compiler, kernel, and so on) of the
    -operating system on which the executable runs, unless that component
    -itself accompanies the executable.
    -
    -If distribution of executable or object code is made by offering
    -access to copy from a designated place, then offering equivalent
    -access to copy the source code from the same place counts as
    -distribution of the source code, even though third parties are not
    -compelled to copy the source along with the object code.
    -
    -  4. You may not copy, modify, sublicense, or distribute the Program
    -except as expressly provided under this License.  Any attempt
    -otherwise to copy, modify, sublicense or distribute the Program is
    -void, and will automatically terminate your rights under this License.
    -However, parties who have received copies, or rights, from you under
    -this License will not have their licenses terminated so long as such
    -parties remain in full compliance.
    -
    -  5. You are not required to accept this License, since you have not
    -signed it.  However, nothing else grants you permission to modify or
    -distribute the Program or its derivative works.  These actions are
    -prohibited by law if you do not accept this License.  Therefore, by
    -modifying or distributing the Program (or any work based on the
    -Program), you indicate your acceptance of this License to do so, and
    -all its terms and conditions for copying, distributing or modifying
    -the Program or works based on it.
    -
    -  6. Each time you redistribute the Program (or any work based on the
    -Program), the recipient automatically receives a license from the
    -original licensor to copy, distribute or modify the Program subject to
    -these terms and conditions.  You may not impose any further
    -restrictions on the recipients' exercise of the rights granted herein.
    -You are not responsible for enforcing compliance by third parties to
    -this License.
    -
    -  7. If, as a consequence of a court judgment or allegation of patent
    -infringement or for any other reason (not limited to patent issues),
    -conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot
    -distribute so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you
    -may not distribute the Program at all.  For example, if a patent
    -license would not permit royalty-free redistribution of the Program by
    -all those who receive copies directly or indirectly through you, then
    -the only way you could satisfy both it and this License would be to
    -refrain entirely from distribution of the Program.
    -
    -If any portion of this section is held invalid or unenforceable under
    -any particular circumstance, the balance of the section is intended to
    -apply and the section as a whole is intended to apply in other
    -circumstances.
    -
    -It is not the purpose of this section to induce you to infringe any
    -patents or other property right claims or to contest validity of any
    -such claims; this section has the sole purpose of protecting the
    -integrity of the free software distribution system, which is
    -implemented by public license practices.  Many people have made
    -generous contributions to the wide range of software distributed
    -through that system in reliance on consistent application of that
    -system; it is up to the author/donor to decide if he or she is willing
    -to distribute software through any other system and a licensee cannot
    -impose that choice.
    -
    -This section is intended to make thoroughly clear what is believed to
    -be a consequence of the rest of this License.
    -
    -  8. If the distribution and/or use of the Program is restricted in
    -certain countries either by patents or by copyrighted interfaces, the
    -original copyright holder who places the Program under this License
    -may add an explicit geographical distribution limitation excluding
    -those countries, so that distribution is permitted only in or among
    -countries not thus excluded.  In such case, this License incorporates
    -the limitation as if written in the body of this License.
    -
    -  9. The Free Software Foundation may publish revised and/or new versions
    -of the General Public License from time to time.  Such new versions will
    -be similar in spirit to the present version, but may differ in detail to
    -address new problems or concerns.
    -
    -Each version is given a distinguishing version number.  If the Program
    -specifies a version number of this License which applies to it and "any
    -later version", you have the option of following the terms and conditions
    -either of that version or of any later version published by the Free
    -Software Foundation.  If the Program does not specify a version number of
    -this License, you may choose any version ever published by the Free Software
    -Foundation.
    -
    -  10. If you wish to incorporate parts of the Program into other free
    -programs whose distribution conditions are different, write to the author
    -to ask for permission.  For software which is copyrighted by the Free
    -Software Foundation, write to the Free Software Foundation; we sometimes
    -make exceptions for this.  Our decision will be guided by the two goals
    -of preserving the free status of all derivatives of our free software and
    -of promoting the sharing and reuse of software generally.
    -
    -          NO WARRANTY
    -
    -  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    -REPAIR OR CORRECTION.
    -
    -  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGES.
    -
    -
    -
    -Copyright (c) 2010 - 2014 jsPlumb, http://jsplumbtoolkit.com/
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    - - -
    - -
    -

    ElasticSearch - 1.6.0 -

    - - -
    Copyright 2009-2015 Elasticsearch
    - - -
    Elasticsearch
    -Copyright 2009-2015 Elasticsearch
    -
    -This product includes software developed by The Apache Software
    -Foundation (http://www.apache.org/).
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    - - -
    - -
    -

    Ember.js - 1.12.1 -

    - - -
    Copyright (c) 2015 Yehuda Katz, Tom Dale and Ember.js contributors
    - - - - -
    Copyright (c) 2015 Yehuda Katz, Tom Dale and Ember.js contributors
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    -of the Software, and to permit persons to whom the Software is furnished to do
    -so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -SOFTWARE.
    - - -
    - -
    -

    djangosnippets.org_2413 - 2011-04-12 -

    - - - - - -
    Terms of Service
    -We hate legal-speak as much as anybody, but on a site which is geared toward sharing code there has to be at least a little bit of it, so here goes:
    -
    -By creating an account here you agree to three things:
    -
    -That you will only post code which you wrote yourself and that you have the legal right to release under these terms.
    -That you grant any third party who sees the code you post a royalty-free, non-exclusive license to copy and distribute that code and to make and distribute derivative works based on that code. You may include license terms in snippets you post, if you wish to use a particular license (such as the BSD license or GNU GPL), but that license must permit royalty-free copying, distribution and modification of the code to which it is applied.
    -That if you post code of which you are not the author or for which you do not have the legal right to distribute according to these terms, you will indemnify and hold harmless the operators of this site and any third parties who are exposed to liability as a result of your actions.
    -If you can't legally agree to these terms, or don't want to, you cannot create an account here.
    - - -
    - -
    -

    jQuery - 1.11.2 -

    - - -
    Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
    - - - - -
    Copyright 2014 jQuery Foundation and other contributors
    -http://jquery.com/
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    - - -
    - -
    -

    Font Awesome - 3.2.0 -

    - - - -
    The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL.
    -Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html.
    -The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
    -Attribution is no longer required in Font Awesome 3.0, but much appreciated: Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome.
    -
    - - - - -
    - -
    -

    Django Debug Toolbar - 1.3.2 -

    - - -
    Copyright (c) Rob Hudson and individual contributors.
    - - - - -
    Copyright (c) Rob Hudson and individual contributors.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    1. Redistributions of source code must retain the above copyright notice, 
    -       this list of conditions and the following disclaimer.
    -    
    -    2. Redistributions in binary form must reproduce the above copyright 
    -       notice, this list of conditions and the following disclaimer in the
    -       documentation and/or other materials provided with the distribution.
    -
    -    3. Neither the name of Django nor the names of its contributors may be used
    -       to endorse or promote products derived from this software without
    -       specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    django-adminactions - 0.7 -

    - - -
    Copyright (c) 2010, Stefano Apostolico (s.apostolico@gmail.com)
    - - - - -
    * Copyright (c) 2010, Stefano Apostolico (s.apostolico@gmail.com)
    -* Dual licensed under the MIT or GPL Version 2 licenses.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    1. Redistributions of source code must retain the above copyright notice,
    -       this list of conditions and the following disclaimer.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    Django REST framework - 3.2.3 -

    - - -
    Copyright (c) 2011-2014, Tom Christie
    - - - - -
    Copyright (c) 2011-2014, Tom Christie
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -Redistributions in binary form must reproduce the above copyright notice, this
    -list of conditions and the following disclaimer in the documentation and/or
    -other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    Pygments - 2.0.2 -

    - - -
    Copyright (c) 2006-2014 by the respective authors (see AUTHORS file).
    - - - - -
    Copyright (c) 2006-2014 by the respective authors (see AUTHORS file).
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are
    -met:
    -
    -* Redistributions of source code must retain the above copyright
    -  notice, this list of conditions and the following disclaimer.
    -
    -* Redistributions in binary form must reproduce the above copyright
    -  notice, this list of conditions and the following disclaimer in the
    -  documentation and/or other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    Selenium - 2.47.3 -

    - - -
    Copyright 2011 Software Freedom Conservancy.
    - - -
    Copyright 2011 Software Freedom Conservancy.
    -
    -Licensed under the Apache License, Version 2.0 (the "License");
    -you may not use this file except in compliance with the License.
    -You may obtain a copy of the License at
    -
    -    http://www.apache.org/licenses/LICENSE-2.0
    -
    -Unless required by applicable law or agreed to in writing, software
    -distributed under the License is distributed on an "AS IS" BASIS,
    -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -See the License for the specific language governing permissions and
    -limitations under the License.
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    pytz - 2015.6 -

    - - - - - -
    Copyright (c) 2003-2009 Stuart Bishop <stuart@stuartbishop.net>
    -
    -Permission is hereby granted, free of charge, to any person obtaining a
    -copy of this software and associated documentation files (the "Software"),
    -to deal in the Software without restriction, including without limitation
    -the rights to use, copy, modify, merge, publish, distribute, sublicense,
    -and/or sell copies of the Software, and to permit persons to whom the
    -Software is furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    -DEALINGS IN THE SOFTWARE.
    -
    - - -
    - -
    -

    wheel - 0.26.0 -

    - - -
    copyright (c) 2012-2014 Daniel Holth  and contributors.
    - - - - -
    "wheel" copyright (c) 2012-2014 Daniel Holth <dholth@fastmail.fm> and
    -contributors.
    -
    -The MIT License
    -
    -Permission is hereby granted, free of charge, to any person obtaining a
    -copy of this software and associated documentation files (the "Software"),
    -to deal in the Software without restriction, including without limitation
    -the rights to use, copy, modify, merge, publish, distribute, sublicense,
    -and/or sell copies of the Software, and to permit persons to whom the
    -Software is furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included
    -in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
    -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    -OTHER DEALINGS IN THE SOFTWARE.
    -
    - - -
    - -
    -

    PyYAML - 3.11 -

    - - -
    Copyright (c) 2006 Kirill Simonov
    - - - - -
    Copyright (c) 2006 Kirill Simonov
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    -of the Software, and to permit persons to whom the Software is furnished to do
    -so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -SOFTWARE.
    -
    - - -
    - -
    -

    python-memcached - 1.53 -

    - - - - - -
    A. HISTORY OF THE SOFTWARE
    -==========================
    -
    -Python was created in the early 1990s by Guido van Rossum at Stichting
    -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    -as a successor of a language called ABC.  Guido remains Python's
    -principal author, although it includes many contributions from others.
    -
    -In 1995, Guido continued his work on Python at the Corporation for
    -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    -in Reston, Virginia where he released several versions of the
    -software.
    -
    -In May 2000, Guido and the Python core development team moved to
    -BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    -year, the PythonLabs team moved to Digital Creations (now Zope
    -Corporation, see http://www.zope.com).  In 2001, the Python Software
    -Foundation (PSF, see http://www.python.org/psf/) was formed, a
    -non-profit organization created specifically to own Python-related
    -Intellectual Property.  Zope Corporation is a sponsoring member of
    -the PSF.
    -
    -All Python releases are Open Source (see http://www.opensource.org for
    -the Open Source Definition).  Historically, most, but not all, Python
    -releases have also been GPL-compatible; the table below summarizes
    -the various releases.
    -
    -    Release         Derived     Year        Owner       GPL-
    -                    from                                compatible? (1)
    -
    -    0.9.0 thru 1.2              1991-1995   CWI         yes
    -    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    -    1.6             1.5.2       2000        CNRI        no
    -    2.0             1.6         2000        BeOpen.com  no
    -    1.6.1           1.6         2001        CNRI        yes (2)
    -    2.1             2.0+1.6.1   2001        PSF         no
    -    2.0.1           2.0+1.6.1   2001        PSF         yes
    -    2.1.1           2.1+2.0.1   2001        PSF         yes
    -    2.2             2.1.1       2001        PSF         yes
    -    2.1.2           2.1.1       2002        PSF         yes
    -    2.1.3           2.1.2       2002        PSF         yes
    -    2.2.1           2.2         2002        PSF         yes
    -    2.2.2           2.2.1       2002        PSF         yes
    -    2.2.3           2.2.2       2003        PSF         yes
    -    2.3             2.2.2       2002-2003   PSF         yes
    -    2.3.1           2.3         2002-2003   PSF         yes
    -    2.3.2           2.3.1       2002-2003   PSF         yes
    -    2.3.3           2.3.2       2002-2003   PSF         yes
    -    2.3.4           2.3.3       2004        PSF         yes
    -    2.3.5           2.3.4       2005        PSF         yes
    -    2.4             2.3         2004        PSF         yes
    -    2.4.1           2.4         2005        PSF         yes
    -    2.4.2           2.4.1       2005        PSF         yes
    -    2.4.3           2.4.2       2006        PSF         yes
    -    2.4.4           2.4.3       2006        PSF         yes
    -    2.5             2.4         2006        PSF         yes
    -    2.5.1           2.5         2007        PSF         yes
    -    2.5.2           2.5.2       2008        PSF         yes
    -
    -Footnotes:
    -
    -(1) GPL-compatible doesn't mean that we're distributing Python under
    -    the GPL.  All Python licenses, unlike the GPL, let you distribute
    -    a modified version without making your changes open source.  The
    -    GPL-compatible licenses make it possible to combine Python with
    -    other software that is released under the GPL; the others don't.
    -
    -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
    -    because its license has a choice of law clause.  According to
    -    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
    -    is "not incompatible" with the GPL.
    -
    -Thanks to the many outside volunteers who have worked under Guido's
    -direction to make these releases possible.
    -
    -
    -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    -===============================================================
    -
    -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
    ---------------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Python Software Foundation
    -("PSF"), and the Individual or Organization ("Licensee") accessing and
    -otherwise using this software ("Python") in source or binary form and
    -its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, PSF
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python
    -alone or in any derivative version, provided, however, that PSF's
    -License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; 
    -All Rights Reserved" are retained in Python alone or in any derivative 
    -version prepared by Licensee.
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python.
    -
    -4. PSF is making Python available to Licensee on an "AS IS"
    -basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. Nothing in this License Agreement shall be deemed to create any
    -relationship of agency, partnership, or joint venture between PSF and
    -Licensee.  This License Agreement does not grant permission to use PSF
    -trademarks or trade name in a trademark sense to endorse or promote
    -products or services of Licensee, or any third party.
    -
    -8. By copying, installing or otherwise using Python, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    --------------------------------------------
    -
    -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    -
    -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    -Individual or Organization ("Licensee") accessing and otherwise using
    -this software in source or binary form and its associated
    -documentation ("the Software").
    -
    -2. Subject to the terms and conditions of this BeOpen Python License
    -Agreement, BeOpen hereby grants Licensee a non-exclusive,
    -royalty-free, world-wide license to reproduce, analyze, test, perform
    -and/or display publicly, prepare derivative works, distribute, and
    -otherwise use the Software alone or in any derivative version,
    -provided, however, that the BeOpen Python License is retained in the
    -Software, alone or in any derivative version prepared by Licensee.
    -
    -3. BeOpen is making the Software available to Licensee on an "AS IS"
    -basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -5. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -6. This License Agreement shall be governed by and interpreted in all
    -respects by the law of the State of California, excluding conflict of
    -law provisions.  Nothing in this License Agreement shall be deemed to
    -create any relationship of agency, partnership, or joint venture
    -between BeOpen and Licensee.  This License Agreement does not grant
    -permission to use BeOpen trademarks or trade names in a trademark
    -sense to endorse or promote products or services of Licensee, or any
    -third party.  As an exception, the "BeOpen Python" logos available at
    -http://www.pythonlabs.com/logos.html may be used according to the
    -permissions granted on that web page.
    -
    -7. By copying, installing or otherwise using the software, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    ----------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Corporation for National
    -Research Initiatives, having an office at 1895 Preston White Drive,
    -Reston, VA 20191 ("CNRI"), and the Individual or Organization
    -("Licensee") accessing and otherwise using Python 1.6.1 software in
    -source or binary form and its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, CNRI
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 1.6.1
    -alone or in any derivative version, provided, however, that CNRI's
    -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    -1995-2001 Corporation for National Research Initiatives; All Rights
    -Reserved" are retained in Python 1.6.1 alone or in any derivative
    -version prepared by Licensee.  Alternately, in lieu of CNRI's License
    -Agreement, Licensee may substitute the following text (omitting the
    -quotes): "Python 1.6.1 is made available subject to the terms and
    -conditions in CNRI's License Agreement.  This Agreement together with
    -Python 1.6.1 may be located on the Internet using the following
    -unique, persistent identifier (known as a handle): 1895.22/1013.  This
    -Agreement may also be obtained from a proxy server on the Internet
    -using the following URL: http://hdl.handle.net/1895.22/1013".
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 1.6.1 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 1.6.1.
    -
    -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    -basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. This License Agreement shall be governed by the federal
    -intellectual property law of the United States, including without
    -limitation the federal copyright law, and, to the extent such
    -U.S. federal law does not apply, by the law of the Commonwealth of
    -Virginia, excluding Virginia's conflict of law provisions.
    -Notwithstanding the foregoing, with regard to derivative works based
    -on Python 1.6.1 that incorporate non-separable material that was
    -previously distributed under the GNU General Public License (GPL), the
    -law of the Commonwealth of Virginia shall govern this License
    -Agreement only as to issues arising under or with respect to
    -Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    -License Agreement shall be deemed to create any relationship of
    -agency, partnership, or joint venture between CNRI and Licensee.  This
    -License Agreement does not grant permission to use CNRI trademarks or
    -trade name in a trademark sense to endorse or promote products or
    -services of Licensee, or any third party.
    -
    -8. By clicking on the "ACCEPT" button where indicated, or by copying,
    -installing or otherwise using Python 1.6.1, Licensee agrees to be
    -bound by the terms and conditions of this License Agreement.
    -
    -        ACCEPT
    -
    -
    -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    ---------------------------------------------------
    -
    -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    -The Netherlands.  All rights reserved.
    -
    -Permission to use, copy, modify, and distribute this software and its
    -documentation for any purpose and without fee is hereby granted,
    -provided that the above copyright notice appear in all copies and that
    -both that copyright notice and this permission notice appear in
    -supporting documentation, and that the name of Stichting Mathematisch
    -Centrum or CWI not be used in advertising or publicity pertaining to
    -distribution of the software without specific, written prior
    -permission.
    -
    -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -
    -This copy of Python includes a copy of bzip2, which is licensed under the following terms:
    -
    -
    -This program, "bzip2", the associated library "libbzip2", and all
    -documentation, are copyright (C) 1996-2005 Julian R Seward.  All
    -rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions
    -are met:
    -
    -1. Redistributions of source code must retain the above copyright
    -   notice, this list of conditions and the following disclaimer.
    -
    -2. The origin of this software must not be misrepresented; you must 
    -   not claim that you wrote the original software.  If you use this 
    -   software in a product, an acknowledgment in the product 
    -   documentation would be appreciated but is not required.
    -
    -3. Altered source versions must be plainly marked as such, and must
    -   not be misrepresented as being the original software.
    -
    -4. The name of the author may not be used to endorse or promote 
    -   products derived from this software without specific prior written 
    -   permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
    -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
    -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -Julian Seward, Cambridge, UK.
    -jseward@acm.org
    -bzip2/libbzip2 version 1.0.3 of 15 February 2005
    -
    -
    -This copy of Python includes a copy of db, which is licensed under the following terms:
    -
    -/*-
    - * $Id: LICENSE,v 12.1 2005/06/16 20:20:10 bostic Exp $
    - */
    -
    -The following is the license that applies to this copy of the Berkeley DB
    -software.  For a license to use the Berkeley DB software under conditions
    -other than those described here, or to purchase support for this software,
    -please contact Sleepycat Software by email at info@sleepycat.com, or on
    -the Web at http://www.sleepycat.com.
    -
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    -/*
    - * Copyright (c) 1990-2005
    - *	Sleepycat Software.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. Redistributions in any form must be accompanied by information on
    - *    how to obtain complete source code for the DB software and any
    - *    accompanying software that uses the DB software.  The source code
    - *    must either be included in the distribution or be available for no
    - *    more than the cost of distribution plus a nominal fee, and must be
    - *    freely redistributable under reasonable conditions.  For an
    - *    executable file, complete source code means the source code for all
    - *    modules it contains.  It does not include source code for modules or
    - *    files that typically accompany the major components of the operating
    - *    system on which the executable file runs.
    - *
    - * THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY EXPRESS
    - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    - * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
    - * NON-INFRINGEMENT, ARE DISCLAIMED.  IN NO EVENT SHALL SLEEPYCAT SOFTWARE
    - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    - * THE POSSIBILITY OF SUCH DAMAGE.
    - */
    -/*
    - * Copyright (c) 1990, 1993, 1994, 1995
    - *	The Regents of the University of California.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. Neither the name of the University nor the names of its contributors
    - *    may be used to endorse or promote products derived from this software
    - *    without specific prior written permission.
    - *
    - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - */
    -/*
    - * Copyright (c) 1995, 1996
    - *	The President and Fellows of Harvard University.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. Neither the name of the University nor the names of its contributors
    - *    may be used to endorse or promote products derived from this software
    - *    without specific prior written permission.
    - *
    - * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - */
    -
    -This copy of Python includes a copy of openssl, which is licensed under the following terms:
    -
    -
    -  LICENSE ISSUES
    -  ==============
    -
    -  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
    -  the OpenSSL License and the original SSLeay license apply to the toolkit.
    -  See below for the actual license texts. Actually both licenses are BSD-style
    -  Open Source licenses. In case of any license issues related to OpenSSL
    -  please contact openssl-core@openssl.org.
    -
    -  OpenSSL License
    -  ---------------
    -
    -/* ====================================================================
    - * Copyright (c) 1998-2005 The OpenSSL Project.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - *
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer. 
    - *
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in
    - *    the documentation and/or other materials provided with the
    - *    distribution.
    - *
    - * 3. All advertising materials mentioning features or use of this
    - *    software must display the following acknowledgment:
    - *    "This product includes software developed by the OpenSSL Project
    - *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    - *
    - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    - *    endorse or promote products derived from this software without
    - *    prior written permission. For written permission, please contact
    - *    openssl-core@openssl.org.
    - *
    - * 5. Products derived from this software may not be called "OpenSSL"
    - *    nor may "OpenSSL" appear in their names without prior written
    - *    permission of the OpenSSL Project.
    - *
    - * 6. Redistributions of any form whatsoever must retain the following
    - *    acknowledgment:
    - *    "This product includes software developed by the OpenSSL Project
    - *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    - *
    - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    - * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    - * OF THE POSSIBILITY OF SUCH DAMAGE.
    - * ====================================================================
    - *
    - * This product includes cryptographic software written by Eric Young
    - * (eay@cryptsoft.com).  This product includes software written by Tim
    - * Hudson (tjh@cryptsoft.com).
    - *
    - */
    -
    - Original SSLeay License
    - -----------------------
    -
    -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    - * All rights reserved.
    - *
    - * This package is an SSL implementation written
    - * by Eric Young (eay@cryptsoft.com).
    - * The implementation was written so as to conform with Netscapes SSL.
    - * 
    - * This library is free for commercial and non-commercial use as long as
    - * the following conditions are aheared to.  The following conditions
    - * apply to all code found in this distribution, be it the RC4, RSA,
    - * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    - * included with this distribution is covered by the same copyright terms
    - * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    - * 
    - * Copyright remains Eric Young's, and as such any Copyright notices in
    - * the code are not to be removed.
    - * If this package is used in a product, Eric Young should be given attribution
    - * as the author of the parts of the library used.
    - * This can be in the form of a textual message at program startup or
    - * in documentation (online or textual) provided with the package.
    - * 
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. All advertising materials mentioning features or use of this software
    - *    must display the following acknowledgement:
    - *    "This product includes cryptographic software written by
    - *     Eric Young (eay@cryptsoft.com)"
    - *    The word 'cryptographic' can be left out if the rouines from the library
    - *    being used are not cryptographic related :-).
    - * 4. If you include any Windows specific code (or a derivative thereof) from 
    - *    the apps directory (application code) you must include an acknowledgement:
    - *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    - * 
    - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - * 
    - * The licence and distribution terms for any publically available version or
    - * derivative of this code cannot be changed.  i.e. this code cannot simply be
    - * copied and put under another distribution licence
    - * [including the GNU Public Licence.]
    - */
    -
    -
    -This copy of Python includes a copy of tcl, which is licensed under the following terms:
    -
    -This software is copyrighted by the Regents of the University of
    -California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
    -Corporation and other parties.  The following terms apply to all files
    -associated with the software unless explicitly disclaimed in
    -individual files.
    -
    -The authors hereby grant permission to use, copy, modify, distribute,
    -and license this software and its documentation for any purpose, provided
    -that existing copyright notices are retained in all copies and that this
    -notice is included verbatim in any distributions. No written agreement,
    -license, or royalty fee is required for any of the authorized uses.
    -Modifications to this software may be copyrighted by their authors
    -and need not follow the licensing terms described here, provided that
    -the new terms are clearly indicated on the first page of each file where
    -they apply.
    -
    -IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    -FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    -ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    -DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    -THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    -IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    -NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    -MODIFICATIONS.
    -
    -GOVERNMENT USE: If you are acquiring this software on behalf of the
    -U.S. government, the Government shall have only "Restricted Rights"
    -in the software and related documentation as defined in the Federal 
    -Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    -are acquiring the software on behalf of the Department of Defense, the
    -software shall be classified as "Commercial Computer Software" and the
    -Government shall have only "Restricted Rights" as defined in Clause
    -252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    -authors grant the U.S. Government and others acting in its behalf
    -permission to use and distribute the software in accordance with the
    -terms specified in this license. 
    -
    -This copy of Python includes a copy of tk, which is licensed under the following terms:
    -
    -This software is copyrighted by the Regents of the University of
    -California, Sun Microsystems, Inc., and other parties.  The following
    -terms apply to all files associated with the software unless explicitly
    -disclaimed in individual files.
    -
    -The authors hereby grant permission to use, copy, modify, distribute,
    -and license this software and its documentation for any purpose, provided
    -that existing copyright notices are retained in all copies and that this
    -notice is included verbatim in any distributions. No written agreement,
    -license, or royalty fee is required for any of the authorized uses.
    -Modifications to this software may be copyrighted by their authors
    -and need not follow the licensing terms described here, provided that
    -the new terms are clearly indicated on the first page of each file where
    -they apply.
    -
    -IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    -FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    -ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    -DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    -THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    -IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    -NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    -MODIFICATIONS.
    -
    -GOVERNMENT USE: If you are acquiring this software on behalf of the
    -U.S. government, the Government shall have only "Restricted Rights"
    -in the software and related documentation as defined in the Federal 
    -Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    -are acquiring the software on behalf of the Department of Defense, the
    -software shall be classified as "Commercial Computer Software" and the
    -Government shall have only "Restricted Rights" as defined in Clause
    -252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    -authors grant the U.S. Government and others acting in its behalf
    -permission to use and distribute the software in accordance with the
    -terms specified in this license.
    -
    - - -
    - -
    -

    virtualenv - 12.0.5 -

    - - -
    Copyright (c) 2007 Ian Bicking and Contributors
    -Copyright (c) 2009 Ian Bicking, The Open Planning Project
    -Copyright (c) 2011-2015 The virtualenv developers
    - - - - -
    Copyright (c) 2007 Ian Bicking and Contributors
    -Copyright (c) 2009 Ian Bicking, The Open Planning Project
    -Copyright (c) 2011-2014 The virtualenv developers
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    - - -
    - -
    -

    ABOUT tool - 0.9.0 -

    - - -
    Copyright (c) 2014 nexB, Inc.
    - - -
     Copyright (c) 2014 nexB, Inc. http://www.nexb.com/ - All rights reserved.
    -Licensed under the Apache License, Version 2.0 (the "License");
    -you may not use this file except in compliance with the License.
    -You may obtain a copy of the License at
    -    http://www.apache.org/licenses/LICENSE-2.0
    -Unless required by applicable law or agreed to in writing, software
    -distributed under the License is distributed on an "AS IS" BASIS,
    -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -See the License for the specific language governing permissions and
    -limitations under the License.
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    Beautiful Soup - 4.4.0 -

    - - - - - -
    Beautiful Soup is made available under the MIT license:
    -
    - Copyright (c) 2004-2012 Leonard Richardson
    -
    - Permission is hereby granted, free of charge, to any person obtaining
    - a copy of this software and associated documentation files (the
    - "Software"), to deal in the Software without restriction, including
    - without limitation the rights to use, copy, modify, merge, publish,
    - distribute, sublicense, and/or sell copies of the Software, and to
    - permit persons to whom the Software is furnished to do so, subject to
    - the following conditions:
    -
    - The above copyright notice and this permission notice shall be
    - included in all copies or substantial portions of the Software.
    -
    - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    - SOFTWARE, DAMMIT.
    -
    -Beautiful Soup incorporates code from the html5lib library, which is
    -also made available under the MIT license.
    -
    - - -
    - -
    -

    Django - 1.8.4 -

    - - - - - -
    Copyright (c) Django Software Foundation and individual contributors.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    1. Redistributions of source code must retain the above copyright notice, 
    -       this list of conditions and the following disclaimer.
    -    
    -    2. Redistributions in binary form must reproduce the above copyright 
    -       notice, this list of conditions and the following disclaimer in the
    -       documentation and/or other materials provided with the distribution.
    -
    -    3. Neither the name of Django nor the names of its contributors may be used
    -       to endorse or promote products derived from this software without
    -       specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    anyjson - 0.3.3 -

    - - - - - -
    This software is licensed under the ``New BSD License``:
    -
    -Copyright (c) 2009, by the authors
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -      this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -      notice, this list of conditions and the following disclaimer in the
    -      documentation and/or other materials provided with the distribution.
    -
    -Neither the name of the authors nor the names of its contributors may be used
    -to endorse or promote products derived from this software without specific
    -prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
    -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    pyreadline - 2.0 -

    - - -
    Copyright (c) 2006 Jorgen Stenarson .
    -Copyright (c) 2003-2006 Gary Bishop
    -Copyright (c) 2003-2006 Jack Trainor
    - - - - -
    pyreadline copyright and licensing notes
    -========================================
    -
    -Unless indicated otherwise, files in this project are covered by a BSD-type
    -license, included below.
    -
    -Individual authors are the holders of the copyright for their code and are
    -listed in each file.
    -
    -Some files may be licensed under different conditions. Ultimately each file 
    -indicates clearly the conditions under which its author/authors have 
    -decided to publish the code.
    -
    -
    -pyreadline license
    -------------------
    -
    -pyreadline is released under a BSD-type license.
    -
    -Copyright (c) 2006 J�rgen Stenarson <jorgen.stenarson@bostream.nu>.
    -
    -Copyright (c) 2003-2006 Gary Bishop
    -
    -Copyright (c) 2003-2006 Jack Trainor
    -
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -  a. Redistributions of source code must retain the above copyright notice,
    -     this list of conditions and the following disclaimer.
    -
    -  b. Redistributions in binary form must reproduce the above copyright
    -     notice, this list of conditions and the following disclaimer in the
    -     documentation and/or other materials provided with the distribution.
    -
    -  c. Neither the name of the copyright holders nor the names of any
    -     contributors to this software may be used to endorse or promote products
    -     derived from this software without specific prior written permission.
    -
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
    -DAMAGE.
    -
    - - -
    - -
    -

    gnureadline - 6.3.3 -

    - - - - - -
                        GNU GENERAL PUBLIC LICENSE
    -                       Version 3, 29 June 2007
    -
    - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -                            Preamble
    -
    -  The GNU General Public License is a free, copyleft license for
    -software and other kinds of works.
    -
    -  The licenses for most software and other practical works are designed
    -to take away your freedom to share and change the works.  By contrast,
    -the GNU General Public License is intended to guarantee your freedom to
    -share and change all versions of a program--to make sure it remains free
    -software for all its users.  We, the Free Software Foundation, use the
    -GNU General Public License for most of our software; it applies also to
    -any other work released this way by its authors.  You can apply it to
    -your programs, too.
    -
    -  When we speak of free software, we are referring to freedom, not
    -price.  Our General Public Licenses are designed to make sure that you
    -have the freedom to distribute copies of free software (and charge for
    -them if you wish), that you receive source code or can get it if you
    -want it, that you can change the software or use pieces of it in new
    -free programs, and that you know you can do these things.
    -
    -  To protect your rights, we need to prevent others from denying you
    -these rights or asking you to surrender the rights.  Therefore, you have
    -certain responsibilities if you distribute copies of the software, or if
    -you modify it: responsibilities to respect the freedom of others.
    -
    -  For example, if you distribute copies of such a program, whether
    -gratis or for a fee, you must pass on to the recipients the same
    -freedoms that you received.  You must make sure that they, too, receive
    -or can get the source code.  And you must show them these terms so they
    -know their rights.
    -
    -  Developers that use the GNU GPL protect your rights with two steps:
    -(1) assert copyright on the software, and (2) offer you this License
    -giving you legal permission to copy, distribute and/or modify it.
    -
    -  For the developers' and authors' protection, the GPL clearly explains
    -that there is no warranty for this free software.  For both users' and
    -authors' sake, the GPL requires that modified versions be marked as
    -changed, so that their problems will not be attributed erroneously to
    -authors of previous versions.
    -
    -  Some devices are designed to deny users access to install or run
    -modified versions of the software inside them, although the manufacturer
    -can do so.  This is fundamentally incompatible with the aim of
    -protecting users' freedom to change the software.  The systematic
    -pattern of such abuse occurs in the area of products for individuals to
    -use, which is precisely where it is most unacceptable.  Therefore, we
    -have designed this version of the GPL to prohibit the practice for those
    -products.  If such problems arise substantially in other domains, we
    -stand ready to extend this provision to those domains in future versions
    -of the GPL, as needed to protect the freedom of users.
    -
    -  Finally, every program is threatened constantly by software patents.
    -States should not allow patents to restrict development and use of
    -software on general-purpose computers, but in those that do, we wish to
    -avoid the special danger that patents applied to a free program could
    -make it effectively proprietary.  To prevent this, the GPL assures that
    -patents cannot be used to render the program non-free.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.
    -
    -                       TERMS AND CONDITIONS
    -
    -  0. Definitions.
    -
    -  "This License" refers to version 3 of the GNU General Public License.
    -
    -  "Copyright" also means copyright-like laws that apply to other kinds of
    -works, such as semiconductor masks.
    -
    -  "The Program" refers to any copyrightable work licensed under this
    -License.  Each licensee is addressed as "you".  "Licensees" and
    -"recipients" may be individuals or organizations.
    -
    -  To "modify" a work means to copy from or adapt all or part of the work
    -in a fashion requiring copyright permission, other than the making of an
    -exact copy.  The resulting work is called a "modified version" of the
    -earlier work or a work "based on" the earlier work.
    -
    -  A "covered work" means either the unmodified Program or a work based
    -on the Program.
    -
    -  To "propagate" a work means to do anything with it that, without
    -permission, would make you directly or secondarily liable for
    -infringement under applicable copyright law, except executing it on a
    -computer or modifying a private copy.  Propagation includes copying,
    -distribution (with or without modification), making available to the
    -public, and in some countries other activities as well.
    -
    -  To "convey" a work means any kind of propagation that enables other
    -parties to make or receive copies.  Mere interaction with a user through
    -a computer network, with no transfer of a copy, is not conveying.
    -
    -  An interactive user interface displays "Appropriate Legal Notices"
    -to the extent that it includes a convenient and prominently visible
    -feature that (1) displays an appropriate copyright notice, and (2)
    -tells the user that there is no warranty for the work (except to the
    -extent that warranties are provided), that licensees may convey the
    -work under this License, and how to view a copy of this License.  If
    -the interface presents a list of user commands or options, such as a
    -menu, a prominent item in the list meets this criterion.
    -
    -  1. Source Code.
    -
    -  The "source code" for a work means the preferred form of the work
    -for making modifications to it.  "Object code" means any non-source
    -form of a work.
    -
    -  A "Standard Interface" means an interface that either is an official
    -standard defined by a recognized standards body, or, in the case of
    -interfaces specified for a particular programming language, one that
    -is widely used among developers working in that language.
    -
    -  The "System Libraries" of an executable work include anything, other
    -than the work as a whole, that (a) is included in the normal form of
    -packaging a Major Component, but which is not part of that Major
    -Component, and (b) serves only to enable use of the work with that
    -Major Component, or to implement a Standard Interface for which an
    -implementation is available to the public in source code form.  A
    -"Major Component", in this context, means a major essential component
    -(kernel, window system, and so on) of the specific operating system
    -(if any) on which the executable work runs, or a compiler used to
    -produce the work, or an object code interpreter used to run it.
    -
    -  The "Corresponding Source" for a work in object code form means all
    -the source code needed to generate, install, and (for an executable
    -work) run the object code and to modify the work, including scripts to
    -control those activities.  However, it does not include the work's
    -System Libraries, or general-purpose tools or generally available free
    -programs which are used unmodified in performing those activities but
    -which are not part of the work.  For example, Corresponding Source
    -includes interface definition files associated with source files for
    -the work, and the source code for shared libraries and dynamically
    -linked subprograms that the work is specifically designed to require,
    -such as by intimate data communication or control flow between those
    -subprograms and other parts of the work.
    -
    -  The Corresponding Source need not include anything that users
    -can regenerate automatically from other parts of the Corresponding
    -Source.
    -
    -  The Corresponding Source for a work in source code form is that
    -same work.
    -
    -  2. Basic Permissions.
    -
    -  All rights granted under this License are granted for the term of
    -copyright on the Program, and are irrevocable provided the stated
    -conditions are met.  This License explicitly affirms your unlimited
    -permission to run the unmodified Program.  The output from running a
    -covered work is covered by this License only if the output, given its
    -content, constitutes a covered work.  This License acknowledges your
    -rights of fair use or other equivalent, as provided by copyright law.
    -
    -  You may make, run and propagate covered works that you do not
    -convey, without conditions so long as your license otherwise remains
    -in force.  You may convey covered works to others for the sole purpose
    -of having them make modifications exclusively for you, or provide you
    -with facilities for running those works, provided that you comply with
    -the terms of this License in conveying all material for which you do
    -not control copyright.  Those thus making or running the covered works
    -for you must do so exclusively on your behalf, under your direction
    -and control, on terms that prohibit them from making any copies of
    -your copyrighted material outside their relationship with you.
    -
    -  Conveying under any other circumstances is permitted solely under
    -the conditions stated below.  Sublicensing is not allowed; section 10
    -makes it unnecessary.
    -
    -  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    -
    -  No covered work shall be deemed part of an effective technological
    -measure under any applicable law fulfilling obligations under article
    -11 of the WIPO copyright treaty adopted on 20 December 1996, or
    -similar laws prohibiting or restricting circumvention of such
    -measures.
    -
    -  When you convey a covered work, you waive any legal power to forbid
    -circumvention of technological measures to the extent such circumvention
    -is effected by exercising rights under this License with respect to
    -the covered work, and you disclaim any intention to limit operation or
    -modification of the work as a means of enforcing, against the work's
    -users, your or third parties' legal rights to forbid circumvention of
    -technological measures.
    -
    -  4. Conveying Verbatim Copies.
    -
    -  You may convey verbatim copies of the Program's source code as you
    -receive it, in any medium, provided that you conspicuously and
    -appropriately publish on each copy an appropriate copyright notice;
    -keep intact all notices stating that this License and any
    -non-permissive terms added in accord with section 7 apply to the code;
    -keep intact all notices of the absence of any warranty; and give all
    -recipients a copy of this License along with the Program.
    -
    -  You may charge any price or no price for each copy that you convey,
    -and you may offer support or warranty protection for a fee.
    -
    -  5. Conveying Modified Source Versions.
    -
    -  You may convey a work based on the Program, or the modifications to
    -produce it from the Program, in the form of source code under the
    -terms of section 4, provided that you also meet all of these conditions:
    -
    -    a) The work must carry prominent notices stating that you modified
    -    it, and giving a relevant date.
    -
    -    b) The work must carry prominent notices stating that it is
    -    released under this License and any conditions added under section
    -    7.  This requirement modifies the requirement in section 4 to
    -    "keep intact all notices".
    -
    -    c) You must license the entire work, as a whole, under this
    -    License to anyone who comes into possession of a copy.  This
    -    License will therefore apply, along with any applicable section 7
    -    additional terms, to the whole of the work, and all its parts,
    -    regardless of how they are packaged.  This License gives no
    -    permission to license the work in any other way, but it does not
    -    invalidate such permission if you have separately received it.
    -
    -    d) If the work has interactive user interfaces, each must display
    -    Appropriate Legal Notices; however, if the Program has interactive
    -    interfaces that do not display Appropriate Legal Notices, your
    -    work need not make them do so.
    -
    -  A compilation of a covered work with other separate and independent
    -works, which are not by their nature extensions of the covered work,
    -and which are not combined with it such as to form a larger program,
    -in or on a volume of a storage or distribution medium, is called an
    -"aggregate" if the compilation and its resulting copyright are not
    -used to limit the access or legal rights of the compilation's users
    -beyond what the individual works permit.  Inclusion of a covered work
    -in an aggregate does not cause this License to apply to the other
    -parts of the aggregate.
    -
    -  6. Conveying Non-Source Forms.
    -
    -  You may convey a covered work in object code form under the terms
    -of sections 4 and 5, provided that you also convey the
    -machine-readable Corresponding Source under the terms of this License,
    -in one of these ways:
    -
    -    a) Convey the object code in, or embodied in, a physical product
    -    (including a physical distribution medium), accompanied by the
    -    Corresponding Source fixed on a durable physical medium
    -    customarily used for software interchange.
    -
    -    b) Convey the object code in, or embodied in, a physical product
    -    (including a physical distribution medium), accompanied by a
    -    written offer, valid for at least three years and valid for as
    -    long as you offer spare parts or customer support for that product
    -    model, to give anyone who possesses the object code either (1) a
    -    copy of the Corresponding Source for all the software in the
    -    product that is covered by this License, on a durable physical
    -    medium customarily used for software interchange, for a price no
    -    more than your reasonable cost of physically performing this
    -    conveying of source, or (2) access to copy the
    -    Corresponding Source from a network server at no charge.
    -
    -    c) Convey individual copies of the object code with a copy of the
    -    written offer to provide the Corresponding Source.  This
    -    alternative is allowed only occasionally and noncommercially, and
    -    only if you received the object code with such an offer, in accord
    -    with subsection 6b.
    -
    -    d) Convey the object code by offering access from a designated
    -    place (gratis or for a charge), and offer equivalent access to the
    -    Corresponding Source in the same way through the same place at no
    -    further charge.  You need not require recipients to copy the
    -    Corresponding Source along with the object code.  If the place to
    -    copy the object code is a network server, the Corresponding Source
    -    may be on a different server (operated by you or a third party)
    -    that supports equivalent copying facilities, provided you maintain
    -    clear directions next to the object code saying where to find the
    -    Corresponding Source.  Regardless of what server hosts the
    -    Corresponding Source, you remain obligated to ensure that it is
    -    available for as long as needed to satisfy these requirements.
    -
    -    e) Convey the object code using peer-to-peer transmission, provided
    -    you inform other peers where the object code and Corresponding
    -    Source of the work are being offered to the general public at no
    -    charge under subsection 6d.
    -
    -  A separable portion of the object code, whose source code is excluded
    -from the Corresponding Source as a System Library, need not be
    -included in conveying the object code work.
    -
    -  A "User Product" is either (1) a "consumer product", which means any
    -tangible personal property which is normally used for personal, family,
    -or household purposes, or (2) anything designed or sold for incorporation
    -into a dwelling.  In determining whether a product is a consumer product,
    -doubtful cases shall be resolved in favor of coverage.  For a particular
    -product received by a particular user, "normally used" refers to a
    -typical or common use of that class of product, regardless of the status
    -of the particular user or of the way in which the particular user
    -actually uses, or expects or is expected to use, the product.  A product
    -is a consumer product regardless of whether the product has substantial
    -commercial, industrial or non-consumer uses, unless such uses represent
    -the only significant mode of use of the product.
    -
    -  "Installation Information" for a User Product means any methods,
    -procedures, authorization keys, or other information required to install
    -and execute modified versions of a covered work in that User Product from
    -a modified version of its Corresponding Source.  The information must
    -suffice to ensure that the continued functioning of the modified object
    -code is in no case prevented or interfered with solely because
    -modification has been made.
    -
    -  If you convey an object code work under this section in, or with, or
    -specifically for use in, a User Product, and the conveying occurs as
    -part of a transaction in which the right of possession and use of the
    -User Product is transferred to the recipient in perpetuity or for a
    -fixed term (regardless of how the transaction is characterized), the
    -Corresponding Source conveyed under this section must be accompanied
    -by the Installation Information.  But this requirement does not apply
    -if neither you nor any third party retains the ability to install
    -modified object code on the User Product (for example, the work has
    -been installed in ROM).
    -
    -  The requirement to provide Installation Information does not include a
    -requirement to continue to provide support service, warranty, or updates
    -for a work that has been modified or installed by the recipient, or for
    -the User Product in which it has been modified or installed.  Access to a
    -network may be denied when the modification itself materially and
    -adversely affects the operation of the network or violates the rules and
    -protocols for communication across the network.
    -
    -  Corresponding Source conveyed, and Installation Information provided,
    -in accord with this section must be in a format that is publicly
    -documented (and with an implementation available to the public in
    -source code form), and must require no special password or key for
    -unpacking, reading or copying.
    -
    -  7. Additional Terms.
    -
    -  "Additional permissions" are terms that supplement the terms of this
    -License by making exceptions from one or more of its conditions.
    -Additional permissions that are applicable to the entire Program shall
    -be treated as though they were included in this License, to the extent
    -that they are valid under applicable law.  If additional permissions
    -apply only to part of the Program, that part may be used separately
    -under those permissions, but the entire Program remains governed by
    -this License without regard to the additional permissions.
    -
    -  When you convey a copy of a covered work, you may at your option
    -remove any additional permissions from that copy, or from any part of
    -it.  (Additional permissions may be written to require their own
    -removal in certain cases when you modify the work.)  You may place
    -additional permissions on material, added by you to a covered work,
    -for which you have or can give appropriate copyright permission.
    -
    -  Notwithstanding any other provision of this License, for material you
    -add to a covered work, you may (if authorized by the copyright holders of
    -that material) supplement the terms of this License with terms:
    -
    -    a) Disclaiming warranty or limiting liability differently from the
    -    terms of sections 15 and 16 of this License; or
    -
    -    b) Requiring preservation of specified reasonable legal notices or
    -    author attributions in that material or in the Appropriate Legal
    -    Notices displayed by works containing it; or
    -
    -    c) Prohibiting misrepresentation of the origin of that material, or
    -    requiring that modified versions of such material be marked in
    -    reasonable ways as different from the original version; or
    -
    -    d) Limiting the use for publicity purposes of names of licensors or
    -    authors of the material; or
    -
    -    e) Declining to grant rights under trademark law for use of some
    -    trade names, trademarks, or service marks; or
    -
    -    f) Requiring indemnification of licensors and authors of that
    -    material by anyone who conveys the material (or modified versions of
    -    it) with contractual assumptions of liability to the recipient, for
    -    any liability that these contractual assumptions directly impose on
    -    those licensors and authors.
    -
    -  All other non-permissive additional terms are considered "further
    -restrictions" within the meaning of section 10.  If the Program as you
    -received it, or any part of it, contains a notice stating that it is
    -governed by this License along with a term that is a further
    -restriction, you may remove that term.  If a license document contains
    -a further restriction but permits relicensing or conveying under this
    -License, you may add to a covered work material governed by the terms
    -of that license document, provided that the further restriction does
    -not survive such relicensing or conveying.
    -
    -  If you add terms to a covered work in accord with this section, you
    -must place, in the relevant source files, a statement of the
    -additional terms that apply to those files, or a notice indicating
    -where to find the applicable terms.
    -
    -  Additional terms, permissive or non-permissive, may be stated in the
    -form of a separately written license, or stated as exceptions;
    -the above requirements apply either way.
    -
    -  8. Termination.
    -
    -  You may not propagate or modify a covered work except as expressly
    -provided under this License.  Any attempt otherwise to propagate or
    -modify it is void, and will automatically terminate your rights under
    -this License (including any patent licenses granted under the third
    -paragraph of section 11).
    -
    -  However, if you cease all violation of this License, then your
    -license from a particular copyright holder is reinstated (a)
    -provisionally, unless and until the copyright holder explicitly and
    -finally terminates your license, and (b) permanently, if the copyright
    -holder fails to notify you of the violation by some reasonable means
    -prior to 60 days after the cessation.
    -
    -  Moreover, your license from a particular copyright holder is
    -reinstated permanently if the copyright holder notifies you of the
    -violation by some reasonable means, this is the first time you have
    -received notice of violation of this License (for any work) from that
    -copyright holder, and you cure the violation prior to 30 days after
    -your receipt of the notice.
    -
    -  Termination of your rights under this section does not terminate the
    -licenses of parties who have received copies or rights from you under
    -this License.  If your rights have been terminated and not permanently
    -reinstated, you do not qualify to receive new licenses for the same
    -material under section 10.
    -
    -  9. Acceptance Not Required for Having Copies.
    -
    -  You are not required to accept this License in order to receive or
    -run a copy of the Program.  Ancillary propagation of a covered work
    -occurring solely as a consequence of using peer-to-peer transmission
    -to receive a copy likewise does not require acceptance.  However,
    -nothing other than this License grants you permission to propagate or
    -modify any covered work.  These actions infringe copyright if you do
    -not accept this License.  Therefore, by modifying or propagating a
    -covered work, you indicate your acceptance of this License to do so.
    -
    -  10. Automatic Licensing of Downstream Recipients.
    -
    -  Each time you convey a covered work, the recipient automatically
    -receives a license from the original licensors, to run, modify and
    -propagate that work, subject to this License.  You are not responsible
    -for enforcing compliance by third parties with this License.
    -
    -  An "entity transaction" is a transaction transferring control of an
    -organization, or substantially all assets of one, or subdividing an
    -organization, or merging organizations.  If propagation of a covered
    -work results from an entity transaction, each party to that
    -transaction who receives a copy of the work also receives whatever
    -licenses to the work the party's predecessor in interest had or could
    -give under the previous paragraph, plus a right to possession of the
    -Corresponding Source of the work from the predecessor in interest, if
    -the predecessor has it or can get it with reasonable efforts.
    -
    -  You may not impose any further restrictions on the exercise of the
    -rights granted or affirmed under this License.  For example, you may
    -not impose a license fee, royalty, or other charge for exercise of
    -rights granted under this License, and you may not initiate litigation
    -(including a cross-claim or counterclaim in a lawsuit) alleging that
    -any patent claim is infringed by making, using, selling, offering for
    -sale, or importing the Program or any portion of it.
    -
    -  11. Patents.
    -
    -  A "contributor" is a copyright holder who authorizes use under this
    -License of the Program or a work on which the Program is based.  The
    -work thus licensed is called the contributor's "contributor version".
    -
    -  A contributor's "essential patent claims" are all patent claims
    -owned or controlled by the contributor, whether already acquired or
    -hereafter acquired, that would be infringed by some manner, permitted
    -by this License, of making, using, or selling its contributor version,
    -but do not include claims that would be infringed only as a
    -consequence of further modification of the contributor version.  For
    -purposes of this definition, "control" includes the right to grant
    -patent sublicenses in a manner consistent with the requirements of
    -this License.
    -
    -  Each contributor grants you a non-exclusive, worldwide, royalty-free
    -patent license under the contributor's essential patent claims, to
    -make, use, sell, offer for sale, import and otherwise run, modify and
    -propagate the contents of its contributor version.
    -
    -  In the following three paragraphs, a "patent license" is any express
    -agreement or commitment, however denominated, not to enforce a patent
    -(such as an express permission to practice a patent or covenant not to
    -sue for patent infringement).  To "grant" such a patent license to a
    -party means to make such an agreement or commitment not to enforce a
    -patent against the party.
    -
    -  If you convey a covered work, knowingly relying on a patent license,
    -and the Corresponding Source of the work is not available for anyone
    -to copy, free of charge and under the terms of this License, through a
    -publicly available network server or other readily accessible means,
    -then you must either (1) cause the Corresponding Source to be so
    -available, or (2) arrange to deprive yourself of the benefit of the
    -patent license for this particular work, or (3) arrange, in a manner
    -consistent with the requirements of this License, to extend the patent
    -license to downstream recipients.  "Knowingly relying" means you have
    -actual knowledge that, but for the patent license, your conveying the
    -covered work in a country, or your recipient's use of the covered work
    -in a country, would infringe one or more identifiable patents in that
    -country that you have reason to believe are valid.
    -
    -  If, pursuant to or in connection with a single transaction or
    -arrangement, you convey, or propagate by procuring conveyance of, a
    -covered work, and grant a patent license to some of the parties
    -receiving the covered work authorizing them to use, propagate, modify
    -or convey a specific copy of the covered work, then the patent license
    -you grant is automatically extended to all recipients of the covered
    -work and works based on it.
    -
    -  A patent license is "discriminatory" if it does not include within
    -the scope of its coverage, prohibits the exercise of, or is
    -conditioned on the non-exercise of one or more of the rights that are
    -specifically granted under this License.  You may not convey a covered
    -work if you are a party to an arrangement with a third party that is
    -in the business of distributing software, under which you make payment
    -to the third party based on the extent of your activity of conveying
    -the work, and under which the third party grants, to any of the
    -parties who would receive the covered work from you, a discriminatory
    -patent license (a) in connection with copies of the covered work
    -conveyed by you (or copies made from those copies), or (b) primarily
    -for and in connection with specific products or compilations that
    -contain the covered work, unless you entered into that arrangement,
    -or that patent license was granted, prior to 28 March 2007.
    -
    -  Nothing in this License shall be construed as excluding or limiting
    -any implied license or other defenses to infringement that may
    -otherwise be available to you under applicable patent law.
    -
    -  12. No Surrender of Others' Freedom.
    -
    -  If conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot convey a
    -covered work so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you may
    -not convey it at all.  For example, if you agree to terms that obligate you
    -to collect a royalty for further conveying from those to whom you convey
    -the Program, the only way you could satisfy both those terms and this
    -License would be to refrain entirely from conveying the Program.
    -
    -  13. Use with the GNU Affero General Public License.
    -
    -  Notwithstanding any other provision of this License, you have
    -permission to link or combine any covered work with a work licensed
    -under version 3 of the GNU Affero General Public License into a single
    -combined work, and to convey the resulting work.  The terms of this
    -License will continue to apply to the part which is the covered work,
    -but the special requirements of the GNU Affero General Public License,
    -section 13, concerning interaction through a network will apply to the
    -combination as such.
    -
    -  14. Revised Versions of this License.
    -
    -  The Free Software Foundation may publish revised and/or new versions of
    -the GNU General Public License from time to time.  Such new versions will
    -be similar in spirit to the present version, but may differ in detail to
    -address new problems or concerns.
    -
    -  Each version is given a distinguishing version number.  If the
    -Program specifies that a certain numbered version of the GNU General
    -Public License "or any later version" applies to it, you have the
    -option of following the terms and conditions either of that numbered
    -version or of any later version published by the Free Software
    -Foundation.  If the Program does not specify a version number of the
    -GNU General Public License, you may choose any version ever published
    -by the Free Software Foundation.
    -
    -  If the Program specifies that a proxy can decide which future
    -versions of the GNU General Public License can be used, that proxy's
    -public statement of acceptance of a version permanently authorizes you
    -to choose that version for the Program.
    -
    -  Later license versions may give you additional or different
    -permissions.  However, no additional obligations are imposed on any
    -author or copyright holder as a result of your choosing to follow a
    -later version.
    -
    -  15. Disclaimer of Warranty.
    -
    -  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    -APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    -IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    -ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    -
    -  16. Limitation of Liability.
    -
    -  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGES.
    -
    -  17. Interpretation of Sections 15 and 16.
    -
    -  If the disclaimer of warranty and limitation of liability provided
    -above cannot be given local legal effect according to their terms,
    -reviewing courts shall apply local law that most closely approximates
    -an absolute waiver of all civil liability in connection with the
    -Program, unless a warranty or assumption of liability accompanies a
    -copy of the Program in return for a fee.
    -
    -                     END OF TERMS AND CONDITIONS
    -
    -            How to Apply These Terms to Your New Programs
    -
    -  If you develop a new program, and you want it to be of the greatest
    -possible use to the public, the best way to achieve this is to make it
    -free software which everyone can redistribute and change under these terms.
    -
    -  To do so, attach the following notices to the program.  It is safest
    -to attach them to the start of each source file to most effectively
    -state the exclusion of warranty; and each file should have at least
    -the "copyright" line and a pointer to where the full notice is found.
    -
    -    <one line to give the program's name and a brief idea of what it does.>
    -    Copyright (C) <year>  <name of author>
    -
    -    This program is free software: you can redistribute it and/or modify
    -    it under the terms of the GNU General Public License as published by
    -    the Free Software Foundation, either version 3 of the License, or
    -    (at your option) any later version.
    -
    -    This program is distributed in the hope that it will be useful,
    -    but WITHOUT ANY WARRANTY; without even the implied warranty of
    -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -    GNU General Public License for more details.
    -
    -    You should have received a copy of the GNU General Public License
    -    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    -
    -Also add information on how to contact you by electronic and paper mail.
    -
    -  If the program does terminal interaction, make it output a short
    -notice like this when it starts in an interactive mode:
    -
    -    <program>  Copyright (C) <year>  <name of author>
    -    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    -    This is free software, and you are welcome to redistribute it
    -    under certain conditions; type `show c' for details.
    -
    -The hypothetical commands `show w' and `show c' should show the appropriate
    -parts of the General Public License.  Of course, your program's commands
    -might be different; for a GUI interface, you would use an "about box".
    -
    -  You should also get your employer (if you work as a programmer) or school,
    -if any, to sign a "copyright disclaimer" for the program, if necessary.
    -For more information on this, and how to apply and follow the GNU GPL, see
    -<http://www.gnu.org/licenses/>.
    -
    -  The GNU General Public License does not permit incorporating your program
    -into proprietary programs.  If your program is a subroutine library, you
    -may consider it more useful to permit linking proprietary applications with
    -the library.  If this is what you want to do, use the GNU Lesser General
    -Public License instead of this License.  But first, please read
    -<http://www.gnu.org/philosophy/why-not-lgpl.html>.
    -
    - - -
    - -
    -

    urllib3 - 1.12 -

    - - - - - -
    This is the MIT license: http://www.opensource.org/licenses/mit-license.php
    -
    -Copyright 2008-2013 Andrey Petrov and contributors (see CONTRIBUTORS.txt)
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of this
    -software and associated documentation files (the "Software"), to deal in the Software
    -without restriction, including without limitation the rights to use, copy, modify, merge,
    -publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
    -to whom the Software is furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all copies or
    -substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
    -FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    -DEALINGS IN THE SOFTWARE.
    -
    - - -
    - -
    -

    pycrypto - 2.6 -

    - - - - - -
    Copyright and licensing of the Python Cryptography Toolkit ("PyCrypto"):
    -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    -
    -Previously, the copyright and/or licensing status of the Python
    -Cryptography Toolkit ("PyCrypto") had been somewhat ambiguous.  The
    -original intention of Andrew M. Kuchling and other contributors has
    -been to dedicate PyCrypto to the public domain, but that intention was
    -not necessarily made clear in the original disclaimer (see
    -LEGAL/copy/LICENSE.orig).
    -
    -Additionally, some files within PyCrypto had specified their own
    -licenses that differed from the PyCrypto license itself.  For example,
    -the original RIPEMD.c module simply had a copyright statement and
    -warranty disclaimer, without clearly specifying any license terms.
    -(An updated version on the author's website came with a license that
    -contained a GPL-incompatible advertising clause.)
    -
    -To rectify this situation for PyCrypto 2.1, the following steps have
    -been taken:
    -
    - 1. Obtaining explicit permission from the original contributors to
    -    dedicate their contributions to the public domain if they have not
    -    already done so.  (See the "LEGAL/copy/stmts" directory for
    -    contributors' statements.)
    -
    - 2. Replacing some modules with clearly-licensed code from other
    -    sources (e.g. the DES and DES3 modules were replaced with new ones
    -    based on Tom St. Denis's public-domain LibTomCrypt library.)
    -
    - 3. Replacing some modules with code written from scratch (e.g. the
    -    RIPEMD and Blowfish modules were re-implemented from their
    -    respective algorithm specifications without reference to the old
    -    implementations).
    -
    - 4. Removing some modules altogether without replacing them.
    -
    -To the best of our knowledge, with the exceptions noted below or
    -within the files themselves, the files that constitute PyCrypto are in
    -the public domain.  Most are distributed with the following notice:
    -
    -  The contents of this file are dedicated to the public domain.  To
    -  the extent that dedication to the public domain is not available,
    -  everyone is granted a worldwide, perpetual, royalty-free,
    -  non-exclusive license to exercise all rights associated with the
    -  contents of this file for any purpose whatsoever.
    -  No rights are reserved.
    -
    -  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    -  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    -  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    -  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -  SOFTWARE.
    -
    -Exception:
    -
    - - Portions of HMAC.py and setup.py are derived from Python 2.2, and
    -   are therefore Copyright (c) 2001, 2002, 2003 Python Software
    -   Foundation (All Rights Reserved).  They are licensed by the PSF
    -   under the terms of the Python 2.2 license.  (See the file
    -   LEGAL/copy/LICENSE.python-2.2 for details.)
    -
    -EXPORT RESTRICTIONS:
    -
    -Note that the export or re-export of cryptographic software and/or
    -source code may be subject to regulation in your jurisdiction.
    -
    -
    -
    -==================================================================
    -LICENSE.python-2.2
    -LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    -LICENSE.libtom  LICENSE file from LibTomCrypt
    -stmts/          Statements by contributors
    -
    -==================================================================
    -LICENSE.python-2.2
    -
    -A. HISTORY OF THE SOFTWARE
    -==========================
    -
    -Python was created in the early 1990s by Guido van Rossum at Stichting
    -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    -as a successor of a language called ABC.  Guido remains Python's
    -principal author, although it includes many contributions from others.
    -
    -In 1995, Guido continued his work on Python at the Corporation for
    -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    -in Reston, Virginia where he released several versions of the
    -software.
    -
    -In May 2000, Guido and the Python core development team moved to
    -BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    -year, the PythonLabs team moved to Digital Creations (now Zope
    -Corporation, see http://www.zope.com).  In 2001, the Python Software
    -Foundation (PSF, see http://www.python.org/psf/) was formed, a
    -non-profit organization created specifically to own Python-related
    -Intellectual Property.  Zope Corporation is a sponsoring member of
    -the PSF.
    -
    -All Python releases are Open Source (see http://www.opensource.org for
    -the Open Source Definition).  Historically, most, but not all, Python
    -releases have also been GPL-compatible; the table below summarizes
    -the various releases.
    -
    -    Release         Derived     Year        Owner       GPL-
    -            from                                compatible? (1)
    -
    -    0.9.0 thru 1.2              1991-1995   CWI         yes
    -    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    -    1.6             1.5.2       2000        CNRI        no
    -    2.0             1.6         2000        BeOpen.com  no
    -    1.6.1           1.6         2001        CNRI        no
    -    2.1             2.0+1.6.1   2001        PSF         no
    -    2.0.1           2.0+1.6.1   2001        PSF         yes
    -    2.1.1           2.1+2.0.1   2001        PSF         yes
    -    2.2             2.1.1       2001        PSF         yes
    -    2.1.2           2.1.1       2002        PSF         yes
    -    2.1.3           2.1.2       2002        PSF         yes
    -    2.2.1           2.2         2002        PSF         yes
    -    2.2.2           2.2.1       2002        PSF         yes
    -    2.2.3           2.2.2       2003        PSF         yes
    -
    -Footnotes:
    -
    -(1) GPL-compatible doesn't mean that we're distributing Python under
    -    the GPL.  All Python licenses, unlike the GPL, let you distribute
    -    a modified version without making your changes open source.  The
    -    GPL-compatible licenses make it possible to combine Python with
    -    other software that is released under the GPL; the others don't.
    -
    -Thanks to the many outside volunteers who have worked under Guido's
    -direction to make these releases possible.
    -
    -
    -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    -===============================================================
    -
    -PSF LICENSE AGREEMENT FOR PYTHON 2.2.3
    ---------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Python Software Foundation
    -("PSF"), and the Individual or Organization ("Licensee") accessing and
    -otherwise using Python 2.2.3 software in source or binary form and its
    -associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, PSF
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 2.2.3
    -alone or in any derivative version, provided, however, that PSF's
    -License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    -2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
    -retained in Python 2.2.3 alone or in any derivative version prepared
    -by Licensee.
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 2.2.3 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 2.2.3.
    -
    -4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
    -basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. Nothing in this License Agreement shall be deemed to create any
    -relationship of agency, partnership, or joint venture between PSF and
    -Licensee.  This License Agreement does not grant permission to use PSF
    -trademarks or trade name in a trademark sense to endorse or promote
    -products or services of Licensee, or any third party.
    -
    -8. By copying, installing or otherwise using Python 2.2.3, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    --------------------------------------------
    -
    -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    -
    -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    -Individual or Organization ("Licensee") accessing and otherwise using
    -this software in source or binary form and its associated
    -documentation ("the Software").
    -
    -2. Subject to the terms and conditions of this BeOpen Python License
    -Agreement, BeOpen hereby grants Licensee a non-exclusive,
    -royalty-free, world-wide license to reproduce, analyze, test, perform
    -and/or display publicly, prepare derivative works, distribute, and
    -otherwise use the Software alone or in any derivative version,
    -provided, however, that the BeOpen Python License is retained in the
    -Software, alone or in any derivative version prepared by Licensee.
    -
    -3. BeOpen is making the Software available to Licensee on an "AS IS"
    -basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -5. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -6. This License Agreement shall be governed by and interpreted in all
    -respects by the law of the State of California, excluding conflict of
    -law provisions.  Nothing in this License Agreement shall be deemed to
    -create any relationship of agency, partnership, or joint venture
    -between BeOpen and Licensee.  This License Agreement does not grant
    -permission to use BeOpen trademarks or trade names in a trademark
    -sense to endorse or promote products or services of Licensee, or any
    -third party.  As an exception, the "BeOpen Python" logos available at
    -http://www.pythonlabs.com/logos.html may be used according to the
    -permissions granted on that web page.
    -
    -7. By copying, installing or otherwise using the software, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    ----------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Corporation for National
    -Research Initiatives, having an office at 1895 Preston White Drive,
    -Reston, VA 20191 ("CNRI"), and the Individual or Organization
    -("Licensee") accessing and otherwise using Python 1.6.1 software in
    -source or binary form and its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, CNRI
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 1.6.1
    -alone or in any derivative version, provided, however, that CNRI's
    -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    -1995-2001 Corporation for National Research Initiatives; All Rights
    -Reserved" are retained in Python 1.6.1 alone or in any derivative
    -version prepared by Licensee.  Alternately, in lieu of CNRI's License
    -Agreement, Licensee may substitute the following text (omitting the
    -quotes): "Python 1.6.1 is made available subject to the terms and
    -conditions in CNRI's License Agreement.  This Agreement together with
    -Python 1.6.1 may be located on the Internet using the following
    -unique, persistent identifier (known as a handle): 1895.22/1013.  This
    -Agreement may also be obtained from a proxy server on the Internet
    -using the following URL: http://hdl.handle.net/1895.22/1013".
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 1.6.1 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 1.6.1.
    -
    -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    -basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. This License Agreement shall be governed by the federal
    -intellectual property law of the United States, including without
    -limitation the federal copyright law, and, to the extent such
    -U.S. federal law does not apply, by the law of the Commonwealth of
    -Virginia, excluding Virginia's conflict of law provisions.
    -Notwithstanding the foregoing, with regard to derivative works based
    -on Python 1.6.1 that incorporate non-separable material that was
    -previously distributed under the GNU General Public License (GPL), the
    -law of the Commonwealth of Virginia shall govern this License
    -Agreement only as to issues arising under or with respect to
    -Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    -License Agreement shall be deemed to create any relationship of
    -agency, partnership, or joint venture between CNRI and Licensee.  This
    -License Agreement does not grant permission to use CNRI trademarks or
    -trade name in a trademark sense to endorse or promote products or
    -services of Licensee, or any third party.
    -
    -8. By clicking on the "ACCEPT" button where indicated, or by copying,
    -installing or otherwise using Python 1.6.1, Licensee agrees to be
    -bound by the terms and conditions of this License Agreement.
    -
    -        ACCEPT
    -
    -
    -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    ---------------------------------------------------
    -
    -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    -The Netherlands.  All rights reserved.
    -
    -Permission to use, copy, modify, and distribute this software and its
    -documentation for any purpose and without fee is hereby granted,
    -provided that the above copyright notice appear in all copies and that
    -both that copyright notice and this permission notice appear in
    -supporting documentation, and that the name of Stichting Mathematisch
    -Centrum or CWI not be used in advertising or publicity pertaining to
    -distribution of the software without specific, written prior
    -permission.
    -
    -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -
    -
    -===================================================================
    -LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    -===================================================================
    -Distribute and use freely; there are no restrictions on further
    -dissemination and usage except those imposed by the laws of your
    -country of residence.  This software is provided "as is" without
    -warranty of fitness for use or suitability for any purpose, express
    -or implied. Use at your own risk or not at all.
    -===================================================================
    -
    -Incorporating the code into commercial products is permitted; you do
    -not have to make source available or contribute your changes back
    -(though that would be nice).
    -
    ---amk                                                             (www.amk.ca)
    -
    -
    -
    -LICENSE.libtom  LICENSE file from LibTomCrypt
    -===================================================================
    -LibTomCrypt is public domain.  As should all quality software be.
    -
    -Tom St Denis
    -
    -
    -
    -Statements by contributors
    -===================================================================
    -From dlitz@dlitz.net Sun Nov 23 00:17:22 2008
    -Date: Sun, 23 Nov 2008 00:17:22 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: "A. M. Kuchling" <amk@amk.ca>
    -Subject: PyCrypto license clarification
    -Message-ID: <20081123051722.GA29253@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: multipart/signed; micalg=pgp-sha1;
    -    protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4"
    -Content-Disposition: inline
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3461
    -Lines: 78
    -
    -
    ---YiEDa0DAkWCtVeE4
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -Content-Transfer-Encoding: quoted-printable
    -
    -Hi Andrew,
    -
    -People often ask me what license PyCrypto is covered by, if it's=20
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them. =20
    -The text in the current LICENSE file (quoted below) is not entirely clear=
    -=20
    -on the point of whether distributing modified versions is allowed.  (It=20
    -says "distribute and use", but not "modify".)
    -
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -     Distribute and use freely; there are no restrictions on further
    -     dissemination and usage except those imposed by the laws of your
    -     country of residence.  This software is provided "as is" without
    -     warranty of fitness for use or suitability for any purpose, express
    -     or implied. Use at your own risk or not at all.
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -     Incorporating the code into commercial products is permitted; you do
    -     not have to make source available or contribute your changes back
    -     (though that would be nice).
    -
    -     --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I'd like to take steps to move toward a=20
    -clearer licensing regime.  I'm asking as many copyright holders as I can=20
    -find, starting with you, if I can release PyCrypto under something clearer=
    -=20
    -and more standard.  Below, I have quoted a public domain dedication that=20
    -was recommended in _Intellectual Property and Open Source: A Practical=20
    -Guide to Protecting Code_, by Van Lindberg.
    -
    -May I, on your behalf, dedicate to the public domain your considerable=20
    -contributions to PyCrypto, with the following notice?
    -
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -     The contents of this file are dedicated to the public domain.  To the
    -     extent that dedication to the public domain is not available, everyone
    -     is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -     to exercise all rights associated with the contents of this file for
    -     any purpose whatsoever.  No rights are reserved.
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -Regards,
    -  - Dwayne
    -
    ---=20
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    ---YiEDa0DAkWCtVeE4
    -Content-Type: application/pgp-signature; name="signature.asc"
    -Content-Description: Digital signature
    -Content-Disposition: inline
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.5 (GNU/Linux)
    -
    -iEYEARECAAYFAkko52IACgkQHBG4d+eAS0XPPQCfcyQ2DdAXKg9N7Z+jeSFFD5EZ
    -yloAn33a3ZjkteyJaTbzEqImOEW8JGpf
    -=aBEW
    ------END PGP SIGNATURE-----
    -
    ---YiEDa0DAkWCtVeE4--
    -
    -From amk@amk.ca Sun Nov 23 07:51:59 2008
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <amk@amk.ca>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 5C2C75047D
    -    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 07:51:59 -0500 (EST)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id D632D10111
    -    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    -Received: (vmailmgr-postfix 12026 invoked by uid 1003); 23 Nov 2008 06:51:58 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (goedel.dlitz.net: domain of amk@amk.ca does not designate permitted sender hosts)
    -Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.7])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 97DC710105
    -    for <dlitz@dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    -Received: (qmail 3992 invoked from network); 23 Nov 2008 12:51:52 -0000
    -Received: from dsl092-163-165.wdc2.dsl.speakeasy.net (HELO localhost) (akuchling@[66.92.163.165])
    -          (envelope-sender <amk@amk.ca>)
    -          by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP
    -          for <dlitz@dlitz.net>; 23 Nov 2008 12:51:52 -0000
    -Date: Sun, 23 Nov 2008 07:51:34 -0500
    -From: "A.M. Kuchling" <amk@amk.ca>
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20081123125134.GA21239@amk.local>
    -Reply-To: amk@amk.ca
    -References: <20081123051722.GA29253@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii
    -Content-Disposition: inline
    -In-Reply-To: <20081123051722.GA29253@rivest.dlitz.net>
    -User-Agent: Mutt/1.5.13 (2006-08-11)
    -Status: RO
    -Content-Length: 537
    -Lines: 15
    -
    -> People often ask me what license PyCrypto is covered by, if it's 
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -> The text in the current LICENSE file (quoted below) is not entirely clear 
    -> on the point of whether distributing modified versions is allowed.  (It 
    -> says "distribute and use", but not "modify".)
    -
    -The intention is that it be public domain.
    -
    -> May I, on your behalf, dedicate to the public domain your considerable 
    -> contributions to PyCrypto, with the following notice?
    -
    -You may.
    -
    ---amk
    -
    -
    -================================================
    -From dlitz@dlitz.net Sat Feb 28 21:45:09 2009
    -Date: Sat, 28 Feb 2009 21:45:09 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Barry A Warsaw <barry@python.org>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090301024509.GA13195@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2535
    -
    -Hi Barry,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am 
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's 
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -The text in the current LICENSE file (quoted below) is not entirely clear 
    -on the point of whether distributing modified versions is allowed.  (It 
    -says "distribute and use", but not "modify".)
    -
    -  ===================================================================
    -  Distribute and use freely; there are no restrictions on further
    -  dissemination and usage except those imposed by the laws of your
    -  country of residence.  This software is provided "as is" without
    -  warranty of fitness for use or suitability for any purpose, express
    -  or implied. Use at your own risk or not at all.
    -  ===================================================================
    -
    -  Incorporating the code into commercial products is permitted; you do
    -  not have to make source available or contribute your changes back
    -  (though that would be nice).
    -
    -  --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a 
    -clearer licensing regime.  I am asking as many copyright holders as I can 
    -find if I can release PyCrypto under something clearer and more standard.  
    -Below, I have quoted a public domain dedication that was recommended in 
    -_Intellectual Property and Open Source: A Practical Guide to Protecting 
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    -Pointer, and Wim Lewis, and they have all approved the following dedication 
    -for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your 
    -behalf, dedicate to the public domain all your contributions to PyCrypto, 
    -with the following notice?
    -
    -  =======================================================================
    -  The contents of this file are dedicated to the public domain.  To the
    -  extent that dedication to the public domain is not available, everyone
    -  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -  to exercise all rights associated with the contents of this file for
    -  any purpose whatsoever.  No rights are reserved.
    -  =======================================================================
    -
    -Regards,
    -  - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -     Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From barry@python.org Mon Mar  2 11:29:39 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <barry@python.org>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 6E01AC6640B
    -    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 11:29:39 -0500 (EST)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 0644E1007A
    -    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 10:29:39 -0600 (CST)
    -Received: (vmailmgr-postfix 8668 invoked by uid 1003);  2 Mar 2009 10:29:39 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (python.org: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="barry@python.org"; helo=mail.wooz.org; client-ip=216.15.33.230
    -Received: from mail.wooz.org (216-15-33-230.c3-0.slvr-ubr2.lnh-slvr.md.static.cable.rcn.com [216.15.33.230])
    -    by goedel.dlitz.net (Postfix) with ESMTP id CCEA110073
    -    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 10:29:38 -0600 (CST)
    -Received: from snowdog.wooz.org (snowdog.wooz.org [192.168.11.202])
    -    by mail.wooz.org (Postfix) with ESMTPSA id ACE30E3C9F
    -    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 11:29:35 -0500 (EST)
    -Message-Id: <09BF1A39-B015-4820-97A3-8642490C8254@python.org>
    -From: Barry Warsaw <barry@python.org>
    -To: Dwayne C. Litzenberger <dlitz@dlitz.net>
    -In-Reply-To: <20090301024509.GA13195@rivest.dlitz.net>
    -Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
    -Content-Transfer-Encoding: quoted-printable
    -Mime-Version: 1.0 (Apple Message framework v930.3)
    -Subject: Re: PyCrypto license clarification
    -Date: Mon, 2 Mar 2009 11:29:34 -0500
    -References: <20090301024509.GA13195@rivest.dlitz.net>
    -X-Pgp-Agent: GPGMail d55 (v55, Leopard)
    -X-Mailer: Apple Mail (2.930.3)
    -Status: RO
    -Content-Length: 869
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On Feb 28, 2009, at 9:45 PM, Dwayne C. Litzenberger wrote:
    -
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am =20=
    -
    -> working on a new release at http://www.pycrypto.org/.
    -
    -Great!  I'm glad to see someone taking up the mantle of this important =20=
    -
    -Python library.
    -
    -> I understand that you have made contributions to PyCrypto.  May I, =20
    -> on your behalf, dedicate to the public domain all your contributions =20=
    -
    -> to PyCrypto, with the following notice?
    -
    -Absolutely yes.
    -
    -Cheers,
    -Barry
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.9 (Darwin)
    -
    -iQCVAwUBSawJbnEjvBPtnXfVAQLZjgP/ecG+JdZwNvPJRfsa6rhY6+MHLDHI6agk
    -evkJnSJQAcVHlZnVlVeR5IXgvDUMakZjU4SOV7MqkhsKA9lIet7PaD9VSYgn3ra5
    -gElwI2DQDoOy5GExXMm74gqrrb1PCCbCRmpaYNo+DZohwHkeFBjbwDRA3wItOrH7
    -SK4w9VBJtfY=3D
    -=3DQduY
    ------END PGP SIGNATURE-----
    -
    -
    -
    -===================================================
    -From dlitz@dlitz.net Sat Feb 28 23:24:14 2009
    -Date: Sat, 28 Feb 2009 23:24:14 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Jeethu Rao <jeethurao@gmail.com>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090301042414.GA15122@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2513
    -
    -Hi Jeethu,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am 
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's 
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -The text in the current LICENSE file (quoted below) is not entirely clear 
    -on the point of whether distributing modified versions is allowed.  (It 
    -says "distribute and use", but not "modify".)
    -
    - ===================================================================
    - Distribute and use freely; there are no restrictions on further
    - dissemination and usage except those imposed by the laws of your
    - country of residence.  This software is provided "as is" without
    - warranty of fitness for use or suitability for any purpose, express
    - or implied. Use at your own risk or not at all.
    - ===================================================================
    -
    - Incorporating the code into commercial products is permitted; you do
    - not have to make source available or contribute your changes back
    - (though that would be nice).
    -
    - --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a 
    -clearer licensing regime.  I am asking as many copyright holders as I can 
    -find if I can release PyCrypto under something clearer and more standard.  
    -Below, I have quoted a public domain dedication that was recommended in 
    -_Intellectual Property and Open Source: A Practical Guide to Protecting 
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    -Pointer, and Wim Lewis, and they have all approved the following text for 
    -their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your 
    -behalf, dedicate to the public domain all your contributions to PyCrypto, 
    -with the following notice?
    -
    - =======================================================================
    - The contents of this file are dedicated to the public domain.  To the
    - extent that dedication to the public domain is not available, everyone
    - is granted a worldwide, perpetual, royalty-free, non-exclusive license
    - to exercise all rights associated with the contents of this file for
    - any purpose whatsoever.  No rights are reserved.
    - =======================================================================
    -
    -Regards,
    - - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -       Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From jeethurao@gmail.com Sun Mar  8 17:28:16 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <jeethurao@gmail.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 0CC83515D9
    -    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 17:28:16 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 4E58F450CB
    -    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 15:28:15 -0600 (CST)
    -Received: (vmailmgr-postfix 5011 invoked by uid 1003);  8 Mar 2009 15:28:15 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: pass (gmail.com ... _spf.google.com: 209.85.198.249 is authorized to use 'jeethurao@gmail.com' in 'mfrom' identity (mechanism 'ip4:209.85.128.0/17' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="jeethurao@gmail.com"; helo=rv-out-0708.google.com; client-ip=209.85.198.249
    -Received: from rv-out-0708.google.com (unknown [209.85.198.249])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 3C097449E7
    -    for <dlitz@dlitz.net>; Sun,  8 Mar 2009 15:28:12 -0600 (CST)
    -Received: by rv-out-0708.google.com with SMTP id k29so1252333rvb.26
    -        for <dlitz@dlitz.net>; Sun, 08 Mar 2009 14:27:56 -0700 (PDT)
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    -        d=gmail.com; s=gamma;
    -        h=domainkey-signature:mime-version:received:in-reply-to:references
    -         :date:message-id:subject:from:to:content-type;
    -        bh=YWy9U32WCU/ksRqukHwaOZyJQBUs4Yvt5mI20U6mI/g=;
    -        b=oMjI22lIxYiJKge2zNJW3rRiUi9LqFXmey5Wp0pLItuNF+X3duyfhopTuBAKw7MwVY
    -         B5E6VQuGVEyzBbNsctyVgq6DhQiQtouCLZymSViobmuDmKn5DtUKoxpDk0xCxQmHYaas
    -         L9/A6D3/J66kKrNBgX9mc0GPcZTviVFYkPR0Q=
    -DomainKey-Signature: a=rsa-sha1; c=nofws;
    -        d=gmail.com; s=gamma;
    -        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
    -         :content-type;
    -        b=Ym7CStuDEfJKay1AJyWZkZmJA1lnTcwCG6akBHAXLld8ht6PFcmlsffzZG8hJCIVJ8
    -         vljqcT+G6cywVTBw1pyGX7ECYzr0+vhGvgdpACGrs24zikHfpSSd5GFogzXaLVvGVH8p
    -         bqSHpfWKKtEP4gAQkiNeIq1GNtR2j8U3fnRyg=
    -MIME-Version: 1.0
    -Received: by 10.141.176.13 with SMTP id d13mr2656028rvp.231.1236547674677; 
    -    Sun, 08 Mar 2009 14:27:54 -0700 (PDT)
    -In-Reply-To: <20090301042414.GA15122@rivest.dlitz.net>
    -References: <20090301042414.GA15122@rivest.dlitz.net>
    -Date: Mon, 9 Mar 2009 02:57:54 +0530
    -Message-ID: <e3c0ddba0903081427p3a7b1058g417dd8624df68d6d@mail.gmail.com>
    -Subject: Re: PyCrypto license clarification
    -From: Jeethu Rao <jeethurao@gmail.com>
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Content-Type: multipart/alternative; boundary=000e0cd209d0e5a3d40464a23054
    -Status: RO
    -Content-Length: 7668
    -
    ---000e0cd209d0e5a3d40464a23054
    -Content-Type: text/plain; charset=ISO-8859-1
    -Content-Transfer-Encoding: 7bit
    -
    -Hi Dwayne,My contribution to pycrypto are very very minimal (The sha256
    -module, IIRC).
    -I'd be fine with the public domain license for PyCrypto.
    -
    -Jeethu Rao
    -PS: Apologies for the delay in my response.
    -I don't really check this email address all that often,
    -please direct any further correspondence to jeethu@jeethurao.com
    -
    -On Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <dlitz@dlitz.net>wrote:
    -
    -> Hi Jeethu,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    ->
    -> People often ask me what license PyCrypto is covered by, if it's
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  The
    -> text in the current LICENSE file (quoted below) is not entirely clear on the
    -> point of whether distributing modified versions is allowed.  (It says
    -> "distribute and use", but not "modify".)
    ->
    -> ===================================================================
    -> Distribute and use freely; there are no restrictions on further
    -> dissemination and usage except those imposed by the laws of your
    -> country of residence.  This software is provided "as is" without
    -> warranty of fitness for use or suitability for any purpose, express
    -> or implied. Use at your own risk or not at all.
    -> ===================================================================
    ->
    -> Incorporating the code into commercial products is permitted; you do
    -> not have to make source available or contribute your changes back
    -> (though that would be nice).
    ->
    -> --amk                                                    (www.amk.ca)
    ->
    -> For the next PyCrypto release, I would like to take steps to move toward a
    -> clearer licensing regime.  I am asking as many copyright holders as I can
    -> find if I can release PyCrypto under something clearer and more standard.
    ->  Below, I have quoted a public domain dedication that was recommended in
    -> _Intellectual Property and Open Source: A Practical Guide to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -> Pointer, and Wim Lewis, and they have all approved the following text for
    -> their contributions.
    ->
    -> I understand that you have made contributions to PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your contributions to PyCrypto,
    -> with the following notice?
    ->
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    -> Regards,
    -> - Dwayne
    ->
    -> --
    -> Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->      Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->
    -
    -
    -
    --- 
    -Jeethu Rao
    -
    ---000e0cd209d0e5a3d40464a23054
    -Content-Type: text/html; charset=ISO-8859-1
    -Content-Transfer-Encoding: quoted-printable
    -
    -Hi Dwayne,<div>My contribution to pycrypto are very very minimal (The sha25=
    -6 module, IIRC).</div><div>I&#39;d be fine with the public domain license f=
    -or PyCrypto.</div><div><br></div><div>Jeethu Rao</div><div>PS: Apologies fo=
    -r the delay in my response.=A0</div>
    -<div>I don&#39;t really check this email address all that often,</div><div>=
    -please direct any further correspondence to <a href=3D"mailto:jeethu@jeethu=
    -rao.com">jeethu@jeethurao.com</a><br><div><br><div class=3D"gmail_quote">On=
    - Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <span dir=3D"ltr">&lt;=
    -<a href=3D"mailto:dlitz@dlitz.net">dlitz@dlitz.net</a>&gt;</span> wrote:<br=
    ->
    -<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
    -x #ccc solid;padding-left:1ex;">Hi Jeethu,<br>
    -<br>
    -I am the new maintainer of the Python Cryptography Toolkit, and I am workin=
    -g on a new release at <a href=3D"http://www.pycrypto.org/" target=3D"_blank=
    -">http://www.pycrypto.org/</a>.<br>
    -<br>
    -People often ask me what license PyCrypto is covered by, if it&#39;s GPL-co=
    -mpatible, etc. =A0Right now, I&#39;m not really sure what to tell them. =A0=
    -The text in the current LICENSE file (quoted below) is not entirely clear o=
    -n the point of whether distributing modified versions is allowed. =A0(It sa=
    -ys &quot;distribute and use&quot;, but not &quot;modify&quot;.)<br>
    -
    -<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -Distribute and use freely; there are no restrictions on further<br>
    -dissemination and usage except those imposed by the laws of your<br>
    -country of residence. =A0This software is provided &quot;as is&quot; withou=
    -t<br>
    -warranty of fitness for use or suitability for any purpose, express<br>
    -or implied. Use at your own risk or not at all.<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -<br>
    -Incorporating the code into commercial products is permitted; you do<br>
    -not have to make source available or contribute your changes back<br>
    -(though that would be nice).<br>
    -<br>
    ---amk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
    -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(<a href=3D"http://www.amk.ca" target=3D=
    -"_blank">www.amk.ca</a>)<br>
    -<br>
    -For the next PyCrypto release, I would like to take steps to move toward a =
    -clearer licensing regime. =A0I am asking as many copyright holders as I can=
    - find if I can release PyCrypto under something clearer and more standard. =
    -=A0Below, I have quoted a public domain dedication that was recommended in =
    -_Intellectual Property and Open Source: A Practical Guide to Protecting Cod=
    -e_, by Van Lindberg. =A0I have already contacted A. M. Kuchling, Robey Poin=
    -ter, and Wim Lewis, and they have all approved the following text for their=
    - contributions.<br>
    -
    -<br>
    -I understand that you have made contributions to PyCrypto. =A0May I, on you=
    -r behalf, dedicate to the public domain all your contributions to PyCrypto,=
    - with the following notice?<br>
    -<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -The contents of this file are dedicated to the public domain. =A0To the<br>
    -extent that dedication to the public domain is not available, everyone<br>
    -is granted a worldwide, perpetual, royalty-free, non-exclusive license<br>
    -to exercise all rights associated with the contents of this file for<br>
    -any purpose whatsoever. =A0No rights are reserved.<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -<br>
    -Regards,<br>
    -- Dwayne<br><font color=3D"#888888">
    -<br>
    --- <br>
    -Dwayne C. Litzenberger &lt;<a href=3D"mailto:dlitz@dlitz.net" target=3D"_bl=
    -ank">dlitz@dlitz.net</a>&gt;<br>
    - =A0 =A0 =A0Key-signing key =A0 - 19E1 1FE8 B3CF F273 ED17 =A04A24 928C EC1=
    -3 39C2 5CF7<br>
    -</font></blockquote></div><br><br clear=3D"all"><br>-- <br>Jeethu Rao<br>
    -</div></div>
    -
    ---000e0cd209d0e5a3d40464a23054--
    -
    -
    -=======================================================
    -From dlitz@dlitz.net Mon May  4 22:49:14 2009
    -Date: Mon, 4 May 2009 22:49:14 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Joris Bontje <joris@bontje.nl>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090505024914.GA9219@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2553
    -
    -Hi Joris,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -  ===================================================================
    -  Distribute and use freely; there are no restrictions on further
    -  dissemination and usage except those imposed by the laws of your
    -  country of residence.  This software is provided "as is" without
    -  warranty of fitness for use or suitability for any purpose, express
    -  or implied. Use at your own risk or not at all.
    -  ===================================================================
    -
    -  Incorporating the code into commercial products is permitted; you do
    -  not have to make source available or contribute your changes back
    -  (though that would be nice).
    -
    -  --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    -have all approved the following dedication for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your
    -behalf, dedicate to the public domain all your contributions to PyCrypto,
    -with the following notice?
    -
    -  =======================================================================
    -  The contents of this file are dedicated to the public domain.  To the
    -  extent that dedication to the public domain is not available, everyone
    -  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -  to exercise all rights associated with the contents of this file for
    -  any purpose whatsoever.  No rights are reserved.
    -  =======================================================================
    -
    -Regards,
    - - Dwayne
    -
    ---
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From joris@bontje.nl Tue May  5 03:08:32 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <joris@bontje.nl>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 7AA4B9E5078
    -    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 03:08:32 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 2315B40583
    -    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 01:08:32 -0600 (CST)
    -Received: (vmailmgr-postfix 16890 invoked by uid 1003);  5 May 2009 01:08:32 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (bontje.nl: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="joris@bontje.nl"; helo=smtp6.versatel.nl; client-ip=62.58.50.97
    -Received: from smtp6.versatel.nl (smtp6.versatel.nl [62.58.50.97])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 2D76A4052C
    -    for <dlitz@dlitz.net>; Tue,  5 May 2009 01:08:30 -0600 (CST)
    -Received: (qmail 4224 invoked by uid 0); 5 May 2009 07:08:25 -0000
    -Received: from qmail06.zonnet.nl (HELO dell062.admin.zonnet.nl) ([10.170.1.123])
    -          (envelope-sender <joris@bontje.nl>)
    -          by 10.170.1.96 (qmail-ldap-1.03) with SMTP
    -          for < >; 5 May 2009 07:08:25 -0000
    -Received: by dell062.admin.zonnet.nl (Postfix, from userid 33)
    -    id 9BE9B15759B; Tue,  5 May 2009 09:08:25 +0200 (CEST)
    -Received: from firewall66.interaccess.nl (firewall66.interaccess.nl
    -    [193.173.35.66]) by www.webmail.vuurwerk.nl (Horde MIME library) with HTTP;
    -    Tue, 05 May 2009 09:08:25 +0200
    -Message-ID: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -Date: Tue, 05 May 2009 09:08:25 +0200
    -From: joris@bontje.nl
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Subject: Re: PyCrypto license clarification
    -References: <20090505024914.GA9219@rivest.dlitz.net>
    -In-Reply-To: <20090505024914.GA9219@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain;
    -    charset=ISO-8859-1;
    -    format="flowed"
    -Content-Disposition: inline
    -Content-Transfer-Encoding: 7bit
    -User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
    -Status: RO
    -X-Status: A
    -Content-Length: 3488
    -
    -Hi Dwayne,
    -
    -Thanks for taking over the PyCrypto library and putting in the required 
    -effort to keep this going.
    -I was very excited to read that it is now one of the installed 
    -libraries for Google AppsEngine!
    -
    -You have my full permission to dedicate all my contributions to 
    -PyCrypto to the public domain with your suggested notice:
    -=======================================================================
    -The contents of this file are dedicated to the public domain.  To the
    -extent that dedication to the public domain is not available, everyone
    -is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -to exercise all rights associated with the contents of this file for
    -any purpose whatsoever.  No rights are reserved.
    -=======================================================================
    -
    -
    -Regards,
    -Joris
    -
    -Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    -
    -> Hi Joris,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    ->
    -> People often ask me what license PyCrypto is covered by, if it's
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -> The text in the current LICENSE file (quoted below) is not entirely clear
    -> on the point of whether distributing modified versions is allowed.  (It
    -> says "distribute and use", but not "modify".)
    ->
    -> ===================================================================
    -> Distribute and use freely; there are no restrictions on further
    -> dissemination and usage except those imposed by the laws of your
    -> country of residence.  This software is provided "as is" without
    -> warranty of fitness for use or suitability for any purpose, express
    -> or implied. Use at your own risk or not at all.
    -> ===================================================================
    ->
    -> Incorporating the code into commercial products is permitted; you do
    -> not have to make source available or contribute your changes back
    -> (though that would be nice).
    ->
    -> --amk                                                    (www.amk.ca)
    ->
    -> For the next PyCrypto release, I would like to take steps to move toward a
    -> clearer licensing regime.  I am asking as many copyright holders as I can
    -> find if I can release PyCrypto under something clearer and more standard.
    -> Below, I have quoted a public domain dedication that was recommended in
    -> _Intellectual Property and Open Source: A Practical Guide to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    -> have all approved the following dedication for their contributions.
    ->
    -> I understand that you have made contributions to PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your contributions to PyCrypto,
    -> with the following notice?
    ->
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    -> Regards,
    -> - Dwayne
    ->
    -> --
    -> Dwayne C. Litzenberger <dlitz@dlitz.net>
    -> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -
    -
    -From dlitz@dlitz.net Tue May  5 17:53:47 2009
    -Date: Tue, 5 May 2009 17:53:47 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: joris@bontje.nl
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090505215347.GB9933@rivest.dlitz.net>
    -References: <20090505024914.GA9219@rivest.dlitz.net> <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -In-Reply-To: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3863
    -
    -Excellent!  Thank you!
    -
    -On Tue, May 05, 2009 at 09:08:25AM +0200, joris@bontje.nl wrote:
    -> Hi Dwayne,
    ->
    -> Thanks for taking over the PyCrypto library and putting in the required 
    -> effort to keep this going.
    -> I was very excited to read that it is now one of the installed libraries 
    -> for Google AppsEngine!
    ->
    -> You have my full permission to dedicate all my contributions to PyCrypto to 
    -> the public domain with your suggested notice:
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    ->
    -> Regards,
    -> Joris
    ->
    -> Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    ->
    ->> Hi Joris,
    ->>
    ->> I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->>
    ->> People often ask me what license PyCrypto is covered by, if it's
    ->> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    ->> The text in the current LICENSE file (quoted below) is not entirely clear
    ->> on the point of whether distributing modified versions is allowed.  (It
    ->> says "distribute and use", but not "modify".)
    ->>
    ->> ===================================================================
    ->> Distribute and use freely; there are no restrictions on further
    ->> dissemination and usage except those imposed by the laws of your
    ->> country of residence.  This software is provided "as is" without
    ->> warranty of fitness for use or suitability for any purpose, express
    ->> or implied. Use at your own risk or not at all.
    ->> ===================================================================
    ->>
    ->> Incorporating the code into commercial products is permitted; you do
    ->> not have to make source available or contribute your changes back
    ->> (though that would be nice).
    ->>
    ->> --amk                                                    (www.amk.ca)
    ->>
    ->> For the next PyCrypto release, I would like to take steps to move toward a
    ->> clearer licensing regime.  I am asking as many copyright holders as I can
    ->> find if I can release PyCrypto under something clearer and more standard.
    ->> Below, I have quoted a public domain dedication that was recommended in
    ->> _Intellectual Property and Open Source: A Practical Guide to Protecting
    ->> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    ->> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    ->> have all approved the following dedication for their contributions.
    ->>
    ->> I understand that you have made contributions to PyCrypto.  May I, on your
    ->> behalf, dedicate to the public domain all your contributions to PyCrypto,
    ->> with the following notice?
    ->>
    ->> =======================================================================
    ->> The contents of this file are dedicated to the public domain.  To the
    ->> extent that dedication to the public domain is not available, everyone
    ->> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->> to exercise all rights associated with the contents of this file for
    ->> any purpose whatsoever.  No rights are reserved.
    ->> =======================================================================
    ->>
    ->> Regards,
    ->> - Dwayne
    ->>
    ->> --
    ->> Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->
    ->
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    -
    -==========================================================
    -Date: Sun, 23 Nov 2008 15:54:35 -0800
    -From: Wim Lewis <wiml@hhhh.org>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Cc: Wim Lewis <wiml@hhhh.org>
    -Message-Id: <9D5C3135-7414-47D7-9D41-0AC6C3A84D97@hhhh.org>
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On November 23, 2008, you wrote:
    ->Hi Wim,
    ->
    ->I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->working on a new release at http://www.pycrypto.org/.
    ->
    ->I understand that you have made contributions to PyCrypto. May I, on
    ->your behalf, dedicate to the public domain all your contributions to
    ->PyCrypto, with the following notice?
    ->
    ->   =======================================================================
    ->   The contents of this file are dedicated to the public domain.  To the
    ->   extent that dedication to the public domain is not available, everyone
    ->   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->   to exercise all rights associated with the contents of this file for
    ->   any purpose whatsoever.  No rights are reserved.
    ->   =======================================================================
    -
    -Certainly! I think the only code of mine in PyCrypto is the CAST-5 / CAST-128
    -implementation, which already has a public-domain notice at the top of
    -the file. But I am happy to have that, any any other code of mine that
    -might have wandered in there under an unclear open sourcish license,
    -distributed under the public-domain dedication you quote.
    -
    -Wim.
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.6 (Darwin)
    -
    -iQCVAwUBSSnnAl8UnN8n93LBAQLp/gQAhr7x8Av1mstc2kxEJDWTm26PTAZxMz4B
    -FektbDOzkxgc5580MGGeeX/MVn8aw+1BHg0YD85gsntlDzkcQtb+BR/xAvJ5zKyA
    -J/Mn/I+I6ekJQ3juh8IPHLAduOXM9Rtguas/yR+Doaq0xOPKoBx+/5+t1lLJtBcZ
    -wrPEa9Oui9s=
    -=zSY9
    ------END PGP SIGNATURE-----
    -
    -
    -
    -==========================================================
    -From dlitz@dlitz.net Sat Apr 18 09:14:20 2009
    -Date: Sat, 18 Apr 2009 09:14:20 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Mark Moraes <moraes@computer.org>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090418131419.GA14494@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2635
    -
    -Hi Mark,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -       ===================================================================
    -       Distribute and use freely; there are no restrictions on further
    -       dissemination and usage except those imposed by the laws of your
    -       country of residence.  This software is provided "as is" without
    -       warranty of fitness for use or suitability for any purpose, express
    -       or implied. Use at your own risk or not at all.
    -       ===================================================================
    -
    -       Incorporating the code into commercial products is permitted; you do
    -       not have to make source available or contribute your changes back
    -       (though that would be nice).
    -
    -       --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they have all
    -approved the following dedication for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your
    -behalf, dedicate to the public domain all your contributions to PyCrypto,
    -with the following notice?
    -
    -       =======================================================================
    -       The contents of this file are dedicated to the public domain.  To the
    -       extent that dedication to the public domain is not available, everyone
    -       is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -       to exercise all rights associated with the contents of this file for
    -       any purpose whatsoever.  No rights are reserved.
    -       =======================================================================
    -
    -Regards,
    -    - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -    Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From markmoraes@yahoo.com Mon Apr 20 19:25:37 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <markmoraes@yahoo.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 5D9AE984FDD
    -    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 19:25:37 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id DE41F4025F
    -    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    -Received: (vmailmgr-postfix 7604 invoked by uid 1003); 20 Apr 2009 17:25:36 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (yahoo.com: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="markmoraes@yahoo.com"; helo=web32405.mail.mud.yahoo.com; client-ip=68.142.207.198
    -Received: from web32405.mail.mud.yahoo.com (web32405.mail.mud.yahoo.com [68.142.207.198])
    -    by goedel.dlitz.net (Postfix) with SMTP id B5EAF401EE
    -    for <dlitz@dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    -Received: (qmail 34697 invoked by uid 60001); 20 Apr 2009 23:25:33 -0000
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1240269933; bh=OvxqbYnCg7R6tUN3YmlgFURM3CuHh1JeHyXhDzkaThU=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=F2h2bFzpQxyKFZ8BhenniyupGw4Zvlekb9BSk91qKU+51W/TkSGBij5YZIhkLQdkQk0qLz5f4g8dT6bOME3sEY1j10hlx0K0u2UD0yoYTINBCmsdMQRoJ7ph9bmt+p/EJhRpe+FiV6aoLV0FONWiHfGDghPT1dulWXfVTqgB2aU=
    -DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
    -  s=s1024; d=yahoo.com;
    -  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
    -  b=r6RShFF5VzQLg+9tcn1xKuo4Rs4IVvXF6fdqOpQrMyRCxeFooebhuTE35grGqlomOJLwM0+mZwRb6rGkDj763caOAlo8Ect/qlADW5izXfmVQaDchTbTqmpsJBmQnTQs9iZ+InrG+3UIwtUSGfX7fhEWmI9P/HBzxf9Wp4b3jeo=;
    -Message-ID: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -X-YMail-OSG: FrK8aWMVM1mFJtLpMGbUbCLjbUQC.i.JkIAKUHSFsFn7t9PbtewAewXJ2uhZGCOlGCX6oVnG3u.CgqzAffY4vZSnfTT8wnCkzZNZ_g6k.XUc3ipo_6e.92TXl4p8MxDGAf1tpNF5nXPwcQ7aREs7jGoWWVJYVytp50clsUFSHzf7Zbpa8P1Yoe_xSzf3OAgRSh5fCrbFCC8sHPCuwrL3YhasbtHmkWffteSS.x6gEcBaxf03oz4FeDb5mpJ54g11Xonq8h_TmzX9g84Bin9g_3fJ4WSXm6g6.tohLyfXcUxoz4j036wyWpTKPrWEzIUQaN83Sv_bj_Ghxw--
    -Received: from [69.124.140.74] by web32405.mail.mud.yahoo.com via HTTP; Mon, 20 Apr 2009 16:25:32 PDT
    -X-Mailer: YahooMailClassic/5.2.15 YahooMailWebService/0.7.289.1
    -Date: Mon, 20 Apr 2009 16:25:32 -0700 (PDT)
    -From: M Moraes <markmoraes@yahoo.com>
    -Reply-To: moraes@computer.org
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii
    -Status: RO
    -X-Status: A
    -Content-Length: 3222
    -
    -
    -Hi Dwayne.
    -
    -Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    -
    -Regards,
    -Mark.
    -
    ---- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    -
    -> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    -> Subject: PyCrypto license clarification
    -> To: "Mark Moraes" <moraes@computer.org>
    -> Date: Saturday, April 18, 2009, 9:14 AM
    -> Hi Mark,
    -> 
    -> I am the new maintainer of the Python Cryptography Toolkit,
    -> and I am
    -> working on a new release at http://www.pycrypto.org/.
    -> 
    -> People often ask me what license PyCrypto is covered by, if
    -> it's
    -> GPL-compatible, etc.  Right now, I'm not really sure
    -> what to tell them.
    -> The text in the current LICENSE file (quoted below) is not
    -> entirely clear
    -> on the point of whether distributing modified versions is
    -> allowed.  (It
    -> says "distribute and use", but not "modify".)
    -> 
    ->      
    -> ===================================================================
    ->       Distribute and use freely; there are
    -> no restrictions on further
    ->       dissemination and usage except those
    -> imposed by the laws of your
    ->       country of residence.  This
    -> software is provided "as is" without
    ->       warranty of fitness for use or
    -> suitability for any purpose, express
    ->       or implied. Use at your own risk or
    -> not at all.
    ->      
    -> ===================================================================
    -> 
    ->       Incorporating the code into commercial
    -> products is permitted; you do
    ->       not have to make source available or
    -> contribute your changes back
    ->       (though that would be nice).
    -> 
    ->       --amk       
    ->                
    ->                
    ->             (www.amk.ca)
    -> 
    -> For the next PyCrypto release, I would like to take steps
    -> to move toward a
    -> clearer licensing regime.  I am asking as many
    -> copyright holders as I can
    -> find if I can release PyCrypto under something clearer and
    -> more standard.
    -> Below, I have quoted a public domain dedication that was
    -> recommended in
    -> _Intellectual Property and Open Source: A Practical Guide
    -> to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A.
    -> M. Kuchling, Robey
    -> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    -> have all
    -> approved the following dedication for their contributions.
    -> 
    -> I understand that you have made contributions to
    -> PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your
    -> contributions to PyCrypto,
    -> with the following notice?
    -> 
    ->      
    -> =======================================================================
    ->       The contents of this file are
    -> dedicated to the public domain.  To the
    ->       extent that dedication to the public
    -> domain is not available, everyone
    ->       is granted a worldwide, perpetual,
    -> royalty-free, non-exclusive license
    ->       to exercise all rights associated with
    -> the contents of this file for
    ->       any purpose whatsoever.  No
    -> rights are reserved.
    ->      
    -> =======================================================================
    -> 
    -> Regards,
    ->    - Dwayne
    -> 
    -> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->    Key-signing key   - 19E1
    -> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -> 
    -
    -
    -From dlitz@dlitz.net Mon Apr 20 20:01:37 2009
    -Date: Mon, 20 Apr 2009 20:01:37 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: moraes@computer.org
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090421000137.GA29012@rivest.dlitz.net>
    -References: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -In-Reply-To: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3677
    -
    -Thanks a lot, and don't worry about not responding to previous emails.  I 
    -do that too much myself. :)
    -
    -On Mon, Apr 20, 2009 at 04:25:32PM -0700, M Moraes wrote:
    ->
    ->Hi Dwayne.
    ->
    ->Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    ->
    ->Regards,
    ->Mark.
    ->
    ->--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    ->
    ->> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->> Subject: PyCrypto license clarification
    ->> To: "Mark Moraes" <moraes@computer.org>
    ->> Date: Saturday, April 18, 2009, 9:14 AM
    ->> Hi Mark,
    ->> 
    ->> I am the new maintainer of the Python Cryptography Toolkit,
    ->> and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->> 
    ->> People often ask me what license PyCrypto is covered by, if
    ->> it's
    ->> GPL-compatible, etc.  Right now, I'm not really sure
    ->> what to tell them.
    ->> The text in the current LICENSE file (quoted below) is not
    ->> entirely clear
    ->> on the point of whether distributing modified versions is
    ->> allowed.  (It
    ->> says "distribute and use", but not "modify".)
    ->> 
    ->>      
    ->> ===================================================================
    ->>       Distribute and use freely; there are
    ->> no restrictions on further
    ->>       dissemination and usage except those
    ->> imposed by the laws of your
    ->>       country of residence.  This
    ->> software is provided "as is" without
    ->>       warranty of fitness for use or
    ->> suitability for any purpose, express
    ->>       or implied. Use at your own risk or
    ->> not at all.
    ->>      
    ->> ===================================================================
    ->> 
    ->>       Incorporating the code into commercial
    ->> products is permitted; you do
    ->>       not have to make source available or
    ->> contribute your changes back
    ->>       (though that would be nice).
    ->> 
    ->>       --amk       
    ->>                
    ->>                
    ->>             (www.amk.ca)
    ->> 
    ->> For the next PyCrypto release, I would like to take steps
    ->> to move toward a
    ->> clearer licensing regime.  I am asking as many
    ->> copyright holders as I can
    ->> find if I can release PyCrypto under something clearer and
    ->> more standard.
    ->> Below, I have quoted a public domain dedication that was
    ->> recommended in
    ->> _Intellectual Property and Open Source: A Practical Guide
    ->> to Protecting
    ->> Code_, by Van Lindberg.  I have already contacted A.
    ->> M. Kuchling, Robey
    ->> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    ->> have all
    ->> approved the following dedication for their contributions.
    ->> 
    ->> I understand that you have made contributions to
    ->> PyCrypto.  May I, on your
    ->> behalf, dedicate to the public domain all your
    ->> contributions to PyCrypto,
    ->> with the following notice?
    ->> 
    ->>      
    ->> =======================================================================
    ->>       The contents of this file are
    ->> dedicated to the public domain.  To the
    ->>       extent that dedication to the public
    ->> domain is not available, everyone
    ->>       is granted a worldwide, perpetual,
    ->> royalty-free, non-exclusive license
    ->>       to exercise all rights associated with
    ->> the contents of this file for
    ->>       any purpose whatsoever.  No
    ->> rights are reserved.
    ->>      
    ->> =======================================================================
    ->> 
    ->> Regards,
    ->>    - Dwayne
    ->> 
    ->> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->>    Key-signing key   - 19E1
    ->> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->> 
    ->
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    -
    -
    -
    -==========================================================
    -Date: Mon, 16 Feb 2009 12:58:00 -0800
    -From: Robey Pointer <robey@lag.net>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Received-SPF: pass (goedel.dlitz.net: domain of robey@lag.net designates 69.61.78.186 as permitted sender)
    -Message-Id: <F469A078-6305-4484-BEA8-F4EC38A4154F@lag.net>
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On 23 Nov 2008, at 07:42, Dwayne C. Litzenberger wrote:
    -
    -> For the next PyCrypto release, I would like to take steps to move  
    -> toward a clearer licensing regime.  I am asking as many copyright  
    -> holders as I can find if I can release PyCrypto under something  
    -> clearer and more standard.  Below, I have quoted a public domain  
    -> dedication that was recommended in _Intellectual Property and Open  
    -> Source: A Practical Guide to Protecting Code_, by Van Lindberg.  I  
    -> have already contacted A. M. Kuchling, and he has approved the  
    -> following dedication for his contributions.
    ->
    -> May I, on your behalf, dedicate to the public domain all your  
    -> contributions to PyCrypto, with the following notice?
    ->
    ->     
    -> = 
    -> ======================================================================
    ->    The contents of this file are dedicated to the public domain.  To  
    -> the
    ->    extent that dedication to the public domain is not available,  
    -> everyone
    ->    is granted a worldwide, perpetual, royalty-free, non-exclusive  
    -> license
    ->    to exercise all rights associated with the contents of this file  
    -> for
    ->    any purpose whatsoever.  No rights are reserved.
    ->     
    -> = 
    -> ======================================================================
    ->
    -
    -In case I haven't replied to this yet: Yes, this is fine with me.
    -
    -robey
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.8 (Darwin)
    -
    -iEYEARECAAYFAkmZ01gACgkQQQDkKvyJ6cOLvQCfQmYYuVODvIlyLg0hgCI9LAbQ
    -SH8AoLJgaq1lIi7/ZYDc+/Cd8VO0xLbr
    -=Mv6g
    ------END PGP SIGNATURE-----
    -
    -
    -
    -==========================================================
    -From dlitz@dlitz.net Sun Aug  2 21:48:25 2009
    -Date: Sun, 2 Aug 2009 21:48:25 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Paul Swartz <paulswartz@gmail.com>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090803014825.GA1326@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2631
    -
    -Hi Paul,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -   ===================================================================
    -   Distribute and use freely; there are no restrictions on further
    -   dissemination and usage except those imposed by the laws of your
    -   country of residence.  This software is provided "as is" without
    -   warranty of fitness for use or suitability for any purpose, express
    -   or implied. Use at your own risk or not at all.
    -   ===================================================================
    -
    -   Incorporating the code into commercial products is permitted; you do
    -   not have to make source available or contribute your changes back
    -   (though that would be nice).
    -
    -   --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, Joris Bontje, and Mark 
    -Moraes, and they have all approved the following dedication for their 
    -contributions.
    -
    -I understand that you have made contributions to PyCrypto, under nickname 
    -"z3p" and/or other names.  May I, on your behalf, dedicate to the public 
    -domain all your contributions to PyCrypto, with the following notice?
    -
    -   =======================================================================
    -   The contents of this file are dedicated to the public domain.  To the
    -   extent that dedication to the public domain is not available, everyone
    -   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -   to exercise all rights associated with the contents of this file for
    -   any purpose whatsoever.  No rights are reserved.
    -   =======================================================================
    -
    -Regards,
    -  - Dwayne
    -
    ---
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -   Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From paulswartz@gmail.com Mon Aug  3 12:14:07 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <paulswartz@gmail.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 30B9D984FC4
    -    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 12:14:07 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id AD9AE81068
    -    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 10:14:06 -0600 (CST)
    -Received: (vmailmgr-postfix 32055 invoked by uid 1003);  3 Aug 2009 10:14:06 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: pass (gmail.com ... _spf.google.com: 72.14.220.159 is authorized to use 'paulswartz@gmail.com' in 'mfrom' identity (mechanism 'ip4:72.14.192.0/18' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="paulswartz@gmail.com"; helo=fg-out-1718.google.com; client-ip=72.14.220.159
    -Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 4E63881066
    -    for <dlitz@dlitz.net>; Mon,  3 Aug 2009 10:14:05 -0600 (CST)
    -Received: by fg-out-1718.google.com with SMTP id d23so1076840fga.3
    -        for <dlitz@dlitz.net>; Mon, 03 Aug 2009 09:14:04 -0700 (PDT)
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    -        d=gmail.com; s=gamma;
    -        h=domainkey-signature:mime-version:received:in-reply-to:references
    -         :from:date:message-id:subject:to:content-type
    -         :content-transfer-encoding;
    -        bh=A0RHBf0TnribKS5qOHJ3WYbkZ+b0cuPeuoKAvpApWcc=;
    -        b=gyTqkRhKlHadFKIZCBWsRbnMNVDq1PWlJbyC0EvxPskaoHr3HAR96MWQNBePu/40Ac
    -         Vn55qlIqTdom4e9zlUEE6MwZo9kqi/Qw0L/SLib0DlQeNqo/eHYqPmuVswltaYwNAyMJ
    -         Y9++76rPGzqYdALsfvsmwv7Q3/bEmjVTr0tQE=
    -DomainKey-Signature: a=rsa-sha1; c=nofws;
    -        d=gmail.com; s=gamma;
    -        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
    -         :content-type:content-transfer-encoding;
    -        b=jze7KSMkUGilfVCXKXaaXMi5NAtGdMQOtVZZfRNyGSy68xOd2sxefjyyig3EfT6Nv6
    -         Q3opUMsT96Q6zjZND55w446kTh2uBTNz4d3NwIeEWJnG3xcliRQu/mXPFp8AzPI3CefL
    -         1ornJLM1eQ2XyuZA73jem+SJtfdHUcSD1UhgI=
    -MIME-Version: 1.0
    -Received: by 10.239.157.147 with SMTP id q19mr601802hbc.61.1249316043185; Mon, 
    -    03 Aug 2009 09:14:03 -0700 (PDT)
    -In-Reply-To: <20090803014825.GA1326@rivest.dlitz.net>
    -References: <20090803014825.GA1326@rivest.dlitz.net>
    -From: Paul Swartz <paulswartz@gmail.com>
    -Date: Mon, 3 Aug 2009 12:13:43 -0400
    -Message-ID: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Content-Type: text/plain; charset=UTF-8
    -Content-Transfer-Encoding: quoted-printable
    -Status: RO
    -X-Status: A
    -Content-Length: 1450
    -
    -On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wro=
    -te:
    -> Hi Paul,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    -
    -That's great!
    -
    -> I understand that you have made contributions to PyCrypto, under nickname
    -> "z3p" and/or other names. =C2=A0May I, on your behalf, dedicate to the pu=
    -blic
    -> domain all your contributions to PyCrypto, with the following notice?
    ->
    -> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -> =C2=A0The contents of this file are dedicated to the public domain. =C2=
    -=A0To the
    -> =C2=A0extent that dedication to the public domain is not available, every=
    -one
    -> =C2=A0is granted a worldwide, perpetual, royalty-free, non-exclusive lice=
    -nse
    -> =C2=A0to exercise all rights associated with the contents of this file fo=
    -r
    -> =C2=A0any purpose whatsoever. =C2=A0No rights are reserved.
    -> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -Yes, that's fine.  Good luck with the new release!
    -
    --p
    ---=20
    -Paul Swartz
    -paulswartz at gmail dot com
    -http://paulswartz.net/
    -AIM: z3penguin
    -
    -
    -From dlitz@dlitz.net Mon Aug  3 14:35:01 2009
    -Date: Mon, 3 Aug 2009 14:35:01 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Paul Swartz <paulswartz@gmail.com>
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090803183501.GA17472@rivest.dlitz.net>
    -References: <20090803014825.GA1326@rivest.dlitz.net> <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=iso-8859-1; format=flowed
    -Content-Disposition: inline
    -Content-Transfer-Encoding: 8bit
    -In-Reply-To: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 1250
    -
    -On Mon, Aug 03, 2009 at 12:13:43PM -0400, Paul Swartz wrote:
    ->On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wrote:
    ->> Hi Paul,
    ->>
    ->> I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->
    ->That's great!
    ->
    ->> I understand that you have made contributions to PyCrypto, under nickname
    ->> "z3p" and/or other names. �May I, on your behalf, dedicate to the public
    ->> domain all your contributions to PyCrypto, with the following notice?
    ->>
    ->> �=======================================================================
    ->> �The contents of this file are dedicated to the public domain. �To the
    ->> �extent that dedication to the public domain is not available, everyone
    ->> �is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->> �to exercise all rights associated with the contents of this file for
    ->> �any purpose whatsoever. �No rights are reserved.
    ->> �=======================================================================
    ->
    ->Yes, that's fine.  Good luck with the new release!
    -
    -Perfect!  Thanks for the quick response!
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -
    -
    -==========================================================
    -
    -
    - - -
    - -
    -

    python-social-auth - 0.2.12 -

    - - -
    Copyright (c) 2012-2013, Matias Aguirre
    - - - - -
    Copyright (c) 2012-2013, Matías Aguirre
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    1. Redistributions of source code must retain the above copyright notice,
    -       this list of conditions and the following disclaimer.
    -
    -    2. Redistributions in binary form must reproduce the above copyright
    -       notice, this list of conditions and the following disclaimer in the
    -       documentation and/or other materials provided with the distribution.
    -
    -    3. Neither the name of this project nor the names of its contributors may be
    -       used to endorse or promote products derived from this software without
    -       specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    psycopg2 - 2.5.4 -

    - - - -
    psycopg2 and the LGPL
    -=====================
    -
    -psycopg2 is free software: you can redistribute it and/or modify it
    -under the terms of the GNU Lesser General Public License as published
    -by the Free Software Foundation, either version 3 of the License, or
    -(at your option) any later version.
    -
    -psycopg2 is distributed in the hope that it will be useful, but WITHOUT
    -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    -FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
    -License for more details.
    -
    -In addition, as a special exception, the copyright holders give
    -permission to link this program with the OpenSSL library (or with
    -modified versions of OpenSSL that use the same license as OpenSSL),
    -and distribute linked combinations including the two.
    -
    -You must obey the GNU Lesser General Public License in all respects for
    -all of the code used other than OpenSSL. If you modify file(s) with this
    -exception, you may extend this exception to your version of the file(s),
    -but you are not obligated to do so. If you do not wish to do so, delete
    -this exception statement from your version. If you delete this exception
    -statement from all source files in the program, then also delete it here.
    -
    -You should have received a copy of the GNU Lesser General Public License
    -along with psycopg2 (see the doc/ directory.)
    -If not, see .
    -
    -
    -Alternative licenses
    -====================
    -
    -If you prefer you can use the Zope Database Adapter ZPsycopgDA (i.e.,
    -every file inside the ZPsycopgDA directory) user the ZPL license as
    -published on the Zope web site, http://www.zope.org/Resources/ZPL.
    -
    -Also, the following BSD-like license applies (at your option) to the
    -files following the pattern psycopg/adapter*.{h,c} and
    -psycopg/microprotocol*.{h,c}:
    -
    - Permission is granted to anyone to use this software for any purpose,
    - including commercial applications, and to alter it and redistribute it
    - freely, subject to the following restrictions:
    -
    - 1. The origin of this software must not be misrepresented; you must not
    -    claim that you wrote the original software. If you use this
    -    software in a product, an acknowledgment in the product documentation
    -    would be appreciated but is not required.
    - 
    - 2. Altered source versions must be plainly marked as such, and must not
    -    be misrepresented as being the original software.
    - 
    - 3. This notice may not be removed or altered from any source distribution.
    -
    - ============================================================================
    - This build contains zlib 1.2.8
    - http://zlib.net/zlib-1.2.8.tar.gz
    -
    -   version 1.2.8, April 28th, 2013
    -
    -  Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
    -
    -  This software is provided 'as-is', without any express or implied
    -  warranty.  In no event will the authors be held liable for any damages
    -  arising from the use of this software.
    -
    -  Permission is granted to anyone to use this software for any purpose,
    -  including commercial applications, and to alter it and redistribute it
    -  freely, subject to the following restrictions:
    -
    -  1. The origin of this software must not be misrepresented; you must not
    -     claim that you wrote the original software. If you use this software
    -     in a product, an acknowledgment in the product documentation would be
    -     appreciated but is not required.
    -  2. Altered source versions must be plainly marked as such, and must not be
    -     misrepresented as being the original software.
    -  3. This notice may not be removed or altered from any source distribution.
    -
    -  Jean-loup Gailly        Mark Adler
    -  jloup@gzip.org          madler@alumni.caltech.edu
    - 
    -==============================================================================
    - This build contains libpq from Postgres 9.3.5
    - 
    - PostgreSQL Database Management System
    -(formerly known as Postgres, then as Postgres95)
    -
    -Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
    -
    -Portions Copyright (c) 1994, The Regents of the University of California
    -
    -Permission to use, copy, modify, and distribute this software and its
    -documentation for any purpose, without fee, and without a written agreement
    -is hereby granted, provided that the above copyright notice and this
    -paragraph and the following two paragraphs appear in all copies.
    -
    -IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
    -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
    -LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
    -DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    -THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
    -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    -AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
    -ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
    -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
    -
    - 
    - =============================================================================
    - This build contains OpenSSL 1.0.1i 
    - 
    -  LICENSE ISSUES
    -  ==============
    -
    -  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
    -  the OpenSSL License and the original SSLeay license apply to the toolkit.
    -  See below for the actual license texts. Actually both licenses are BSD-style
    -  Open Source licenses. In case of any license issues related to OpenSSL
    -  please contact openssl-core@openssl.org.
    -
    -  OpenSSL License
    -  ---------------
    -
    -/* ====================================================================
    - * Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - *
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer. 
    - *
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in
    - *    the documentation and/or other materials provided with the
    - *    distribution.
    - *
    - * 3. All advertising materials mentioning features or use of this
    - *    software must display the following acknowledgment:
    - *    "This product includes software developed by the OpenSSL Project
    - *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    - *
    - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    - *    endorse or promote products derived from this software without
    - *    prior written permission. For written permission, please contact
    - *    openssl-core@openssl.org.
    - *
    - * 5. Products derived from this software may not be called "OpenSSL"
    - *    nor may "OpenSSL" appear in their names without prior written
    - *    permission of the OpenSSL Project.
    - *
    - * 6. Redistributions of any form whatsoever must retain the following
    - *    acknowledgment:
    - *    "This product includes software developed by the OpenSSL Project
    - *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    - *
    - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    - * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    - * OF THE POSSIBILITY OF SUCH DAMAGE.
    - * ====================================================================
    - *
    - * This product includes cryptographic software written by Eric Young
    - * (eay@cryptsoft.com).  This product includes software written by Tim
    - * Hudson (tjh@cryptsoft.com).
    - *
    - */
    -
    - Original SSLeay License
    - -----------------------
    -
    -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    - * All rights reserved.
    - *
    - * This package is an SSL implementation written
    - * by Eric Young (eay@cryptsoft.com).
    - * The implementation was written so as to conform with Netscapes SSL.
    - * 
    - * This library is free for commercial and non-commercial use as long as
    - * the following conditions are aheared to.  The following conditions
    - * apply to all code found in this distribution, be it the RC4, RSA,
    - * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    - * included with this distribution is covered by the same copyright terms
    - * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    - * 
    - * Copyright remains Eric Young's, and as such any Copyright notices in
    - * the code are not to be removed.
    - * If this package is used in a product, Eric Young should be given attribution
    - * as the author of the parts of the library used.
    - * This can be in the form of a textual message at program startup or
    - * in documentation (online or textual) provided with the package.
    - * 
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. All advertising materials mentioning features or use of this software
    - *    must display the following acknowledgement:
    - *    "This product includes cryptographic software written by
    - *     Eric Young (eay@cryptsoft.com)"
    - *    The word 'cryptographic' can be left out if the rouines from the library
    - *    being used are not cryptographic related :-).
    - * 4. If you include any Windows specific code (or a derivative thereof) from 
    - *    the apps directory (application code) you must include an acknowledgement:
    - *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    - * 
    - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - * 
    - * The licence and distribution terms for any publically available version or
    - * derivative of this code cannot be changed.  i.e. this code cannot simply be
    - * copied and put under another distribution licence
    - * [including the GNU Public Licence.]
    - */
    -
    - 
    - - - -
    		   GNU LESSER GENERAL PUBLIC LICENSE
    -                       Version 3, 29 June 2007
    -
    - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -
    -  This version of the GNU Lesser General Public License incorporates
    -the terms and conditions of version 3 of the GNU General Public
    -License, supplemented by the additional permissions listed below.
    -
    -  0. Additional Definitions. 
    -
    -  As used herein, "this License" refers to version 3 of the GNU Lesser
    -General Public License, and the "GNU GPL" refers to version 3 of the GNU
    -General Public License.
    -
    -  "The Library" refers to a covered work governed by this License,
    -other than an Application or a Combined Work as defined below.
    -
    -  An "Application" is any work that makes use of an interface provided
    -by the Library, but which is not otherwise based on the Library.
    -Defining a subclass of a class defined by the Library is deemed a mode
    -of using an interface provided by the Library.
    -
    -  A "Combined Work" is a work produced by combining or linking an
    -Application with the Library.  The particular version of the Library
    -with which the Combined Work was made is also called the "Linked
    -Version".
    -
    -  The "Minimal Corresponding Source" for a Combined Work means the
    -Corresponding Source for the Combined Work, excluding any source code
    -for portions of the Combined Work that, considered in isolation, are
    -based on the Application, and not on the Linked Version.
    -
    -  The "Corresponding Application Code" for a Combined Work means the
    -object code and/or source code for the Application, including any data
    -and utility programs needed for reproducing the Combined Work from the
    -Application, but excluding the System Libraries of the Combined Work.
    -
    -  1. Exception to Section 3 of the GNU GPL.
    -
    -  You may convey a covered work under sections 3 and 4 of this License
    -without being bound by section 3 of the GNU GPL.
    -
    -  2. Conveying Modified Versions.
    -
    -  If you modify a copy of the Library, and, in your modifications, a
    -facility refers to a function or data to be supplied by an Application
    -that uses the facility (other than as an argument passed when the
    -facility is invoked), then you may convey a copy of the modified
    -version:
    -
    -   a) under this License, provided that you make a good faith effort to
    -   ensure that, in the event an Application does not supply the
    -   function or data, the facility still operates, and performs
    -   whatever part of its purpose remains meaningful, or
    -
    -   b) under the GNU GPL, with none of the additional permissions of
    -   this License applicable to that copy.
    -
    -  3. Object Code Incorporating Material from Library Header Files.
    -
    -  The object code form of an Application may incorporate material from
    -a header file that is part of the Library.  You may convey such object
    -code under terms of your choice, provided that, if the incorporated
    -material is not limited to numerical parameters, data structure
    -layouts and accessors, or small macros, inline functions and templates
    -(ten or fewer lines in length), you do both of the following:
    -
    -   a) Give prominent notice with each copy of the object code that the
    -   Library is used in it and that the Library and its use are
    -   covered by this License.
    -
    -   b) Accompany the object code with a copy of the GNU GPL and this license
    -   document.
    -
    -  4. Combined Works.
    -
    -  You may convey a Combined Work under terms of your choice that,
    -taken together, effectively do not restrict modification of the
    -portions of the Library contained in the Combined Work and reverse
    -engineering for debugging such modifications, if you also do each of
    -the following:
    -
    -   a) Give prominent notice with each copy of the Combined Work that
    -   the Library is used in it and that the Library and its use are
    -   covered by this License.
    -
    -   b) Accompany the Combined Work with a copy of the GNU GPL and this license
    -   document.
    -
    -   c) For a Combined Work that displays copyright notices during
    -   execution, include the copyright notice for the Library among
    -   these notices, as well as a reference directing the user to the
    -   copies of the GNU GPL and this license document.
    -
    -   d) Do one of the following:
    -
    -       0) Convey the Minimal Corresponding Source under the terms of this
    -       License, and the Corresponding Application Code in a form
    -       suitable for, and under terms that permit, the user to
    -       recombine or relink the Application with a modified version of
    -       the Linked Version to produce a modified Combined Work, in the
    -       manner specified by section 6 of the GNU GPL for conveying
    -       Corresponding Source.
    -
    -       1) Use a suitable shared library mechanism for linking with the
    -       Library.  A suitable mechanism is one that (a) uses at run time
    -       a copy of the Library already present on the user's computer
    -       system, and (b) will operate properly with a modified version
    -       of the Library that is interface-compatible with the Linked
    -       Version. 
    -
    -   e) Provide Installation Information, but only if you would otherwise
    -   be required to provide such information under section 6 of the
    -   GNU GPL, and only to the extent that such information is
    -   necessary to install and execute a modified version of the
    -   Combined Work produced by recombining or relinking the
    -   Application with a modified version of the Linked Version. (If
    -   you use option 4d0, the Installation Information must accompany
    -   the Minimal Corresponding Source and Corresponding Application
    -   Code. If you use option 4d1, you must provide the Installation
    -   Information in the manner specified by section 6 of the GNU GPL
    -   for conveying Corresponding Source.)
    -
    -  5. Combined Libraries.
    -
    -  You may place library facilities that are a work based on the
    -Library side by side in a single library together with other library
    -facilities that are not Applications and are not covered by this
    -License, and convey such a combined library under terms of your
    -choice, if you do both of the following:
    -
    -   a) Accompany the combined library with a copy of the same work based
    -   on the Library, uncombined with any other library facilities,
    -   conveyed under the terms of this License.
    -
    -   b) Give prominent notice with the combined library that part of it
    -   is a work based on the Library, and explaining where to find the
    -   accompanying uncombined form of the same work.
    -
    -  6. Revised Versions of the GNU Lesser General Public License.
    -
    -  The Free Software Foundation may publish revised and/or new versions
    -of the GNU Lesser General Public License from time to time. Such new
    -versions will be similar in spirit to the present version, but may
    -differ in detail to address new problems or concerns.
    -
    -  Each version is given a distinguishing version number. If the
    -Library as you received it specifies that a certain numbered version
    -of the GNU Lesser General Public License "or any later version"
    -applies to it, you have the option of following the terms and
    -conditions either of that published version or of any later version
    -published by the Free Software Foundation. If the Library as you
    -received it does not specify a version number of the GNU Lesser
    -General Public License, you may choose any version of the GNU Lesser
    -General Public License ever published by the Free Software Foundation.
    -
    -  If the Library as you received it specifies that a proxy can decide
    -whether future versions of the GNU Lesser General Public License shall
    -apply, that proxy's public statement of acceptance of any version is
    -permanent authorization for you to choose that version for the
    -Library.
    -
    -
    -
    -
    -
    -
    -
    -
    -====================================================================
    -
    -		    GNU GENERAL PUBLIC LICENSE
    -		       Version 3, 29 June 2007
    -
    - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -			    Preamble
    -
    -  The GNU General Public License is a free, copyleft license for
    -software and other kinds of works.
    -
    -  The licenses for most software and other practical works are designed
    -to take away your freedom to share and change the works.  By contrast,
    -the GNU General Public License is intended to guarantee your freedom to
    -share and change all versions of a program--to make sure it remains free
    -software for all its users.  We, the Free Software Foundation, use the
    -GNU General Public License for most of our software; it applies also to
    -any other work released this way by its authors.  You can apply it to
    -your programs, too.
    -
    -  When we speak of free software, we are referring to freedom, not
    -price.  Our General Public Licenses are designed to make sure that you
    -have the freedom to distribute copies of free software (and charge for
    -them if you wish), that you receive source code or can get it if you
    -want it, that you can change the software or use pieces of it in new
    -free programs, and that you know you can do these things.
    -
    -  To protect your rights, we need to prevent others from denying you
    -these rights or asking you to surrender the rights.  Therefore, you have
    -certain responsibilities if you distribute copies of the software, or if
    -you modify it: responsibilities to respect the freedom of others.
    -
    -  For example, if you distribute copies of such a program, whether
    -gratis or for a fee, you must pass on to the recipients the same
    -freedoms that you received.  You must make sure that they, too, receive
    -or can get the source code.  And you must show them these terms so they
    -know their rights.
    -
    -  Developers that use the GNU GPL protect your rights with two steps:
    -(1) assert copyright on the software, and (2) offer you this License
    -giving you legal permission to copy, distribute and/or modify it.
    -
    -  For the developers' and authors' protection, the GPL clearly explains
    -that there is no warranty for this free software.  For both users' and
    -authors' sake, the GPL requires that modified versions be marked as
    -changed, so that their problems will not be attributed erroneously to
    -authors of previous versions.
    -
    -  Some devices are designed to deny users access to install or run
    -modified versions of the software inside them, although the manufacturer
    -can do so.  This is fundamentally incompatible with the aim of
    -protecting users' freedom to change the software.  The systematic
    -pattern of such abuse occurs in the area of products for individuals to
    -use, which is precisely where it is most unacceptable.  Therefore, we
    -have designed this version of the GPL to prohibit the practice for those
    -products.  If such problems arise substantially in other domains, we
    -stand ready to extend this provision to those domains in future versions
    -of the GPL, as needed to protect the freedom of users.
    -
    -  Finally, every program is threatened constantly by software patents.
    -States should not allow patents to restrict development and use of
    -software on general-purpose computers, but in those that do, we wish to
    -avoid the special danger that patents applied to a free program could
    -make it effectively proprietary.  To prevent this, the GPL assures that
    -patents cannot be used to render the program non-free.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.
    -
    -		       TERMS AND CONDITIONS
    -
    -  0. Definitions.
    -
    -  "This License" refers to version 3 of the GNU General Public License.
    -
    -  "Copyright" also means copyright-like laws that apply to other kinds of
    -works, such as semiconductor masks.
    - 
    -  "The Program" refers to any copyrightable work licensed under this
    -License.  Each licensee is addressed as "you".  "Licensees" and
    -"recipients" may be individuals or organizations.
    -
    -  To "modify" a work means to copy from or adapt all or part of the work
    -in a fashion requiring copyright permission, other than the making of an
    -exact copy.  The resulting work is called a "modified version" of the
    -earlier work or a work "based on" the earlier work.
    -
    -  A "covered work" means either the unmodified Program or a work based
    -on the Program.
    -
    -  To "propagate" a work means to do anything with it that, without
    -permission, would make you directly or secondarily liable for
    -infringement under applicable copyright law, except executing it on a
    -computer or modifying a private copy.  Propagation includes copying,
    -distribution (with or without modification), making available to the
    -public, and in some countries other activities as well.
    -
    -  To "convey" a work means any kind of propagation that enables other
    -parties to make or receive copies.  Mere interaction with a user through
    -a computer network, with no transfer of a copy, is not conveying.
    -
    -  An interactive user interface displays "Appropriate Legal Notices"
    -to the extent that it includes a convenient and prominently visible
    -feature that (1) displays an appropriate copyright notice, and (2)
    -tells the user that there is no warranty for the work (except to the
    -extent that warranties are provided), that licensees may convey the
    -work under this License, and how to view a copy of this License.  If
    -the interface presents a list of user commands or options, such as a
    -menu, a prominent item in the list meets this criterion.
    -
    -  1. Source Code.
    -
    -  The "source code" for a work means the preferred form of the work
    -for making modifications to it.  "Object code" means any non-source
    -form of a work.
    -
    -  A "Standard Interface" means an interface that either is an official
    -standard defined by a recognized standards body, or, in the case of
    -interfaces specified for a particular programming language, one that
    -is widely used among developers working in that language.
    -
    -  The "System Libraries" of an executable work include anything, other
    -than the work as a whole, that (a) is included in the normal form of
    -packaging a Major Component, but which is not part of that Major
    -Component, and (b) serves only to enable use of the work with that
    -Major Component, or to implement a Standard Interface for which an
    -implementation is available to the public in source code form.  A
    -"Major Component", in this context, means a major essential component
    -(kernel, window system, and so on) of the specific operating system
    -(if any) on which the executable work runs, or a compiler used to
    -produce the work, or an object code interpreter used to run it.
    -
    -  The "Corresponding Source" for a work in object code form means all
    -the source code needed to generate, install, and (for an executable
    -work) run the object code and to modify the work, including scripts to
    -control those activities.  However, it does not include the work's
    -System Libraries, or general-purpose tools or generally available free
    -programs which are used unmodified in performing those activities but
    -which are not part of the work.  For example, Corresponding Source
    -includes interface definition files associated with source files for
    -the work, and the source code for shared libraries and dynamically
    -linked subprograms that the work is specifically designed to require,
    -such as by intimate data communication or control flow between those
    -subprograms and other parts of the work.
    -
    -  The Corresponding Source need not include anything that users
    -can regenerate automatically from other parts of the Corresponding
    -Source.
    -
    -  The Corresponding Source for a work in source code form is that
    -same work.
    -
    -  2. Basic Permissions.
    -
    -  All rights granted under this License are granted for the term of
    -copyright on the Program, and are irrevocable provided the stated
    -conditions are met.  This License explicitly affirms your unlimited
    -permission to run the unmodified Program.  The output from running a
    -covered work is covered by this License only if the output, given its
    -content, constitutes a covered work.  This License acknowledges your
    -rights of fair use or other equivalent, as provided by copyright law.
    -
    -  You may make, run and propagate covered works that you do not
    -convey, without conditions so long as your license otherwise remains
    -in force.  You may convey covered works to others for the sole purpose
    -of having them make modifications exclusively for you, or provide you
    -with facilities for running those works, provided that you comply with
    -the terms of this License in conveying all material for which you do
    -not control copyright.  Those thus making or running the covered works
    -for you must do so exclusively on your behalf, under your direction
    -and control, on terms that prohibit them from making any copies of
    -your copyrighted material outside their relationship with you.
    -
    -  Conveying under any other circumstances is permitted solely under
    -the conditions stated below.  Sublicensing is not allowed; section 10
    -makes it unnecessary.
    -
    -  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    -
    -  No covered work shall be deemed part of an effective technological
    -measure under any applicable law fulfilling obligations under article
    -11 of the WIPO copyright treaty adopted on 20 December 1996, or
    -similar laws prohibiting or restricting circumvention of such
    -measures.
    -
    -  When you convey a covered work, you waive any legal power to forbid
    -circumvention of technological measures to the extent such circumvention
    -is effected by exercising rights under this License with respect to
    -the covered work, and you disclaim any intention to limit operation or
    -modification of the work as a means of enforcing, against the work's
    -users, your or third parties' legal rights to forbid circumvention of
    -technological measures.
    -
    -  4. Conveying Verbatim Copies.
    -
    -  You may convey verbatim copies of the Program's source code as you
    -receive it, in any medium, provided that you conspicuously and
    -appropriately publish on each copy an appropriate copyright notice;
    -keep intact all notices stating that this License and any
    -non-permissive terms added in accord with section 7 apply to the code;
    -keep intact all notices of the absence of any warranty; and give all
    -recipients a copy of this License along with the Program.
    -
    -  You may charge any price or no price for each copy that you convey,
    -and you may offer support or warranty protection for a fee.
    -
    -  5. Conveying Modified Source Versions.
    -
    -  You may convey a work based on the Program, or the modifications to
    -produce it from the Program, in the form of source code under the
    -terms of section 4, provided that you also meet all of these conditions:
    -
    -    a) The work must carry prominent notices stating that you modified
    -    it, and giving a relevant date.
    -
    -    b) The work must carry prominent notices stating that it is
    -    released under this License and any conditions added under section
    -    7.  This requirement modifies the requirement in section 4 to
    -    "keep intact all notices".
    -
    -    c) You must license the entire work, as a whole, under this
    -    License to anyone who comes into possession of a copy.  This
    -    License will therefore apply, along with any applicable section 7
    -    additional terms, to the whole of the work, and all its parts,
    -    regardless of how they are packaged.  This License gives no
    -    permission to license the work in any other way, but it does not
    -    invalidate such permission if you have separately received it.
    -
    -    d) If the work has interactive user interfaces, each must display
    -    Appropriate Legal Notices; however, if the Program has interactive
    -    interfaces that do not display Appropriate Legal Notices, your
    -    work need not make them do so.
    -
    -  A compilation of a covered work with other separate and independent
    -works, which are not by their nature extensions of the covered work,
    -and which are not combined with it such as to form a larger program,
    -in or on a volume of a storage or distribution medium, is called an
    -"aggregate" if the compilation and its resulting copyright are not
    -used to limit the access or legal rights of the compilation's users
    -beyond what the individual works permit.  Inclusion of a covered work
    -in an aggregate does not cause this License to apply to the other
    -parts of the aggregate.
    -
    -  6. Conveying Non-Source Forms.
    -
    -  You may convey a covered work in object code form under the terms
    -of sections 4 and 5, provided that you also convey the
    -machine-readable Corresponding Source under the terms of this License,
    -in one of these ways:
    -
    -    a) Convey the object code in, or embodied in, a physical product
    -    (including a physical distribution medium), accompanied by the
    -    Corresponding Source fixed on a durable physical medium
    -    customarily used for software interchange.
    -
    -    b) Convey the object code in, or embodied in, a physical product
    -    (including a physical distribution medium), accompanied by a
    -    written offer, valid for at least three years and valid for as
    -    long as you offer spare parts or customer support for that product
    -    model, to give anyone who possesses the object code either (1) a
    -    copy of the Corresponding Source for all the software in the
    -    product that is covered by this License, on a durable physical
    -    medium customarily used for software interchange, for a price no
    -    more than your reasonable cost of physically performing this
    -    conveying of source, or (2) access to copy the
    -    Corresponding Source from a network server at no charge.
    -
    -    c) Convey individual copies of the object code with a copy of the
    -    written offer to provide the Corresponding Source.  This
    -    alternative is allowed only occasionally and noncommercially, and
    -    only if you received the object code with such an offer, in accord
    -    with subsection 6b.
    -
    -    d) Convey the object code by offering access from a designated
    -    place (gratis or for a charge), and offer equivalent access to the
    -    Corresponding Source in the same way through the same place at no
    -    further charge.  You need not require recipients to copy the
    -    Corresponding Source along with the object code.  If the place to
    -    copy the object code is a network server, the Corresponding Source
    -    may be on a different server (operated by you or a third party)
    -    that supports equivalent copying facilities, provided you maintain
    -    clear directions next to the object code saying where to find the
    -    Corresponding Source.  Regardless of what server hosts the
    -    Corresponding Source, you remain obligated to ensure that it is
    -    available for as long as needed to satisfy these requirements.
    -
    -    e) Convey the object code using peer-to-peer transmission, provided
    -    you inform other peers where the object code and Corresponding
    -    Source of the work are being offered to the general public at no
    -    charge under subsection 6d.
    -
    -  A separable portion of the object code, whose source code is excluded
    -from the Corresponding Source as a System Library, need not be
    -included in conveying the object code work.
    -
    -  A "User Product" is either (1) a "consumer product", which means any
    -tangible personal property which is normally used for personal, family,
    -or household purposes, or (2) anything designed or sold for incorporation
    -into a dwelling.  In determining whether a product is a consumer product,
    -doubtful cases shall be resolved in favor of coverage.  For a particular
    -product received by a particular user, "normally used" refers to a
    -typical or common use of that class of product, regardless of the status
    -of the particular user or of the way in which the particular user
    -actually uses, or expects or is expected to use, the product.  A product
    -is a consumer product regardless of whether the product has substantial
    -commercial, industrial or non-consumer uses, unless such uses represent
    -the only significant mode of use of the product.
    -
    -  "Installation Information" for a User Product means any methods,
    -procedures, authorization keys, or other information required to install
    -and execute modified versions of a covered work in that User Product from
    -a modified version of its Corresponding Source.  The information must
    -suffice to ensure that the continued functioning of the modified object
    -code is in no case prevented or interfered with solely because
    -modification has been made.
    -
    -  If you convey an object code work under this section in, or with, or
    -specifically for use in, a User Product, and the conveying occurs as
    -part of a transaction in which the right of possession and use of the
    -User Product is transferred to the recipient in perpetuity or for a
    -fixed term (regardless of how the transaction is characterized), the
    -Corresponding Source conveyed under this section must be accompanied
    -by the Installation Information.  But this requirement does not apply
    -if neither you nor any third party retains the ability to install
    -modified object code on the User Product (for example, the work has
    -been installed in ROM).
    -
    -  The requirement to provide Installation Information does not include a
    -requirement to continue to provide support service, warranty, or updates
    -for a work that has been modified or installed by the recipient, or for
    -the User Product in which it has been modified or installed.  Access to a
    -network may be denied when the modification itself materially and
    -adversely affects the operation of the network or violates the rules and
    -protocols for communication across the network.
    -
    -  Corresponding Source conveyed, and Installation Information provided,
    -in accord with this section must be in a format that is publicly
    -documented (and with an implementation available to the public in
    -source code form), and must require no special password or key for
    -unpacking, reading or copying.
    -
    -  7. Additional Terms.
    -
    -  "Additional permissions" are terms that supplement the terms of this
    -License by making exceptions from one or more of its conditions.
    -Additional permissions that are applicable to the entire Program shall
    -be treated as though they were included in this License, to the extent
    -that they are valid under applicable law.  If additional permissions
    -apply only to part of the Program, that part may be used separately
    -under those permissions, but the entire Program remains governed by
    -this License without regard to the additional permissions.
    -
    -  When you convey a copy of a covered work, you may at your option
    -remove any additional permissions from that copy, or from any part of
    -it.  (Additional permissions may be written to require their own
    -removal in certain cases when you modify the work.)  You may place
    -additional permissions on material, added by you to a covered work,
    -for which you have or can give appropriate copyright permission.
    -
    -  Notwithstanding any other provision of this License, for material you
    -add to a covered work, you may (if authorized by the copyright holders of
    -that material) supplement the terms of this License with terms:
    -
    -    a) Disclaiming warranty or limiting liability differently from the
    -    terms of sections 15 and 16 of this License; or
    -
    -    b) Requiring preservation of specified reasonable legal notices or
    -    author attributions in that material or in the Appropriate Legal
    -    Notices displayed by works containing it; or
    -
    -    c) Prohibiting misrepresentation of the origin of that material, or
    -    requiring that modified versions of such material be marked in
    -    reasonable ways as different from the original version; or
    -
    -    d) Limiting the use for publicity purposes of names of licensors or
    -    authors of the material; or
    -
    -    e) Declining to grant rights under trademark law for use of some
    -    trade names, trademarks, or service marks; or
    -
    -    f) Requiring indemnification of licensors and authors of that
    -    material by anyone who conveys the material (or modified versions of
    -    it) with contractual assumptions of liability to the recipient, for
    -    any liability that these contractual assumptions directly impose on
    -    those licensors and authors.
    -
    -  All other non-permissive additional terms are considered "further
    -restrictions" within the meaning of section 10.  If the Program as you
    -received it, or any part of it, contains a notice stating that it is
    -governed by this License along with a term that is a further
    -restriction, you may remove that term.  If a license document contains
    -a further restriction but permits relicensing or conveying under this
    -License, you may add to a covered work material governed by the terms
    -of that license document, provided that the further restriction does
    -not survive such relicensing or conveying.
    -
    -  If you add terms to a covered work in accord with this section, you
    -must place, in the relevant source files, a statement of the
    -additional terms that apply to those files, or a notice indicating
    -where to find the applicable terms.
    -
    -  Additional terms, permissive or non-permissive, may be stated in the
    -form of a separately written license, or stated as exceptions;
    -the above requirements apply either way.
    -
    -  8. Termination.
    -
    -  You may not propagate or modify a covered work except as expressly
    -provided under this License.  Any attempt otherwise to propagate or
    -modify it is void, and will automatically terminate your rights under
    -this License (including any patent licenses granted under the third
    -paragraph of section 11).
    -
    -  However, if you cease all violation of this License, then your
    -license from a particular copyright holder is reinstated (a)
    -provisionally, unless and until the copyright holder explicitly and
    -finally terminates your license, and (b) permanently, if the copyright
    -holder fails to notify you of the violation by some reasonable means
    -prior to 60 days after the cessation.
    -
    -  Moreover, your license from a particular copyright holder is
    -reinstated permanently if the copyright holder notifies you of the
    -violation by some reasonable means, this is the first time you have
    -received notice of violation of this License (for any work) from that
    -copyright holder, and you cure the violation prior to 30 days after
    -your receipt of the notice.
    -
    -  Termination of your rights under this section does not terminate the
    -licenses of parties who have received copies or rights from you under
    -this License.  If your rights have been terminated and not permanently
    -reinstated, you do not qualify to receive new licenses for the same
    -material under section 10.
    -
    -  9. Acceptance Not Required for Having Copies.
    -
    -  You are not required to accept this License in order to receive or
    -run a copy of the Program.  Ancillary propagation of a covered work
    -occurring solely as a consequence of using peer-to-peer transmission
    -to receive a copy likewise does not require acceptance.  However,
    -nothing other than this License grants you permission to propagate or
    -modify any covered work.  These actions infringe copyright if you do
    -not accept this License.  Therefore, by modifying or propagating a
    -covered work, you indicate your acceptance of this License to do so.
    -
    -  10. Automatic Licensing of Downstream Recipients.
    -
    -  Each time you convey a covered work, the recipient automatically
    -receives a license from the original licensors, to run, modify and
    -propagate that work, subject to this License.  You are not responsible
    -for enforcing compliance by third parties with this License.
    -
    -  An "entity transaction" is a transaction transferring control of an
    -organization, or substantially all assets of one, or subdividing an
    -organization, or merging organizations.  If propagation of a covered
    -work results from an entity transaction, each party to that
    -transaction who receives a copy of the work also receives whatever
    -licenses to the work the party's predecessor in interest had or could
    -give under the previous paragraph, plus a right to possession of the
    -Corresponding Source of the work from the predecessor in interest, if
    -the predecessor has it or can get it with reasonable efforts.
    -
    -  You may not impose any further restrictions on the exercise of the
    -rights granted or affirmed under this License.  For example, you may
    -not impose a license fee, royalty, or other charge for exercise of
    -rights granted under this License, and you may not initiate litigation
    -(including a cross-claim or counterclaim in a lawsuit) alleging that
    -any patent claim is infringed by making, using, selling, offering for
    -sale, or importing the Program or any portion of it.
    -
    -  11. Patents.
    -
    -  A "contributor" is a copyright holder who authorizes use under this
    -License of the Program or a work on which the Program is based.  The
    -work thus licensed is called the contributor's "contributor version".
    -
    -  A contributor's "essential patent claims" are all patent claims
    -owned or controlled by the contributor, whether already acquired or
    -hereafter acquired, that would be infringed by some manner, permitted
    -by this License, of making, using, or selling its contributor version,
    -but do not include claims that would be infringed only as a
    -consequence of further modification of the contributor version.  For
    -purposes of this definition, "control" includes the right to grant
    -patent sublicenses in a manner consistent with the requirements of
    -this License.
    -
    -  Each contributor grants you a non-exclusive, worldwide, royalty-free
    -patent license under the contributor's essential patent claims, to
    -make, use, sell, offer for sale, import and otherwise run, modify and
    -propagate the contents of its contributor version.
    -
    -  In the following three paragraphs, a "patent license" is any express
    -agreement or commitment, however denominated, not to enforce a patent
    -(such as an express permission to practice a patent or covenant not to
    -sue for patent infringement).  To "grant" such a patent license to a
    -party means to make such an agreement or commitment not to enforce a
    -patent against the party.
    -
    -  If you convey a covered work, knowingly relying on a patent license,
    -and the Corresponding Source of the work is not available for anyone
    -to copy, free of charge and under the terms of this License, through a
    -publicly available network server or other readily accessible means,
    -then you must either (1) cause the Corresponding Source to be so
    -available, or (2) arrange to deprive yourself of the benefit of the
    -patent license for this particular work, or (3) arrange, in a manner
    -consistent with the requirements of this License, to extend the patent
    -license to downstream recipients.  "Knowingly relying" means you have
    -actual knowledge that, but for the patent license, your conveying the
    -covered work in a country, or your recipient's use of the covered work
    -in a country, would infringe one or more identifiable patents in that
    -country that you have reason to believe are valid.
    -  
    -  If, pursuant to or in connection with a single transaction or
    -arrangement, you convey, or propagate by procuring conveyance of, a
    -covered work, and grant a patent license to some of the parties
    -receiving the covered work authorizing them to use, propagate, modify
    -or convey a specific copy of the covered work, then the patent license
    -you grant is automatically extended to all recipients of the covered
    -work and works based on it.
    -
    -  A patent license is "discriminatory" if it does not include within
    -the scope of its coverage, prohibits the exercise of, or is
    -conditioned on the non-exercise of one or more of the rights that are
    -specifically granted under this License.  You may not convey a covered
    -work if you are a party to an arrangement with a third party that is
    -in the business of distributing software, under which you make payment
    -to the third party based on the extent of your activity of conveying
    -the work, and under which the third party grants, to any of the
    -parties who would receive the covered work from you, a discriminatory
    -patent license (a) in connection with copies of the covered work
    -conveyed by you (or copies made from those copies), or (b) primarily
    -for and in connection with specific products or compilations that
    -contain the covered work, unless you entered into that arrangement,
    -or that patent license was granted, prior to 28 March 2007.
    -
    -  Nothing in this License shall be construed as excluding or limiting
    -any implied license or other defenses to infringement that may
    -otherwise be available to you under applicable patent law.
    -
    -  12. No Surrender of Others' Freedom.
    -
    -  If conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot convey a
    -covered work so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you may
    -not convey it at all.  For example, if you agree to terms that obligate you
    -to collect a royalty for further conveying from those to whom you convey
    -the Program, the only way you could satisfy both those terms and this
    -License would be to refrain entirely from conveying the Program.
    -
    -  13. Use with the GNU Affero General Public License.
    -
    -  Notwithstanding any other provision of this License, you have
    -permission to link or combine any covered work with a work licensed
    -under version 3 of the GNU Affero General Public License into a single
    -combined work, and to convey the resulting work.  The terms of this
    -License will continue to apply to the part which is the covered work,
    -but the special requirements of the GNU Affero General Public License,
    -section 13, concerning interaction through a network will apply to the
    -combination as such.
    -
    -  14. Revised Versions of this License.
    -
    -  The Free Software Foundation may publish revised and/or new versions of
    -the GNU General Public License from time to time.  Such new versions will
    -be similar in spirit to the present version, but may differ in detail to
    -address new problems or concerns.
    -
    -  Each version is given a distinguishing version number.  If the
    -Program specifies that a certain numbered version of the GNU General
    -Public License "or any later version" applies to it, you have the
    -option of following the terms and conditions either of that numbered
    -version or of any later version published by the Free Software
    -Foundation.  If the Program does not specify a version number of the
    -GNU General Public License, you may choose any version ever published
    -by the Free Software Foundation.
    -
    -  If the Program specifies that a proxy can decide which future
    -versions of the GNU General Public License can be used, that proxy's
    -public statement of acceptance of a version permanently authorizes you
    -to choose that version for the Program.
    -
    -  Later license versions may give you additional or different
    -permissions.  However, no additional obligations are imposed on any
    -author or copyright holder as a result of your choosing to follow a
    -later version.
    -
    -  15. Disclaimer of Warranty.
    -
    -  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    -APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    -IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    -ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    -
    -  16. Limitation of Liability.
    -
    -  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGES.
    -
    -  17. Interpretation of Sections 15 and 16.
    -
    -  If the disclaimer of warranty and limitation of liability provided
    -above cannot be given local legal effect according to their terms,
    -reviewing courts shall apply local law that most closely approximates
    -an absolute waiver of all civil liability in connection with the
    -Program, unless a warranty or assumption of liability accompanies a
    -copy of the Program in return for a fee.
    -
    -		     END OF TERMS AND CONDITIONS
    -
    -	    How to Apply These Terms to Your New Programs
    -
    -  If you develop a new program, and you want it to be of the greatest
    -possible use to the public, the best way to achieve this is to make it
    -free software which everyone can redistribute and change under these terms.
    -
    -  To do so, attach the following notices to the program.  It is safest
    -to attach them to the start of each source file to most effectively
    -state the exclusion of warranty; and each file should have at least
    -the "copyright" line and a pointer to where the full notice is found.
    -
    -    <one line to give the program's name and a brief idea of what it does.>
    -    Copyright (C) <year>  <name of author>
    -
    -    This program is free software: you can redistribute it and/or modify
    -    it under the terms of the GNU General Public License as published by
    -    the Free Software Foundation, either version 3 of the License, or
    -    (at your option) any later version.
    -
    -    This program is distributed in the hope that it will be useful,
    -    but WITHOUT ANY WARRANTY; without even the implied warranty of
    -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -    GNU General Public License for more details.
    -
    -    You should have received a copy of the GNU General Public License
    -    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    -
    -Also add information on how to contact you by electronic and paper mail.
    -
    -  If the program does terminal interaction, make it output a short
    -notice like this when it starts in an interactive mode:
    -
    -    <program>  Copyright (C) <year>  <name of author>
    -    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    -    This is free software, and you are welcome to redistribute it
    -    under certain conditions; type `show c' for details.
    -
    -The hypothetical commands `show w' and `show c' should show the appropriate
    -parts of the General Public License.  Of course, your program's commands
    -might be different; for a GUI interface, you would use an "about box".
    -
    -  You should also get your employer (if you work as a programmer) or school,
    -if any, to sign a "copyright disclaimer" for the program, if necessary.
    -For more information on this, and how to apply and follow the GNU GPL, see
    -<http://www.gnu.org/licenses/>.
    -
    -  The GNU General Public License does not permit incorporating your program
    -into proprietary programs.  If your program is a subroutine library, you
    -may consider it more useful to permit linking proprietary applications with
    -the library.  If this is what you want to do, use the GNU Lesser General
    -Public License instead of this License.  But first, please read
    -<http://www.gnu.org/philosophy/why-not-lgpl.html>.
    -
    -
    -
    -
    - - -
    - -
    -

    funcparserlib - 0.3.6 -

    - - -
    Copyright 2008/2011 Andrey Vlasovskikh
    - - - - -
    Copyright © 2008/2011 Andrey Vlasovskikh
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    -the Software, and to permit persons to whom the Software is furnished to do so,
    -subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR
    -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    -
    - - -
    - -
    -

    python-ldap - 2.4.20 -

    - - - - - -
    -The python-ldap package is distributed under Python-style license.
    -
    -Standard disclaimer:
    -   This software is made available by the author(s) to the public for free
    -   and "as is".  All users of this free software are solely and entirely
    -   responsible for their own choice and use of this software for their
    -   own purposes.  By using this software, each user agrees that the
    -   author(s) shall not be liable for damages of any kind in relation to
    -   its use or performance. The author(s) do not warrant that this software
    -   is fit for any purpose.
    -
    -$Id: LICENCE,v 1.1 2002/09/18 18:51:22 stroeder Exp $
    -
    - - -
    - -
    -

    ecdsa - 0.13 -

    - - -
    python-ecdsa Copyright (c) 2010 Brian Warner
    -Portions written in 2005 by Peter Pearson and placed in the public domain.
    - - - - - -
    - -
    -

    django-filter - 0.11.0 -

    - - -
    Copyright (c) Alex Gaynor and individual contributors.
    - - - - -
    Copyright (c) Alex Gaynor and individual contributors.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    - * Redistributions of source code must retain the above copyright notice, this
    -   list of conditions and the following disclaimer.
    - * Redistributions in binary form must reproduce the above copyright notice,
    -   this list of conditions and the following disclaimer in the documentation
    -   and/or other materials provided with the distribution.
    - * The names of its contributors may not be used to endorse or promote products
    -   derived from this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    pycrypto - 2.6.1 -

    - - - - - -
    Copyright and licensing of the Python Cryptography Toolkit ("PyCrypto"):
    -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    -
    -Previously, the copyright and/or licensing status of the Python
    -Cryptography Toolkit ("PyCrypto") had been somewhat ambiguous.  The
    -original intention of Andrew M. Kuchling and other contributors has
    -been to dedicate PyCrypto to the public domain, but that intention was
    -not necessarily made clear in the original disclaimer (see
    -LEGAL/copy/LICENSE.orig).
    -
    -Additionally, some files within PyCrypto had specified their own
    -licenses that differed from the PyCrypto license itself.  For example,
    -the original RIPEMD.c module simply had a copyright statement and
    -warranty disclaimer, without clearly specifying any license terms.
    -(An updated version on the author's website came with a license that
    -contained a GPL-incompatible advertising clause.)
    -
    -To rectify this situation for PyCrypto 2.1, the following steps have
    -been taken:
    -
    - 1. Obtaining explicit permission from the original contributors to
    -    dedicate their contributions to the public domain if they have not
    -    already done so.  (See the "LEGAL/copy/stmts" directory for
    -    contributors' statements.)
    -
    - 2. Replacing some modules with clearly-licensed code from other
    -    sources (e.g. the DES and DES3 modules were replaced with new ones
    -    based on Tom St. Denis's public-domain LibTomCrypt library.)
    -
    - 3. Replacing some modules with code written from scratch (e.g. the
    -    RIPEMD and Blowfish modules were re-implemented from their
    -    respective algorithm specifications without reference to the old
    -    implementations).
    -
    - 4. Removing some modules altogether without replacing them.
    -
    -To the best of our knowledge, with the exceptions noted below or
    -within the files themselves, the files that constitute PyCrypto are in
    -the public domain.  Most are distributed with the following notice:
    -
    -  The contents of this file are dedicated to the public domain.  To
    -  the extent that dedication to the public domain is not available,
    -  everyone is granted a worldwide, perpetual, royalty-free,
    -  non-exclusive license to exercise all rights associated with the
    -  contents of this file for any purpose whatsoever.
    -  No rights are reserved.
    -
    -  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    -  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    -  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    -  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -  SOFTWARE.
    -
    -Exception:
    -
    - - Portions of HMAC.py and setup.py are derived from Python 2.2, and
    -   are therefore Copyright (c) 2001, 2002, 2003 Python Software
    -   Foundation (All Rights Reserved).  They are licensed by the PSF
    -   under the terms of the Python 2.2 license.  (See the file
    -   LEGAL/copy/LICENSE.python-2.2 for details.)
    -
    -EXPORT RESTRICTIONS:
    -
    -Note that the export or re-export of cryptographic software and/or
    -source code may be subject to regulation in your jurisdiction.
    -
    -
    -
    -==================================================================
    -LICENSE.python-2.2
    -LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    -LICENSE.libtom  LICENSE file from LibTomCrypt
    -stmts/          Statements by contributors
    -
    -==================================================================
    -LICENSE.python-2.2
    -
    -A. HISTORY OF THE SOFTWARE
    -==========================
    -
    -Python was created in the early 1990s by Guido van Rossum at Stichting
    -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    -as a successor of a language called ABC.  Guido remains Python's
    -principal author, although it includes many contributions from others.
    -
    -In 1995, Guido continued his work on Python at the Corporation for
    -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    -in Reston, Virginia where he released several versions of the
    -software.
    -
    -In May 2000, Guido and the Python core development team moved to
    -BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    -year, the PythonLabs team moved to Digital Creations (now Zope
    -Corporation, see http://www.zope.com).  In 2001, the Python Software
    -Foundation (PSF, see http://www.python.org/psf/) was formed, a
    -non-profit organization created specifically to own Python-related
    -Intellectual Property.  Zope Corporation is a sponsoring member of
    -the PSF.
    -
    -All Python releases are Open Source (see http://www.opensource.org for
    -the Open Source Definition).  Historically, most, but not all, Python
    -releases have also been GPL-compatible; the table below summarizes
    -the various releases.
    -
    -    Release         Derived     Year        Owner       GPL-
    -            from                                compatible? (1)
    -
    -    0.9.0 thru 1.2              1991-1995   CWI         yes
    -    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    -    1.6             1.5.2       2000        CNRI        no
    -    2.0             1.6         2000        BeOpen.com  no
    -    1.6.1           1.6         2001        CNRI        no
    -    2.1             2.0+1.6.1   2001        PSF         no
    -    2.0.1           2.0+1.6.1   2001        PSF         yes
    -    2.1.1           2.1+2.0.1   2001        PSF         yes
    -    2.2             2.1.1       2001        PSF         yes
    -    2.1.2           2.1.1       2002        PSF         yes
    -    2.1.3           2.1.2       2002        PSF         yes
    -    2.2.1           2.2         2002        PSF         yes
    -    2.2.2           2.2.1       2002        PSF         yes
    -    2.2.3           2.2.2       2003        PSF         yes
    -
    -Footnotes:
    -
    -(1) GPL-compatible doesn't mean that we're distributing Python under
    -    the GPL.  All Python licenses, unlike the GPL, let you distribute
    -    a modified version without making your changes open source.  The
    -    GPL-compatible licenses make it possible to combine Python with
    -    other software that is released under the GPL; the others don't.
    -
    -Thanks to the many outside volunteers who have worked under Guido's
    -direction to make these releases possible.
    -
    -
    -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    -===============================================================
    -
    -PSF LICENSE AGREEMENT FOR PYTHON 2.2.3
    ---------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Python Software Foundation
    -("PSF"), and the Individual or Organization ("Licensee") accessing and
    -otherwise using Python 2.2.3 software in source or binary form and its
    -associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, PSF
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 2.2.3
    -alone or in any derivative version, provided, however, that PSF's
    -License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    -2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
    -retained in Python 2.2.3 alone or in any derivative version prepared
    -by Licensee.
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 2.2.3 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 2.2.3.
    -
    -4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
    -basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. Nothing in this License Agreement shall be deemed to create any
    -relationship of agency, partnership, or joint venture between PSF and
    -Licensee.  This License Agreement does not grant permission to use PSF
    -trademarks or trade name in a trademark sense to endorse or promote
    -products or services of Licensee, or any third party.
    -
    -8. By copying, installing or otherwise using Python 2.2.3, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    --------------------------------------------
    -
    -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    -
    -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    -Individual or Organization ("Licensee") accessing and otherwise using
    -this software in source or binary form and its associated
    -documentation ("the Software").
    -
    -2. Subject to the terms and conditions of this BeOpen Python License
    -Agreement, BeOpen hereby grants Licensee a non-exclusive,
    -royalty-free, world-wide license to reproduce, analyze, test, perform
    -and/or display publicly, prepare derivative works, distribute, and
    -otherwise use the Software alone or in any derivative version,
    -provided, however, that the BeOpen Python License is retained in the
    -Software, alone or in any derivative version prepared by Licensee.
    -
    -3. BeOpen is making the Software available to Licensee on an "AS IS"
    -basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -5. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -6. This License Agreement shall be governed by and interpreted in all
    -respects by the law of the State of California, excluding conflict of
    -law provisions.  Nothing in this License Agreement shall be deemed to
    -create any relationship of agency, partnership, or joint venture
    -between BeOpen and Licensee.  This License Agreement does not grant
    -permission to use BeOpen trademarks or trade names in a trademark
    -sense to endorse or promote products or services of Licensee, or any
    -third party.  As an exception, the "BeOpen Python" logos available at
    -http://www.pythonlabs.com/logos.html may be used according to the
    -permissions granted on that web page.
    -
    -7. By copying, installing or otherwise using the software, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    ----------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Corporation for National
    -Research Initiatives, having an office at 1895 Preston White Drive,
    -Reston, VA 20191 ("CNRI"), and the Individual or Organization
    -("Licensee") accessing and otherwise using Python 1.6.1 software in
    -source or binary form and its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, CNRI
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 1.6.1
    -alone or in any derivative version, provided, however, that CNRI's
    -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    -1995-2001 Corporation for National Research Initiatives; All Rights
    -Reserved" are retained in Python 1.6.1 alone or in any derivative
    -version prepared by Licensee.  Alternately, in lieu of CNRI's License
    -Agreement, Licensee may substitute the following text (omitting the
    -quotes): "Python 1.6.1 is made available subject to the terms and
    -conditions in CNRI's License Agreement.  This Agreement together with
    -Python 1.6.1 may be located on the Internet using the following
    -unique, persistent identifier (known as a handle): 1895.22/1013.  This
    -Agreement may also be obtained from a proxy server on the Internet
    -using the following URL: http://hdl.handle.net/1895.22/1013".
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 1.6.1 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 1.6.1.
    -
    -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    -basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. This License Agreement shall be governed by the federal
    -intellectual property law of the United States, including without
    -limitation the federal copyright law, and, to the extent such
    -U.S. federal law does not apply, by the law of the Commonwealth of
    -Virginia, excluding Virginia's conflict of law provisions.
    -Notwithstanding the foregoing, with regard to derivative works based
    -on Python 1.6.1 that incorporate non-separable material that was
    -previously distributed under the GNU General Public License (GPL), the
    -law of the Commonwealth of Virginia shall govern this License
    -Agreement only as to issues arising under or with respect to
    -Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    -License Agreement shall be deemed to create any relationship of
    -agency, partnership, or joint venture between CNRI and Licensee.  This
    -License Agreement does not grant permission to use CNRI trademarks or
    -trade name in a trademark sense to endorse or promote products or
    -services of Licensee, or any third party.
    -
    -8. By clicking on the "ACCEPT" button where indicated, or by copying,
    -installing or otherwise using Python 1.6.1, Licensee agrees to be
    -bound by the terms and conditions of this License Agreement.
    -
    -        ACCEPT
    -
    -
    -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    ---------------------------------------------------
    -
    -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    -The Netherlands.  All rights reserved.
    -
    -Permission to use, copy, modify, and distribute this software and its
    -documentation for any purpose and without fee is hereby granted,
    -provided that the above copyright notice appear in all copies and that
    -both that copyright notice and this permission notice appear in
    -supporting documentation, and that the name of Stichting Mathematisch
    -Centrum or CWI not be used in advertising or publicity pertaining to
    -distribution of the software without specific, written prior
    -permission.
    -
    -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -
    -
    -===================================================================
    -LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    -===================================================================
    -Distribute and use freely; there are no restrictions on further
    -dissemination and usage except those imposed by the laws of your
    -country of residence.  This software is provided "as is" without
    -warranty of fitness for use or suitability for any purpose, express
    -or implied. Use at your own risk or not at all.
    -===================================================================
    -
    -Incorporating the code into commercial products is permitted; you do
    -not have to make source available or contribute your changes back
    -(though that would be nice).
    -
    ---amk                                                             (www.amk.ca)
    -
    -
    -
    -LICENSE.libtom  LICENSE file from LibTomCrypt
    -===================================================================
    -LibTomCrypt is public domain.  As should all quality software be.
    -
    -Tom St Denis
    -
    -
    -
    -Statements by contributors
    -===================================================================
    -From dlitz@dlitz.net Sun Nov 23 00:17:22 2008
    -Date: Sun, 23 Nov 2008 00:17:22 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: "A. M. Kuchling" <amk@amk.ca>
    -Subject: PyCrypto license clarification
    -Message-ID: <20081123051722.GA29253@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: multipart/signed; micalg=pgp-sha1;
    -    protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4"
    -Content-Disposition: inline
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3461
    -Lines: 78
    -
    -
    ---YiEDa0DAkWCtVeE4
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -Content-Transfer-Encoding: quoted-printable
    -
    -Hi Andrew,
    -
    -People often ask me what license PyCrypto is covered by, if it's=20
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them. =20
    -The text in the current LICENSE file (quoted below) is not entirely clear=
    -=20
    -on the point of whether distributing modified versions is allowed.  (It=20
    -says "distribute and use", but not "modify".)
    -
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -     Distribute and use freely; there are no restrictions on further
    -     dissemination and usage except those imposed by the laws of your
    -     country of residence.  This software is provided "as is" without
    -     warranty of fitness for use or suitability for any purpose, express
    -     or implied. Use at your own risk or not at all.
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -     Incorporating the code into commercial products is permitted; you do
    -     not have to make source available or contribute your changes back
    -     (though that would be nice).
    -
    -     --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I'd like to take steps to move toward a=20
    -clearer licensing regime.  I'm asking as many copyright holders as I can=20
    -find, starting with you, if I can release PyCrypto under something clearer=
    -=20
    -and more standard.  Below, I have quoted a public domain dedication that=20
    -was recommended in _Intellectual Property and Open Source: A Practical=20
    -Guide to Protecting Code_, by Van Lindberg.
    -
    -May I, on your behalf, dedicate to the public domain your considerable=20
    -contributions to PyCrypto, with the following notice?
    -
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -     The contents of this file are dedicated to the public domain.  To the
    -     extent that dedication to the public domain is not available, everyone
    -     is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -     to exercise all rights associated with the contents of this file for
    -     any purpose whatsoever.  No rights are reserved.
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -Regards,
    -  - Dwayne
    -
    ---=20
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    ---YiEDa0DAkWCtVeE4
    -Content-Type: application/pgp-signature; name="signature.asc"
    -Content-Description: Digital signature
    -Content-Disposition: inline
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.5 (GNU/Linux)
    -
    -iEYEARECAAYFAkko52IACgkQHBG4d+eAS0XPPQCfcyQ2DdAXKg9N7Z+jeSFFD5EZ
    -yloAn33a3ZjkteyJaTbzEqImOEW8JGpf
    -=aBEW
    ------END PGP SIGNATURE-----
    -
    ---YiEDa0DAkWCtVeE4--
    -
    -From amk@amk.ca Sun Nov 23 07:51:59 2008
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <amk@amk.ca>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 5C2C75047D
    -    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 07:51:59 -0500 (EST)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id D632D10111
    -    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    -Received: (vmailmgr-postfix 12026 invoked by uid 1003); 23 Nov 2008 06:51:58 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (goedel.dlitz.net: domain of amk@amk.ca does not designate permitted sender hosts)
    -Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.7])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 97DC710105
    -    for <dlitz@dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    -Received: (qmail 3992 invoked from network); 23 Nov 2008 12:51:52 -0000
    -Received: from dsl092-163-165.wdc2.dsl.speakeasy.net (HELO localhost) (akuchling@[66.92.163.165])
    -          (envelope-sender <amk@amk.ca>)
    -          by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP
    -          for <dlitz@dlitz.net>; 23 Nov 2008 12:51:52 -0000
    -Date: Sun, 23 Nov 2008 07:51:34 -0500
    -From: "A.M. Kuchling" <amk@amk.ca>
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20081123125134.GA21239@amk.local>
    -Reply-To: amk@amk.ca
    -References: <20081123051722.GA29253@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii
    -Content-Disposition: inline
    -In-Reply-To: <20081123051722.GA29253@rivest.dlitz.net>
    -User-Agent: Mutt/1.5.13 (2006-08-11)
    -Status: RO
    -Content-Length: 537
    -Lines: 15
    -
    -> People often ask me what license PyCrypto is covered by, if it's 
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -> The text in the current LICENSE file (quoted below) is not entirely clear 
    -> on the point of whether distributing modified versions is allowed.  (It 
    -> says "distribute and use", but not "modify".)
    -
    -The intention is that it be public domain.
    -
    -> May I, on your behalf, dedicate to the public domain your considerable 
    -> contributions to PyCrypto, with the following notice?
    -
    -You may.
    -
    ---amk
    -
    -
    -================================================
    -From dlitz@dlitz.net Sat Feb 28 21:45:09 2009
    -Date: Sat, 28 Feb 2009 21:45:09 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Barry A Warsaw <barry@python.org>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090301024509.GA13195@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2535
    -
    -Hi Barry,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am 
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's 
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -The text in the current LICENSE file (quoted below) is not entirely clear 
    -on the point of whether distributing modified versions is allowed.  (It 
    -says "distribute and use", but not "modify".)
    -
    -  ===================================================================
    -  Distribute and use freely; there are no restrictions on further
    -  dissemination and usage except those imposed by the laws of your
    -  country of residence.  This software is provided "as is" without
    -  warranty of fitness for use or suitability for any purpose, express
    -  or implied. Use at your own risk or not at all.
    -  ===================================================================
    -
    -  Incorporating the code into commercial products is permitted; you do
    -  not have to make source available or contribute your changes back
    -  (though that would be nice).
    -
    -  --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a 
    -clearer licensing regime.  I am asking as many copyright holders as I can 
    -find if I can release PyCrypto under something clearer and more standard.  
    -Below, I have quoted a public domain dedication that was recommended in 
    -_Intellectual Property and Open Source: A Practical Guide to Protecting 
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    -Pointer, and Wim Lewis, and they have all approved the following dedication 
    -for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your 
    -behalf, dedicate to the public domain all your contributions to PyCrypto, 
    -with the following notice?
    -
    -  =======================================================================
    -  The contents of this file are dedicated to the public domain.  To the
    -  extent that dedication to the public domain is not available, everyone
    -  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -  to exercise all rights associated with the contents of this file for
    -  any purpose whatsoever.  No rights are reserved.
    -  =======================================================================
    -
    -Regards,
    -  - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -     Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From barry@python.org Mon Mar  2 11:29:39 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <barry@python.org>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 6E01AC6640B
    -    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 11:29:39 -0500 (EST)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 0644E1007A
    -    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 10:29:39 -0600 (CST)
    -Received: (vmailmgr-postfix 8668 invoked by uid 1003);  2 Mar 2009 10:29:39 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (python.org: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="barry@python.org"; helo=mail.wooz.org; client-ip=216.15.33.230
    -Received: from mail.wooz.org (216-15-33-230.c3-0.slvr-ubr2.lnh-slvr.md.static.cable.rcn.com [216.15.33.230])
    -    by goedel.dlitz.net (Postfix) with ESMTP id CCEA110073
    -    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 10:29:38 -0600 (CST)
    -Received: from snowdog.wooz.org (snowdog.wooz.org [192.168.11.202])
    -    by mail.wooz.org (Postfix) with ESMTPSA id ACE30E3C9F
    -    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 11:29:35 -0500 (EST)
    -Message-Id: <09BF1A39-B015-4820-97A3-8642490C8254@python.org>
    -From: Barry Warsaw <barry@python.org>
    -To: Dwayne C. Litzenberger <dlitz@dlitz.net>
    -In-Reply-To: <20090301024509.GA13195@rivest.dlitz.net>
    -Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
    -Content-Transfer-Encoding: quoted-printable
    -Mime-Version: 1.0 (Apple Message framework v930.3)
    -Subject: Re: PyCrypto license clarification
    -Date: Mon, 2 Mar 2009 11:29:34 -0500
    -References: <20090301024509.GA13195@rivest.dlitz.net>
    -X-Pgp-Agent: GPGMail d55 (v55, Leopard)
    -X-Mailer: Apple Mail (2.930.3)
    -Status: RO
    -Content-Length: 869
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On Feb 28, 2009, at 9:45 PM, Dwayne C. Litzenberger wrote:
    -
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am =20=
    -
    -> working on a new release at http://www.pycrypto.org/.
    -
    -Great!  I'm glad to see someone taking up the mantle of this important =20=
    -
    -Python library.
    -
    -> I understand that you have made contributions to PyCrypto.  May I, =20
    -> on your behalf, dedicate to the public domain all your contributions =20=
    -
    -> to PyCrypto, with the following notice?
    -
    -Absolutely yes.
    -
    -Cheers,
    -Barry
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.9 (Darwin)
    -
    -iQCVAwUBSawJbnEjvBPtnXfVAQLZjgP/ecG+JdZwNvPJRfsa6rhY6+MHLDHI6agk
    -evkJnSJQAcVHlZnVlVeR5IXgvDUMakZjU4SOV7MqkhsKA9lIet7PaD9VSYgn3ra5
    -gElwI2DQDoOy5GExXMm74gqrrb1PCCbCRmpaYNo+DZohwHkeFBjbwDRA3wItOrH7
    -SK4w9VBJtfY=3D
    -=3DQduY
    ------END PGP SIGNATURE-----
    -
    -
    -
    -===================================================
    -From dlitz@dlitz.net Sat Feb 28 23:24:14 2009
    -Date: Sat, 28 Feb 2009 23:24:14 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Jeethu Rao <jeethurao@gmail.com>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090301042414.GA15122@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2513
    -
    -Hi Jeethu,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am 
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's 
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -The text in the current LICENSE file (quoted below) is not entirely clear 
    -on the point of whether distributing modified versions is allowed.  (It 
    -says "distribute and use", but not "modify".)
    -
    - ===================================================================
    - Distribute and use freely; there are no restrictions on further
    - dissemination and usage except those imposed by the laws of your
    - country of residence.  This software is provided "as is" without
    - warranty of fitness for use or suitability for any purpose, express
    - or implied. Use at your own risk or not at all.
    - ===================================================================
    -
    - Incorporating the code into commercial products is permitted; you do
    - not have to make source available or contribute your changes back
    - (though that would be nice).
    -
    - --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a 
    -clearer licensing regime.  I am asking as many copyright holders as I can 
    -find if I can release PyCrypto under something clearer and more standard.  
    -Below, I have quoted a public domain dedication that was recommended in 
    -_Intellectual Property and Open Source: A Practical Guide to Protecting 
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    -Pointer, and Wim Lewis, and they have all approved the following text for 
    -their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your 
    -behalf, dedicate to the public domain all your contributions to PyCrypto, 
    -with the following notice?
    -
    - =======================================================================
    - The contents of this file are dedicated to the public domain.  To the
    - extent that dedication to the public domain is not available, everyone
    - is granted a worldwide, perpetual, royalty-free, non-exclusive license
    - to exercise all rights associated with the contents of this file for
    - any purpose whatsoever.  No rights are reserved.
    - =======================================================================
    -
    -Regards,
    - - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -       Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From jeethurao@gmail.com Sun Mar  8 17:28:16 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <jeethurao@gmail.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 0CC83515D9
    -    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 17:28:16 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 4E58F450CB
    -    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 15:28:15 -0600 (CST)
    -Received: (vmailmgr-postfix 5011 invoked by uid 1003);  8 Mar 2009 15:28:15 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: pass (gmail.com ... _spf.google.com: 209.85.198.249 is authorized to use 'jeethurao@gmail.com' in 'mfrom' identity (mechanism 'ip4:209.85.128.0/17' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="jeethurao@gmail.com"; helo=rv-out-0708.google.com; client-ip=209.85.198.249
    -Received: from rv-out-0708.google.com (unknown [209.85.198.249])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 3C097449E7
    -    for <dlitz@dlitz.net>; Sun,  8 Mar 2009 15:28:12 -0600 (CST)
    -Received: by rv-out-0708.google.com with SMTP id k29so1252333rvb.26
    -        for <dlitz@dlitz.net>; Sun, 08 Mar 2009 14:27:56 -0700 (PDT)
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    -        d=gmail.com; s=gamma;
    -        h=domainkey-signature:mime-version:received:in-reply-to:references
    -         :date:message-id:subject:from:to:content-type;
    -        bh=YWy9U32WCU/ksRqukHwaOZyJQBUs4Yvt5mI20U6mI/g=;
    -        b=oMjI22lIxYiJKge2zNJW3rRiUi9LqFXmey5Wp0pLItuNF+X3duyfhopTuBAKw7MwVY
    -         B5E6VQuGVEyzBbNsctyVgq6DhQiQtouCLZymSViobmuDmKn5DtUKoxpDk0xCxQmHYaas
    -         L9/A6D3/J66kKrNBgX9mc0GPcZTviVFYkPR0Q=
    -DomainKey-Signature: a=rsa-sha1; c=nofws;
    -        d=gmail.com; s=gamma;
    -        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
    -         :content-type;
    -        b=Ym7CStuDEfJKay1AJyWZkZmJA1lnTcwCG6akBHAXLld8ht6PFcmlsffzZG8hJCIVJ8
    -         vljqcT+G6cywVTBw1pyGX7ECYzr0+vhGvgdpACGrs24zikHfpSSd5GFogzXaLVvGVH8p
    -         bqSHpfWKKtEP4gAQkiNeIq1GNtR2j8U3fnRyg=
    -MIME-Version: 1.0
    -Received: by 10.141.176.13 with SMTP id d13mr2656028rvp.231.1236547674677; 
    -    Sun, 08 Mar 2009 14:27:54 -0700 (PDT)
    -In-Reply-To: <20090301042414.GA15122@rivest.dlitz.net>
    -References: <20090301042414.GA15122@rivest.dlitz.net>
    -Date: Mon, 9 Mar 2009 02:57:54 +0530
    -Message-ID: <e3c0ddba0903081427p3a7b1058g417dd8624df68d6d@mail.gmail.com>
    -Subject: Re: PyCrypto license clarification
    -From: Jeethu Rao <jeethurao@gmail.com>
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Content-Type: multipart/alternative; boundary=000e0cd209d0e5a3d40464a23054
    -Status: RO
    -Content-Length: 7668
    -
    ---000e0cd209d0e5a3d40464a23054
    -Content-Type: text/plain; charset=ISO-8859-1
    -Content-Transfer-Encoding: 7bit
    -
    -Hi Dwayne,My contribution to pycrypto are very very minimal (The sha256
    -module, IIRC).
    -I'd be fine with the public domain license for PyCrypto.
    -
    -Jeethu Rao
    -PS: Apologies for the delay in my response.
    -I don't really check this email address all that often,
    -please direct any further correspondence to jeethu@jeethurao.com
    -
    -On Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <dlitz@dlitz.net>wrote:
    -
    -> Hi Jeethu,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    ->
    -> People often ask me what license PyCrypto is covered by, if it's
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  The
    -> text in the current LICENSE file (quoted below) is not entirely clear on the
    -> point of whether distributing modified versions is allowed.  (It says
    -> "distribute and use", but not "modify".)
    ->
    -> ===================================================================
    -> Distribute and use freely; there are no restrictions on further
    -> dissemination and usage except those imposed by the laws of your
    -> country of residence.  This software is provided "as is" without
    -> warranty of fitness for use or suitability for any purpose, express
    -> or implied. Use at your own risk or not at all.
    -> ===================================================================
    ->
    -> Incorporating the code into commercial products is permitted; you do
    -> not have to make source available or contribute your changes back
    -> (though that would be nice).
    ->
    -> --amk                                                    (www.amk.ca)
    ->
    -> For the next PyCrypto release, I would like to take steps to move toward a
    -> clearer licensing regime.  I am asking as many copyright holders as I can
    -> find if I can release PyCrypto under something clearer and more standard.
    ->  Below, I have quoted a public domain dedication that was recommended in
    -> _Intellectual Property and Open Source: A Practical Guide to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -> Pointer, and Wim Lewis, and they have all approved the following text for
    -> their contributions.
    ->
    -> I understand that you have made contributions to PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your contributions to PyCrypto,
    -> with the following notice?
    ->
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    -> Regards,
    -> - Dwayne
    ->
    -> --
    -> Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->      Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->
    -
    -
    -
    --- 
    -Jeethu Rao
    -
    ---000e0cd209d0e5a3d40464a23054
    -Content-Type: text/html; charset=ISO-8859-1
    -Content-Transfer-Encoding: quoted-printable
    -
    -Hi Dwayne,<div>My contribution to pycrypto are very very minimal (The sha25=
    -6 module, IIRC).</div><div>I&#39;d be fine with the public domain license f=
    -or PyCrypto.</div><div><br></div><div>Jeethu Rao</div><div>PS: Apologies fo=
    -r the delay in my response.=A0</div>
    -<div>I don&#39;t really check this email address all that often,</div><div>=
    -please direct any further correspondence to <a href=3D"mailto:jeethu@jeethu=
    -rao.com">jeethu@jeethurao.com</a><br><div><br><div class=3D"gmail_quote">On=
    - Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <span dir=3D"ltr">&lt;=
    -<a href=3D"mailto:dlitz@dlitz.net">dlitz@dlitz.net</a>&gt;</span> wrote:<br=
    ->
    -<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
    -x #ccc solid;padding-left:1ex;">Hi Jeethu,<br>
    -<br>
    -I am the new maintainer of the Python Cryptography Toolkit, and I am workin=
    -g on a new release at <a href=3D"http://www.pycrypto.org/" target=3D"_blank=
    -">http://www.pycrypto.org/</a>.<br>
    -<br>
    -People often ask me what license PyCrypto is covered by, if it&#39;s GPL-co=
    -mpatible, etc. =A0Right now, I&#39;m not really sure what to tell them. =A0=
    -The text in the current LICENSE file (quoted below) is not entirely clear o=
    -n the point of whether distributing modified versions is allowed. =A0(It sa=
    -ys &quot;distribute and use&quot;, but not &quot;modify&quot;.)<br>
    -
    -<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -Distribute and use freely; there are no restrictions on further<br>
    -dissemination and usage except those imposed by the laws of your<br>
    -country of residence. =A0This software is provided &quot;as is&quot; withou=
    -t<br>
    -warranty of fitness for use or suitability for any purpose, express<br>
    -or implied. Use at your own risk or not at all.<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -<br>
    -Incorporating the code into commercial products is permitted; you do<br>
    -not have to make source available or contribute your changes back<br>
    -(though that would be nice).<br>
    -<br>
    ---amk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
    -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(<a href=3D"http://www.amk.ca" target=3D=
    -"_blank">www.amk.ca</a>)<br>
    -<br>
    -For the next PyCrypto release, I would like to take steps to move toward a =
    -clearer licensing regime. =A0I am asking as many copyright holders as I can=
    - find if I can release PyCrypto under something clearer and more standard. =
    -=A0Below, I have quoted a public domain dedication that was recommended in =
    -_Intellectual Property and Open Source: A Practical Guide to Protecting Cod=
    -e_, by Van Lindberg. =A0I have already contacted A. M. Kuchling, Robey Poin=
    -ter, and Wim Lewis, and they have all approved the following text for their=
    - contributions.<br>
    -
    -<br>
    -I understand that you have made contributions to PyCrypto. =A0May I, on you=
    -r behalf, dedicate to the public domain all your contributions to PyCrypto,=
    - with the following notice?<br>
    -<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -The contents of this file are dedicated to the public domain. =A0To the<br>
    -extent that dedication to the public domain is not available, everyone<br>
    -is granted a worldwide, perpetual, royalty-free, non-exclusive license<br>
    -to exercise all rights associated with the contents of this file for<br>
    -any purpose whatsoever. =A0No rights are reserved.<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -<br>
    -Regards,<br>
    -- Dwayne<br><font color=3D"#888888">
    -<br>
    --- <br>
    -Dwayne C. Litzenberger &lt;<a href=3D"mailto:dlitz@dlitz.net" target=3D"_bl=
    -ank">dlitz@dlitz.net</a>&gt;<br>
    - =A0 =A0 =A0Key-signing key =A0 - 19E1 1FE8 B3CF F273 ED17 =A04A24 928C EC1=
    -3 39C2 5CF7<br>
    -</font></blockquote></div><br><br clear=3D"all"><br>-- <br>Jeethu Rao<br>
    -</div></div>
    -
    ---000e0cd209d0e5a3d40464a23054--
    -
    -
    -=======================================================
    -From dlitz@dlitz.net Mon May  4 22:49:14 2009
    -Date: Mon, 4 May 2009 22:49:14 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Joris Bontje <joris@bontje.nl>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090505024914.GA9219@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2553
    -
    -Hi Joris,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -  ===================================================================
    -  Distribute and use freely; there are no restrictions on further
    -  dissemination and usage except those imposed by the laws of your
    -  country of residence.  This software is provided "as is" without
    -  warranty of fitness for use or suitability for any purpose, express
    -  or implied. Use at your own risk or not at all.
    -  ===================================================================
    -
    -  Incorporating the code into commercial products is permitted; you do
    -  not have to make source available or contribute your changes back
    -  (though that would be nice).
    -
    -  --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    -have all approved the following dedication for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your
    -behalf, dedicate to the public domain all your contributions to PyCrypto,
    -with the following notice?
    -
    -  =======================================================================
    -  The contents of this file are dedicated to the public domain.  To the
    -  extent that dedication to the public domain is not available, everyone
    -  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -  to exercise all rights associated with the contents of this file for
    -  any purpose whatsoever.  No rights are reserved.
    -  =======================================================================
    -
    -Regards,
    - - Dwayne
    -
    ---
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From joris@bontje.nl Tue May  5 03:08:32 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <joris@bontje.nl>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 7AA4B9E5078
    -    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 03:08:32 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 2315B40583
    -    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 01:08:32 -0600 (CST)
    -Received: (vmailmgr-postfix 16890 invoked by uid 1003);  5 May 2009 01:08:32 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (bontje.nl: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="joris@bontje.nl"; helo=smtp6.versatel.nl; client-ip=62.58.50.97
    -Received: from smtp6.versatel.nl (smtp6.versatel.nl [62.58.50.97])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 2D76A4052C
    -    for <dlitz@dlitz.net>; Tue,  5 May 2009 01:08:30 -0600 (CST)
    -Received: (qmail 4224 invoked by uid 0); 5 May 2009 07:08:25 -0000
    -Received: from qmail06.zonnet.nl (HELO dell062.admin.zonnet.nl) ([10.170.1.123])
    -          (envelope-sender <joris@bontje.nl>)
    -          by 10.170.1.96 (qmail-ldap-1.03) with SMTP
    -          for < >; 5 May 2009 07:08:25 -0000
    -Received: by dell062.admin.zonnet.nl (Postfix, from userid 33)
    -    id 9BE9B15759B; Tue,  5 May 2009 09:08:25 +0200 (CEST)
    -Received: from firewall66.interaccess.nl (firewall66.interaccess.nl
    -    [193.173.35.66]) by www.webmail.vuurwerk.nl (Horde MIME library) with HTTP;
    -    Tue, 05 May 2009 09:08:25 +0200
    -Message-ID: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -Date: Tue, 05 May 2009 09:08:25 +0200
    -From: joris@bontje.nl
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Subject: Re: PyCrypto license clarification
    -References: <20090505024914.GA9219@rivest.dlitz.net>
    -In-Reply-To: <20090505024914.GA9219@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain;
    -    charset=ISO-8859-1;
    -    format="flowed"
    -Content-Disposition: inline
    -Content-Transfer-Encoding: 7bit
    -User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
    -Status: RO
    -X-Status: A
    -Content-Length: 3488
    -
    -Hi Dwayne,
    -
    -Thanks for taking over the PyCrypto library and putting in the required 
    -effort to keep this going.
    -I was very excited to read that it is now one of the installed 
    -libraries for Google AppsEngine!
    -
    -You have my full permission to dedicate all my contributions to 
    -PyCrypto to the public domain with your suggested notice:
    -=======================================================================
    -The contents of this file are dedicated to the public domain.  To the
    -extent that dedication to the public domain is not available, everyone
    -is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -to exercise all rights associated with the contents of this file for
    -any purpose whatsoever.  No rights are reserved.
    -=======================================================================
    -
    -
    -Regards,
    -Joris
    -
    -Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    -
    -> Hi Joris,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    ->
    -> People often ask me what license PyCrypto is covered by, if it's
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -> The text in the current LICENSE file (quoted below) is not entirely clear
    -> on the point of whether distributing modified versions is allowed.  (It
    -> says "distribute and use", but not "modify".)
    ->
    -> ===================================================================
    -> Distribute and use freely; there are no restrictions on further
    -> dissemination and usage except those imposed by the laws of your
    -> country of residence.  This software is provided "as is" without
    -> warranty of fitness for use or suitability for any purpose, express
    -> or implied. Use at your own risk or not at all.
    -> ===================================================================
    ->
    -> Incorporating the code into commercial products is permitted; you do
    -> not have to make source available or contribute your changes back
    -> (though that would be nice).
    ->
    -> --amk                                                    (www.amk.ca)
    ->
    -> For the next PyCrypto release, I would like to take steps to move toward a
    -> clearer licensing regime.  I am asking as many copyright holders as I can
    -> find if I can release PyCrypto under something clearer and more standard.
    -> Below, I have quoted a public domain dedication that was recommended in
    -> _Intellectual Property and Open Source: A Practical Guide to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    -> have all approved the following dedication for their contributions.
    ->
    -> I understand that you have made contributions to PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your contributions to PyCrypto,
    -> with the following notice?
    ->
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    -> Regards,
    -> - Dwayne
    ->
    -> --
    -> Dwayne C. Litzenberger <dlitz@dlitz.net>
    -> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -
    -
    -From dlitz@dlitz.net Tue May  5 17:53:47 2009
    -Date: Tue, 5 May 2009 17:53:47 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: joris@bontje.nl
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090505215347.GB9933@rivest.dlitz.net>
    -References: <20090505024914.GA9219@rivest.dlitz.net> <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -In-Reply-To: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3863
    -
    -Excellent!  Thank you!
    -
    -On Tue, May 05, 2009 at 09:08:25AM +0200, joris@bontje.nl wrote:
    -> Hi Dwayne,
    ->
    -> Thanks for taking over the PyCrypto library and putting in the required 
    -> effort to keep this going.
    -> I was very excited to read that it is now one of the installed libraries 
    -> for Google AppsEngine!
    ->
    -> You have my full permission to dedicate all my contributions to PyCrypto to 
    -> the public domain with your suggested notice:
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    ->
    -> Regards,
    -> Joris
    ->
    -> Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    ->
    ->> Hi Joris,
    ->>
    ->> I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->>
    ->> People often ask me what license PyCrypto is covered by, if it's
    ->> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    ->> The text in the current LICENSE file (quoted below) is not entirely clear
    ->> on the point of whether distributing modified versions is allowed.  (It
    ->> says "distribute and use", but not "modify".)
    ->>
    ->> ===================================================================
    ->> Distribute and use freely; there are no restrictions on further
    ->> dissemination and usage except those imposed by the laws of your
    ->> country of residence.  This software is provided "as is" without
    ->> warranty of fitness for use or suitability for any purpose, express
    ->> or implied. Use at your own risk or not at all.
    ->> ===================================================================
    ->>
    ->> Incorporating the code into commercial products is permitted; you do
    ->> not have to make source available or contribute your changes back
    ->> (though that would be nice).
    ->>
    ->> --amk                                                    (www.amk.ca)
    ->>
    ->> For the next PyCrypto release, I would like to take steps to move toward a
    ->> clearer licensing regime.  I am asking as many copyright holders as I can
    ->> find if I can release PyCrypto under something clearer and more standard.
    ->> Below, I have quoted a public domain dedication that was recommended in
    ->> _Intellectual Property and Open Source: A Practical Guide to Protecting
    ->> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    ->> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    ->> have all approved the following dedication for their contributions.
    ->>
    ->> I understand that you have made contributions to PyCrypto.  May I, on your
    ->> behalf, dedicate to the public domain all your contributions to PyCrypto,
    ->> with the following notice?
    ->>
    ->> =======================================================================
    ->> The contents of this file are dedicated to the public domain.  To the
    ->> extent that dedication to the public domain is not available, everyone
    ->> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->> to exercise all rights associated with the contents of this file for
    ->> any purpose whatsoever.  No rights are reserved.
    ->> =======================================================================
    ->>
    ->> Regards,
    ->> - Dwayne
    ->>
    ->> --
    ->> Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->
    ->
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    -
    -==========================================================
    -Date: Sun, 23 Nov 2008 15:54:35 -0800
    -From: Wim Lewis <wiml@hhhh.org>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Cc: Wim Lewis <wiml@hhhh.org>
    -Message-Id: <9D5C3135-7414-47D7-9D41-0AC6C3A84D97@hhhh.org>
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On November 23, 2008, you wrote:
    ->Hi Wim,
    ->
    ->I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->working on a new release at http://www.pycrypto.org/.
    ->
    ->I understand that you have made contributions to PyCrypto. May I, on
    ->your behalf, dedicate to the public domain all your contributions to
    ->PyCrypto, with the following notice?
    ->
    ->   =======================================================================
    ->   The contents of this file are dedicated to the public domain.  To the
    ->   extent that dedication to the public domain is not available, everyone
    ->   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->   to exercise all rights associated with the contents of this file for
    ->   any purpose whatsoever.  No rights are reserved.
    ->   =======================================================================
    -
    -Certainly! I think the only code of mine in PyCrypto is the CAST-5 / CAST-128
    -implementation, which already has a public-domain notice at the top of
    -the file. But I am happy to have that, any any other code of mine that
    -might have wandered in there under an unclear open sourcish license,
    -distributed under the public-domain dedication you quote.
    -
    -Wim.
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.6 (Darwin)
    -
    -iQCVAwUBSSnnAl8UnN8n93LBAQLp/gQAhr7x8Av1mstc2kxEJDWTm26PTAZxMz4B
    -FektbDOzkxgc5580MGGeeX/MVn8aw+1BHg0YD85gsntlDzkcQtb+BR/xAvJ5zKyA
    -J/Mn/I+I6ekJQ3juh8IPHLAduOXM9Rtguas/yR+Doaq0xOPKoBx+/5+t1lLJtBcZ
    -wrPEa9Oui9s=
    -=zSY9
    ------END PGP SIGNATURE-----
    -
    -
    -
    -==========================================================
    -From dlitz@dlitz.net Sat Apr 18 09:14:20 2009
    -Date: Sat, 18 Apr 2009 09:14:20 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Mark Moraes <moraes@computer.org>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090418131419.GA14494@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2635
    -
    -Hi Mark,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -       ===================================================================
    -       Distribute and use freely; there are no restrictions on further
    -       dissemination and usage except those imposed by the laws of your
    -       country of residence.  This software is provided "as is" without
    -       warranty of fitness for use or suitability for any purpose, express
    -       or implied. Use at your own risk or not at all.
    -       ===================================================================
    -
    -       Incorporating the code into commercial products is permitted; you do
    -       not have to make source available or contribute your changes back
    -       (though that would be nice).
    -
    -       --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they have all
    -approved the following dedication for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your
    -behalf, dedicate to the public domain all your contributions to PyCrypto,
    -with the following notice?
    -
    -       =======================================================================
    -       The contents of this file are dedicated to the public domain.  To the
    -       extent that dedication to the public domain is not available, everyone
    -       is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -       to exercise all rights associated with the contents of this file for
    -       any purpose whatsoever.  No rights are reserved.
    -       =======================================================================
    -
    -Regards,
    -    - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -    Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From markmoraes@yahoo.com Mon Apr 20 19:25:37 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <markmoraes@yahoo.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 5D9AE984FDD
    -    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 19:25:37 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id DE41F4025F
    -    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    -Received: (vmailmgr-postfix 7604 invoked by uid 1003); 20 Apr 2009 17:25:36 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (yahoo.com: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="markmoraes@yahoo.com"; helo=web32405.mail.mud.yahoo.com; client-ip=68.142.207.198
    -Received: from web32405.mail.mud.yahoo.com (web32405.mail.mud.yahoo.com [68.142.207.198])
    -    by goedel.dlitz.net (Postfix) with SMTP id B5EAF401EE
    -    for <dlitz@dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    -Received: (qmail 34697 invoked by uid 60001); 20 Apr 2009 23:25:33 -0000
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1240269933; bh=OvxqbYnCg7R6tUN3YmlgFURM3CuHh1JeHyXhDzkaThU=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=F2h2bFzpQxyKFZ8BhenniyupGw4Zvlekb9BSk91qKU+51W/TkSGBij5YZIhkLQdkQk0qLz5f4g8dT6bOME3sEY1j10hlx0K0u2UD0yoYTINBCmsdMQRoJ7ph9bmt+p/EJhRpe+FiV6aoLV0FONWiHfGDghPT1dulWXfVTqgB2aU=
    -DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
    -  s=s1024; d=yahoo.com;
    -  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
    -  b=r6RShFF5VzQLg+9tcn1xKuo4Rs4IVvXF6fdqOpQrMyRCxeFooebhuTE35grGqlomOJLwM0+mZwRb6rGkDj763caOAlo8Ect/qlADW5izXfmVQaDchTbTqmpsJBmQnTQs9iZ+InrG+3UIwtUSGfX7fhEWmI9P/HBzxf9Wp4b3jeo=;
    -Message-ID: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -X-YMail-OSG: FrK8aWMVM1mFJtLpMGbUbCLjbUQC.i.JkIAKUHSFsFn7t9PbtewAewXJ2uhZGCOlGCX6oVnG3u.CgqzAffY4vZSnfTT8wnCkzZNZ_g6k.XUc3ipo_6e.92TXl4p8MxDGAf1tpNF5nXPwcQ7aREs7jGoWWVJYVytp50clsUFSHzf7Zbpa8P1Yoe_xSzf3OAgRSh5fCrbFCC8sHPCuwrL3YhasbtHmkWffteSS.x6gEcBaxf03oz4FeDb5mpJ54g11Xonq8h_TmzX9g84Bin9g_3fJ4WSXm6g6.tohLyfXcUxoz4j036wyWpTKPrWEzIUQaN83Sv_bj_Ghxw--
    -Received: from [69.124.140.74] by web32405.mail.mud.yahoo.com via HTTP; Mon, 20 Apr 2009 16:25:32 PDT
    -X-Mailer: YahooMailClassic/5.2.15 YahooMailWebService/0.7.289.1
    -Date: Mon, 20 Apr 2009 16:25:32 -0700 (PDT)
    -From: M Moraes <markmoraes@yahoo.com>
    -Reply-To: moraes@computer.org
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii
    -Status: RO
    -X-Status: A
    -Content-Length: 3222
    -
    -
    -Hi Dwayne.
    -
    -Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    -
    -Regards,
    -Mark.
    -
    ---- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    -
    -> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    -> Subject: PyCrypto license clarification
    -> To: "Mark Moraes" <moraes@computer.org>
    -> Date: Saturday, April 18, 2009, 9:14 AM
    -> Hi Mark,
    -> 
    -> I am the new maintainer of the Python Cryptography Toolkit,
    -> and I am
    -> working on a new release at http://www.pycrypto.org/.
    -> 
    -> People often ask me what license PyCrypto is covered by, if
    -> it's
    -> GPL-compatible, etc.  Right now, I'm not really sure
    -> what to tell them.
    -> The text in the current LICENSE file (quoted below) is not
    -> entirely clear
    -> on the point of whether distributing modified versions is
    -> allowed.  (It
    -> says "distribute and use", but not "modify".)
    -> 
    ->      
    -> ===================================================================
    ->       Distribute and use freely; there are
    -> no restrictions on further
    ->       dissemination and usage except those
    -> imposed by the laws of your
    ->       country of residence.  This
    -> software is provided "as is" without
    ->       warranty of fitness for use or
    -> suitability for any purpose, express
    ->       or implied. Use at your own risk or
    -> not at all.
    ->      
    -> ===================================================================
    -> 
    ->       Incorporating the code into commercial
    -> products is permitted; you do
    ->       not have to make source available or
    -> contribute your changes back
    ->       (though that would be nice).
    -> 
    ->       --amk       
    ->                
    ->                
    ->             (www.amk.ca)
    -> 
    -> For the next PyCrypto release, I would like to take steps
    -> to move toward a
    -> clearer licensing regime.  I am asking as many
    -> copyright holders as I can
    -> find if I can release PyCrypto under something clearer and
    -> more standard.
    -> Below, I have quoted a public domain dedication that was
    -> recommended in
    -> _Intellectual Property and Open Source: A Practical Guide
    -> to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A.
    -> M. Kuchling, Robey
    -> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    -> have all
    -> approved the following dedication for their contributions.
    -> 
    -> I understand that you have made contributions to
    -> PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your
    -> contributions to PyCrypto,
    -> with the following notice?
    -> 
    ->      
    -> =======================================================================
    ->       The contents of this file are
    -> dedicated to the public domain.  To the
    ->       extent that dedication to the public
    -> domain is not available, everyone
    ->       is granted a worldwide, perpetual,
    -> royalty-free, non-exclusive license
    ->       to exercise all rights associated with
    -> the contents of this file for
    ->       any purpose whatsoever.  No
    -> rights are reserved.
    ->      
    -> =======================================================================
    -> 
    -> Regards,
    ->    - Dwayne
    -> 
    -> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->    Key-signing key   - 19E1
    -> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -> 
    -
    -
    -From dlitz@dlitz.net Mon Apr 20 20:01:37 2009
    -Date: Mon, 20 Apr 2009 20:01:37 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: moraes@computer.org
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090421000137.GA29012@rivest.dlitz.net>
    -References: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -In-Reply-To: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3677
    -
    -Thanks a lot, and don't worry about not responding to previous emails.  I 
    -do that too much myself. :)
    -
    -On Mon, Apr 20, 2009 at 04:25:32PM -0700, M Moraes wrote:
    ->
    ->Hi Dwayne.
    ->
    ->Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    ->
    ->Regards,
    ->Mark.
    ->
    ->--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    ->
    ->> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->> Subject: PyCrypto license clarification
    ->> To: "Mark Moraes" <moraes@computer.org>
    ->> Date: Saturday, April 18, 2009, 9:14 AM
    ->> Hi Mark,
    ->> 
    ->> I am the new maintainer of the Python Cryptography Toolkit,
    ->> and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->> 
    ->> People often ask me what license PyCrypto is covered by, if
    ->> it's
    ->> GPL-compatible, etc.  Right now, I'm not really sure
    ->> what to tell them.
    ->> The text in the current LICENSE file (quoted below) is not
    ->> entirely clear
    ->> on the point of whether distributing modified versions is
    ->> allowed.  (It
    ->> says "distribute and use", but not "modify".)
    ->> 
    ->>      
    ->> ===================================================================
    ->>       Distribute and use freely; there are
    ->> no restrictions on further
    ->>       dissemination and usage except those
    ->> imposed by the laws of your
    ->>       country of residence.  This
    ->> software is provided "as is" without
    ->>       warranty of fitness for use or
    ->> suitability for any purpose, express
    ->>       or implied. Use at your own risk or
    ->> not at all.
    ->>      
    ->> ===================================================================
    ->> 
    ->>       Incorporating the code into commercial
    ->> products is permitted; you do
    ->>       not have to make source available or
    ->> contribute your changes back
    ->>       (though that would be nice).
    ->> 
    ->>       --amk       
    ->>                
    ->>                
    ->>             (www.amk.ca)
    ->> 
    ->> For the next PyCrypto release, I would like to take steps
    ->> to move toward a
    ->> clearer licensing regime.  I am asking as many
    ->> copyright holders as I can
    ->> find if I can release PyCrypto under something clearer and
    ->> more standard.
    ->> Below, I have quoted a public domain dedication that was
    ->> recommended in
    ->> _Intellectual Property and Open Source: A Practical Guide
    ->> to Protecting
    ->> Code_, by Van Lindberg.  I have already contacted A.
    ->> M. Kuchling, Robey
    ->> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    ->> have all
    ->> approved the following dedication for their contributions.
    ->> 
    ->> I understand that you have made contributions to
    ->> PyCrypto.  May I, on your
    ->> behalf, dedicate to the public domain all your
    ->> contributions to PyCrypto,
    ->> with the following notice?
    ->> 
    ->>      
    ->> =======================================================================
    ->>       The contents of this file are
    ->> dedicated to the public domain.  To the
    ->>       extent that dedication to the public
    ->> domain is not available, everyone
    ->>       is granted a worldwide, perpetual,
    ->> royalty-free, non-exclusive license
    ->>       to exercise all rights associated with
    ->> the contents of this file for
    ->>       any purpose whatsoever.  No
    ->> rights are reserved.
    ->>      
    ->> =======================================================================
    ->> 
    ->> Regards,
    ->>    - Dwayne
    ->> 
    ->> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->>    Key-signing key   - 19E1
    ->> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->> 
    ->
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    -
    -
    -
    -==========================================================
    -Date: Mon, 16 Feb 2009 12:58:00 -0800
    -From: Robey Pointer <robey@lag.net>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Received-SPF: pass (goedel.dlitz.net: domain of robey@lag.net designates 69.61.78.186 as permitted sender)
    -Message-Id: <F469A078-6305-4484-BEA8-F4EC38A4154F@lag.net>
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On 23 Nov 2008, at 07:42, Dwayne C. Litzenberger wrote:
    -
    -> For the next PyCrypto release, I would like to take steps to move  
    -> toward a clearer licensing regime.  I am asking as many copyright  
    -> holders as I can find if I can release PyCrypto under something  
    -> clearer and more standard.  Below, I have quoted a public domain  
    -> dedication that was recommended in _Intellectual Property and Open  
    -> Source: A Practical Guide to Protecting Code_, by Van Lindberg.  I  
    -> have already contacted A. M. Kuchling, and he has approved the  
    -> following dedication for his contributions.
    ->
    -> May I, on your behalf, dedicate to the public domain all your  
    -> contributions to PyCrypto, with the following notice?
    ->
    ->     
    -> = 
    -> ======================================================================
    ->    The contents of this file are dedicated to the public domain.  To  
    -> the
    ->    extent that dedication to the public domain is not available,  
    -> everyone
    ->    is granted a worldwide, perpetual, royalty-free, non-exclusive  
    -> license
    ->    to exercise all rights associated with the contents of this file  
    -> for
    ->    any purpose whatsoever.  No rights are reserved.
    ->     
    -> = 
    -> ======================================================================
    ->
    -
    -In case I haven't replied to this yet: Yes, this is fine with me.
    -
    -robey
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.8 (Darwin)
    -
    -iEYEARECAAYFAkmZ01gACgkQQQDkKvyJ6cOLvQCfQmYYuVODvIlyLg0hgCI9LAbQ
    -SH8AoLJgaq1lIi7/ZYDc+/Cd8VO0xLbr
    -=Mv6g
    ------END PGP SIGNATURE-----
    -
    -
    -
    -==========================================================
    -From dlitz@dlitz.net Sun Aug  2 21:48:25 2009
    -Date: Sun, 2 Aug 2009 21:48:25 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Paul Swartz <paulswartz@gmail.com>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090803014825.GA1326@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2631
    -
    -Hi Paul,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -   ===================================================================
    -   Distribute and use freely; there are no restrictions on further
    -   dissemination and usage except those imposed by the laws of your
    -   country of residence.  This software is provided "as is" without
    -   warranty of fitness for use or suitability for any purpose, express
    -   or implied. Use at your own risk or not at all.
    -   ===================================================================
    -
    -   Incorporating the code into commercial products is permitted; you do
    -   not have to make source available or contribute your changes back
    -   (though that would be nice).
    -
    -   --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, Joris Bontje, and Mark 
    -Moraes, and they have all approved the following dedication for their 
    -contributions.
    -
    -I understand that you have made contributions to PyCrypto, under nickname 
    -"z3p" and/or other names.  May I, on your behalf, dedicate to the public 
    -domain all your contributions to PyCrypto, with the following notice?
    -
    -   =======================================================================
    -   The contents of this file are dedicated to the public domain.  To the
    -   extent that dedication to the public domain is not available, everyone
    -   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -   to exercise all rights associated with the contents of this file for
    -   any purpose whatsoever.  No rights are reserved.
    -   =======================================================================
    -
    -Regards,
    -  - Dwayne
    -
    ---
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -   Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From paulswartz@gmail.com Mon Aug  3 12:14:07 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <paulswartz@gmail.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 30B9D984FC4
    -    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 12:14:07 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id AD9AE81068
    -    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 10:14:06 -0600 (CST)
    -Received: (vmailmgr-postfix 32055 invoked by uid 1003);  3 Aug 2009 10:14:06 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: pass (gmail.com ... _spf.google.com: 72.14.220.159 is authorized to use 'paulswartz@gmail.com' in 'mfrom' identity (mechanism 'ip4:72.14.192.0/18' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="paulswartz@gmail.com"; helo=fg-out-1718.google.com; client-ip=72.14.220.159
    -Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 4E63881066
    -    for <dlitz@dlitz.net>; Mon,  3 Aug 2009 10:14:05 -0600 (CST)
    -Received: by fg-out-1718.google.com with SMTP id d23so1076840fga.3
    -        for <dlitz@dlitz.net>; Mon, 03 Aug 2009 09:14:04 -0700 (PDT)
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    -        d=gmail.com; s=gamma;
    -        h=domainkey-signature:mime-version:received:in-reply-to:references
    -         :from:date:message-id:subject:to:content-type
    -         :content-transfer-encoding;
    -        bh=A0RHBf0TnribKS5qOHJ3WYbkZ+b0cuPeuoKAvpApWcc=;
    -        b=gyTqkRhKlHadFKIZCBWsRbnMNVDq1PWlJbyC0EvxPskaoHr3HAR96MWQNBePu/40Ac
    -         Vn55qlIqTdom4e9zlUEE6MwZo9kqi/Qw0L/SLib0DlQeNqo/eHYqPmuVswltaYwNAyMJ
    -         Y9++76rPGzqYdALsfvsmwv7Q3/bEmjVTr0tQE=
    -DomainKey-Signature: a=rsa-sha1; c=nofws;
    -        d=gmail.com; s=gamma;
    -        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
    -         :content-type:content-transfer-encoding;
    -        b=jze7KSMkUGilfVCXKXaaXMi5NAtGdMQOtVZZfRNyGSy68xOd2sxefjyyig3EfT6Nv6
    -         Q3opUMsT96Q6zjZND55w446kTh2uBTNz4d3NwIeEWJnG3xcliRQu/mXPFp8AzPI3CefL
    -         1ornJLM1eQ2XyuZA73jem+SJtfdHUcSD1UhgI=
    -MIME-Version: 1.0
    -Received: by 10.239.157.147 with SMTP id q19mr601802hbc.61.1249316043185; Mon, 
    -    03 Aug 2009 09:14:03 -0700 (PDT)
    -In-Reply-To: <20090803014825.GA1326@rivest.dlitz.net>
    -References: <20090803014825.GA1326@rivest.dlitz.net>
    -From: Paul Swartz <paulswartz@gmail.com>
    -Date: Mon, 3 Aug 2009 12:13:43 -0400
    -Message-ID: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Content-Type: text/plain; charset=UTF-8
    -Content-Transfer-Encoding: quoted-printable
    -Status: RO
    -X-Status: A
    -Content-Length: 1450
    -
    -On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wro=
    -te:
    -> Hi Paul,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    -
    -That's great!
    -
    -> I understand that you have made contributions to PyCrypto, under nickname
    -> "z3p" and/or other names. =C2=A0May I, on your behalf, dedicate to the pu=
    -blic
    -> domain all your contributions to PyCrypto, with the following notice?
    ->
    -> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -> =C2=A0The contents of this file are dedicated to the public domain. =C2=
    -=A0To the
    -> =C2=A0extent that dedication to the public domain is not available, every=
    -one
    -> =C2=A0is granted a worldwide, perpetual, royalty-free, non-exclusive lice=
    -nse
    -> =C2=A0to exercise all rights associated with the contents of this file fo=
    -r
    -> =C2=A0any purpose whatsoever. =C2=A0No rights are reserved.
    -> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -Yes, that's fine.  Good luck with the new release!
    -
    --p
    ---=20
    -Paul Swartz
    -paulswartz at gmail dot com
    -http://paulswartz.net/
    -AIM: z3penguin
    -
    -
    -From dlitz@dlitz.net Mon Aug  3 14:35:01 2009
    -Date: Mon, 3 Aug 2009 14:35:01 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Paul Swartz <paulswartz@gmail.com>
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090803183501.GA17472@rivest.dlitz.net>
    -References: <20090803014825.GA1326@rivest.dlitz.net> <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=iso-8859-1; format=flowed
    -Content-Disposition: inline
    -Content-Transfer-Encoding: 8bit
    -In-Reply-To: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 1250
    -
    -On Mon, Aug 03, 2009 at 12:13:43PM -0400, Paul Swartz wrote:
    ->On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wrote:
    ->> Hi Paul,
    ->>
    ->> I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->
    ->That's great!
    ->
    ->> I understand that you have made contributions to PyCrypto, under nickname
    ->> "z3p" and/or other names. �May I, on your behalf, dedicate to the public
    ->> domain all your contributions to PyCrypto, with the following notice?
    ->>
    ->> �=======================================================================
    ->> �The contents of this file are dedicated to the public domain. �To the
    ->> �extent that dedication to the public domain is not available, everyone
    ->> �is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->> �to exercise all rights associated with the contents of this file for
    ->> �any purpose whatsoever. �No rights are reserved.
    ->> �=======================================================================
    ->
    ->Yes, that's fine.  Good luck with the new release!
    -
    -Perfect!  Thanks for the quick response!
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -
    -
    -==========================================================
    -
    -
    - - -
    - -
    -

    PyJWT - 1.4.0 -

    - - - - - -
    The MIT License (MIT)
    -
    -Copyright (c) 2015 José Padilla
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -SOFTWARE.
    - - -
    - -
    -

    psycopg2 - 2.6.1 -

    - - - -
    psycopg2 and the LGPL
    -=====================
    -
    -psycopg2 is free software: you can redistribute it and/or modify it
    -under the terms of the GNU Lesser General Public License as published
    -by the Free Software Foundation, either version 3 of the License, or
    -(at your option) any later version.
    -
    -psycopg2 is distributed in the hope that it will be useful, but WITHOUT
    -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    -FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
    -License for more details.
    -
    -In addition, as a special exception, the copyright holders give
    -permission to link this program with the OpenSSL library (or with
    -modified versions of OpenSSL that use the same license as OpenSSL),
    -and distribute linked combinations including the two.
    -
    -You must obey the GNU Lesser General Public License in all respects for
    -all of the code used other than OpenSSL. If you modify file(s) with this
    -exception, you may extend this exception to your version of the file(s),
    -but you are not obligated to do so. If you do not wish to do so, delete
    -this exception statement from your version. If you delete this exception
    -statement from all source files in the program, then also delete it here.
    -
    -You should have received a copy of the GNU Lesser General Public License
    -along with psycopg2 (see the doc/ directory.)
    -If not, see .
    -
    -
    -Alternative licenses
    -====================
    -
    -If you prefer you can use the Zope Database Adapter ZPsycopgDA (i.e.,
    -every file inside the ZPsycopgDA directory) user the ZPL license as
    -published on the Zope web site, http://www.zope.org/Resources/ZPL.
    -
    -Also, the following BSD-like license applies (at your option) to the
    -files following the pattern psycopg/adapter*.{h,c} and
    -psycopg/microprotocol*.{h,c}:
    -
    - Permission is granted to anyone to use this software for any purpose,
    - including commercial applications, and to alter it and redistribute it
    - freely, subject to the following restrictions:
    -
    - 1. The origin of this software must not be misrepresented; you must not
    -    claim that you wrote the original software. If you use this
    -    software in a product, an acknowledgment in the product documentation
    -    would be appreciated but is not required.
    - 
    - 2. Altered source versions must be plainly marked as such, and must not
    -    be misrepresented as being the original software.
    - 
    - 3. This notice may not be removed or altered from any source distribution.
    -
    - - - -
    		   GNU LESSER GENERAL PUBLIC LICENSE
    -                       Version 3, 29 June 2007
    -
    - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -
    -  This version of the GNU Lesser General Public License incorporates
    -the terms and conditions of version 3 of the GNU General Public
    -License, supplemented by the additional permissions listed below.
    -
    -  0. Additional Definitions. 
    -
    -  As used herein, "this License" refers to version 3 of the GNU Lesser
    -General Public License, and the "GNU GPL" refers to version 3 of the GNU
    -General Public License.
    -
    -  "The Library" refers to a covered work governed by this License,
    -other than an Application or a Combined Work as defined below.
    -
    -  An "Application" is any work that makes use of an interface provided
    -by the Library, but which is not otherwise based on the Library.
    -Defining a subclass of a class defined by the Library is deemed a mode
    -of using an interface provided by the Library.
    -
    -  A "Combined Work" is a work produced by combining or linking an
    -Application with the Library.  The particular version of the Library
    -with which the Combined Work was made is also called the "Linked
    -Version".
    -
    -  The "Minimal Corresponding Source" for a Combined Work means the
    -Corresponding Source for the Combined Work, excluding any source code
    -for portions of the Combined Work that, considered in isolation, are
    -based on the Application, and not on the Linked Version.
    -
    -  The "Corresponding Application Code" for a Combined Work means the
    -object code and/or source code for the Application, including any data
    -and utility programs needed for reproducing the Combined Work from the
    -Application, but excluding the System Libraries of the Combined Work.
    -
    -  1. Exception to Section 3 of the GNU GPL.
    -
    -  You may convey a covered work under sections 3 and 4 of this License
    -without being bound by section 3 of the GNU GPL.
    -
    -  2. Conveying Modified Versions.
    -
    -  If you modify a copy of the Library, and, in your modifications, a
    -facility refers to a function or data to be supplied by an Application
    -that uses the facility (other than as an argument passed when the
    -facility is invoked), then you may convey a copy of the modified
    -version:
    -
    -   a) under this License, provided that you make a good faith effort to
    -   ensure that, in the event an Application does not supply the
    -   function or data, the facility still operates, and performs
    -   whatever part of its purpose remains meaningful, or
    -
    -   b) under the GNU GPL, with none of the additional permissions of
    -   this License applicable to that copy.
    -
    -  3. Object Code Incorporating Material from Library Header Files.
    -
    -  The object code form of an Application may incorporate material from
    -a header file that is part of the Library.  You may convey such object
    -code under terms of your choice, provided that, if the incorporated
    -material is not limited to numerical parameters, data structure
    -layouts and accessors, or small macros, inline functions and templates
    -(ten or fewer lines in length), you do both of the following:
    -
    -   a) Give prominent notice with each copy of the object code that the
    -   Library is used in it and that the Library and its use are
    -   covered by this License.
    -
    -   b) Accompany the object code with a copy of the GNU GPL and this license
    -   document.
    -
    -  4. Combined Works.
    -
    -  You may convey a Combined Work under terms of your choice that,
    -taken together, effectively do not restrict modification of the
    -portions of the Library contained in the Combined Work and reverse
    -engineering for debugging such modifications, if you also do each of
    -the following:
    -
    -   a) Give prominent notice with each copy of the Combined Work that
    -   the Library is used in it and that the Library and its use are
    -   covered by this License.
    -
    -   b) Accompany the Combined Work with a copy of the GNU GPL and this license
    -   document.
    -
    -   c) For a Combined Work that displays copyright notices during
    -   execution, include the copyright notice for the Library among
    -   these notices, as well as a reference directing the user to the
    -   copies of the GNU GPL and this license document.
    -
    -   d) Do one of the following:
    -
    -       0) Convey the Minimal Corresponding Source under the terms of this
    -       License, and the Corresponding Application Code in a form
    -       suitable for, and under terms that permit, the user to
    -       recombine or relink the Application with a modified version of
    -       the Linked Version to produce a modified Combined Work, in the
    -       manner specified by section 6 of the GNU GPL for conveying
    -       Corresponding Source.
    -
    -       1) Use a suitable shared library mechanism for linking with the
    -       Library.  A suitable mechanism is one that (a) uses at run time
    -       a copy of the Library already present on the user's computer
    -       system, and (b) will operate properly with a modified version
    -       of the Library that is interface-compatible with the Linked
    -       Version. 
    -
    -   e) Provide Installation Information, but only if you would otherwise
    -   be required to provide such information under section 6 of the
    -   GNU GPL, and only to the extent that such information is
    -   necessary to install and execute a modified version of the
    -   Combined Work produced by recombining or relinking the
    -   Application with a modified version of the Linked Version. (If
    -   you use option 4d0, the Installation Information must accompany
    -   the Minimal Corresponding Source and Corresponding Application
    -   Code. If you use option 4d1, you must provide the Installation
    -   Information in the manner specified by section 6 of the GNU GPL
    -   for conveying Corresponding Source.)
    -
    -  5. Combined Libraries.
    -
    -  You may place library facilities that are a work based on the
    -Library side by side in a single library together with other library
    -facilities that are not Applications and are not covered by this
    -License, and convey such a combined library under terms of your
    -choice, if you do both of the following:
    -
    -   a) Accompany the combined library with a copy of the same work based
    -   on the Library, uncombined with any other library facilities,
    -   conveyed under the terms of this License.
    -
    -   b) Give prominent notice with the combined library that part of it
    -   is a work based on the Library, and explaining where to find the
    -   accompanying uncombined form of the same work.
    -
    -  6. Revised Versions of the GNU Lesser General Public License.
    -
    -  The Free Software Foundation may publish revised and/or new versions
    -of the GNU Lesser General Public License from time to time. Such new
    -versions will be similar in spirit to the present version, but may
    -differ in detail to address new problems or concerns.
    -
    -  Each version is given a distinguishing version number. If the
    -Library as you received it specifies that a certain numbered version
    -of the GNU Lesser General Public License "or any later version"
    -applies to it, you have the option of following the terms and
    -conditions either of that published version or of any later version
    -published by the Free Software Foundation. If the Library as you
    -received it does not specify a version number of the GNU Lesser
    -General Public License, you may choose any version of the GNU Lesser
    -General Public License ever published by the Free Software Foundation.
    -
    -  If the Library as you received it specifies that a proxy can decide
    -whether future versions of the GNU Lesser General Public License shall
    -apply, that proxy's public statement of acceptance of any version is
    -permanent authorization for you to choose that version for the
    -Library.
    -
    -
    -
    -
    -
    -
    -
    -
    -====================================================================
    -
    -		    GNU GENERAL PUBLIC LICENSE
    -		       Version 3, 29 June 2007
    -
    - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -			    Preamble
    -
    -  The GNU General Public License is a free, copyleft license for
    -software and other kinds of works.
    -
    -  The licenses for most software and other practical works are designed
    -to take away your freedom to share and change the works.  By contrast,
    -the GNU General Public License is intended to guarantee your freedom to
    -share and change all versions of a program--to make sure it remains free
    -software for all its users.  We, the Free Software Foundation, use the
    -GNU General Public License for most of our software; it applies also to
    -any other work released this way by its authors.  You can apply it to
    -your programs, too.
    -
    -  When we speak of free software, we are referring to freedom, not
    -price.  Our General Public Licenses are designed to make sure that you
    -have the freedom to distribute copies of free software (and charge for
    -them if you wish), that you receive source code or can get it if you
    -want it, that you can change the software or use pieces of it in new
    -free programs, and that you know you can do these things.
    -
    -  To protect your rights, we need to prevent others from denying you
    -these rights or asking you to surrender the rights.  Therefore, you have
    -certain responsibilities if you distribute copies of the software, or if
    -you modify it: responsibilities to respect the freedom of others.
    -
    -  For example, if you distribute copies of such a program, whether
    -gratis or for a fee, you must pass on to the recipients the same
    -freedoms that you received.  You must make sure that they, too, receive
    -or can get the source code.  And you must show them these terms so they
    -know their rights.
    -
    -  Developers that use the GNU GPL protect your rights with two steps:
    -(1) assert copyright on the software, and (2) offer you this License
    -giving you legal permission to copy, distribute and/or modify it.
    -
    -  For the developers' and authors' protection, the GPL clearly explains
    -that there is no warranty for this free software.  For both users' and
    -authors' sake, the GPL requires that modified versions be marked as
    -changed, so that their problems will not be attributed erroneously to
    -authors of previous versions.
    -
    -  Some devices are designed to deny users access to install or run
    -modified versions of the software inside them, although the manufacturer
    -can do so.  This is fundamentally incompatible with the aim of
    -protecting users' freedom to change the software.  The systematic
    -pattern of such abuse occurs in the area of products for individuals to
    -use, which is precisely where it is most unacceptable.  Therefore, we
    -have designed this version of the GPL to prohibit the practice for those
    -products.  If such problems arise substantially in other domains, we
    -stand ready to extend this provision to those domains in future versions
    -of the GPL, as needed to protect the freedom of users.
    -
    -  Finally, every program is threatened constantly by software patents.
    -States should not allow patents to restrict development and use of
    -software on general-purpose computers, but in those that do, we wish to
    -avoid the special danger that patents applied to a free program could
    -make it effectively proprietary.  To prevent this, the GPL assures that
    -patents cannot be used to render the program non-free.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.
    -
    -		       TERMS AND CONDITIONS
    -
    -  0. Definitions.
    -
    -  "This License" refers to version 3 of the GNU General Public License.
    -
    -  "Copyright" also means copyright-like laws that apply to other kinds of
    -works, such as semiconductor masks.
    - 
    -  "The Program" refers to any copyrightable work licensed under this
    -License.  Each licensee is addressed as "you".  "Licensees" and
    -"recipients" may be individuals or organizations.
    -
    -  To "modify" a work means to copy from or adapt all or part of the work
    -in a fashion requiring copyright permission, other than the making of an
    -exact copy.  The resulting work is called a "modified version" of the
    -earlier work or a work "based on" the earlier work.
    -
    -  A "covered work" means either the unmodified Program or a work based
    -on the Program.
    -
    -  To "propagate" a work means to do anything with it that, without
    -permission, would make you directly or secondarily liable for
    -infringement under applicable copyright law, except executing it on a
    -computer or modifying a private copy.  Propagation includes copying,
    -distribution (with or without modification), making available to the
    -public, and in some countries other activities as well.
    -
    -  To "convey" a work means any kind of propagation that enables other
    -parties to make or receive copies.  Mere interaction with a user through
    -a computer network, with no transfer of a copy, is not conveying.
    -
    -  An interactive user interface displays "Appropriate Legal Notices"
    -to the extent that it includes a convenient and prominently visible
    -feature that (1) displays an appropriate copyright notice, and (2)
    -tells the user that there is no warranty for the work (except to the
    -extent that warranties are provided), that licensees may convey the
    -work under this License, and how to view a copy of this License.  If
    -the interface presents a list of user commands or options, such as a
    -menu, a prominent item in the list meets this criterion.
    -
    -  1. Source Code.
    -
    -  The "source code" for a work means the preferred form of the work
    -for making modifications to it.  "Object code" means any non-source
    -form of a work.
    -
    -  A "Standard Interface" means an interface that either is an official
    -standard defined by a recognized standards body, or, in the case of
    -interfaces specified for a particular programming language, one that
    -is widely used among developers working in that language.
    -
    -  The "System Libraries" of an executable work include anything, other
    -than the work as a whole, that (a) is included in the normal form of
    -packaging a Major Component, but which is not part of that Major
    -Component, and (b) serves only to enable use of the work with that
    -Major Component, or to implement a Standard Interface for which an
    -implementation is available to the public in source code form.  A
    -"Major Component", in this context, means a major essential component
    -(kernel, window system, and so on) of the specific operating system
    -(if any) on which the executable work runs, or a compiler used to
    -produce the work, or an object code interpreter used to run it.
    -
    -  The "Corresponding Source" for a work in object code form means all
    -the source code needed to generate, install, and (for an executable
    -work) run the object code and to modify the work, including scripts to
    -control those activities.  However, it does not include the work's
    -System Libraries, or general-purpose tools or generally available free
    -programs which are used unmodified in performing those activities but
    -which are not part of the work.  For example, Corresponding Source
    -includes interface definition files associated with source files for
    -the work, and the source code for shared libraries and dynamically
    -linked subprograms that the work is specifically designed to require,
    -such as by intimate data communication or control flow between those
    -subprograms and other parts of the work.
    -
    -  The Corresponding Source need not include anything that users
    -can regenerate automatically from other parts of the Corresponding
    -Source.
    -
    -  The Corresponding Source for a work in source code form is that
    -same work.
    -
    -  2. Basic Permissions.
    -
    -  All rights granted under this License are granted for the term of
    -copyright on the Program, and are irrevocable provided the stated
    -conditions are met.  This License explicitly affirms your unlimited
    -permission to run the unmodified Program.  The output from running a
    -covered work is covered by this License only if the output, given its
    -content, constitutes a covered work.  This License acknowledges your
    -rights of fair use or other equivalent, as provided by copyright law.
    -
    -  You may make, run and propagate covered works that you do not
    -convey, without conditions so long as your license otherwise remains
    -in force.  You may convey covered works to others for the sole purpose
    -of having them make modifications exclusively for you, or provide you
    -with facilities for running those works, provided that you comply with
    -the terms of this License in conveying all material for which you do
    -not control copyright.  Those thus making or running the covered works
    -for you must do so exclusively on your behalf, under your direction
    -and control, on terms that prohibit them from making any copies of
    -your copyrighted material outside their relationship with you.
    -
    -  Conveying under any other circumstances is permitted solely under
    -the conditions stated below.  Sublicensing is not allowed; section 10
    -makes it unnecessary.
    -
    -  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    -
    -  No covered work shall be deemed part of an effective technological
    -measure under any applicable law fulfilling obligations under article
    -11 of the WIPO copyright treaty adopted on 20 December 1996, or
    -similar laws prohibiting or restricting circumvention of such
    -measures.
    -
    -  When you convey a covered work, you waive any legal power to forbid
    -circumvention of technological measures to the extent such circumvention
    -is effected by exercising rights under this License with respect to
    -the covered work, and you disclaim any intention to limit operation or
    -modification of the work as a means of enforcing, against the work's
    -users, your or third parties' legal rights to forbid circumvention of
    -technological measures.
    -
    -  4. Conveying Verbatim Copies.
    -
    -  You may convey verbatim copies of the Program's source code as you
    -receive it, in any medium, provided that you conspicuously and
    -appropriately publish on each copy an appropriate copyright notice;
    -keep intact all notices stating that this License and any
    -non-permissive terms added in accord with section 7 apply to the code;
    -keep intact all notices of the absence of any warranty; and give all
    -recipients a copy of this License along with the Program.
    -
    -  You may charge any price or no price for each copy that you convey,
    -and you may offer support or warranty protection for a fee.
    -
    -  5. Conveying Modified Source Versions.
    -
    -  You may convey a work based on the Program, or the modifications to
    -produce it from the Program, in the form of source code under the
    -terms of section 4, provided that you also meet all of these conditions:
    -
    -    a) The work must carry prominent notices stating that you modified
    -    it, and giving a relevant date.
    -
    -    b) The work must carry prominent notices stating that it is
    -    released under this License and any conditions added under section
    -    7.  This requirement modifies the requirement in section 4 to
    -    "keep intact all notices".
    -
    -    c) You must license the entire work, as a whole, under this
    -    License to anyone who comes into possession of a copy.  This
    -    License will therefore apply, along with any applicable section 7
    -    additional terms, to the whole of the work, and all its parts,
    -    regardless of how they are packaged.  This License gives no
    -    permission to license the work in any other way, but it does not
    -    invalidate such permission if you have separately received it.
    -
    -    d) If the work has interactive user interfaces, each must display
    -    Appropriate Legal Notices; however, if the Program has interactive
    -    interfaces that do not display Appropriate Legal Notices, your
    -    work need not make them do so.
    -
    -  A compilation of a covered work with other separate and independent
    -works, which are not by their nature extensions of the covered work,
    -and which are not combined with it such as to form a larger program,
    -in or on a volume of a storage or distribution medium, is called an
    -"aggregate" if the compilation and its resulting copyright are not
    -used to limit the access or legal rights of the compilation's users
    -beyond what the individual works permit.  Inclusion of a covered work
    -in an aggregate does not cause this License to apply to the other
    -parts of the aggregate.
    -
    -  6. Conveying Non-Source Forms.
    -
    -  You may convey a covered work in object code form under the terms
    -of sections 4 and 5, provided that you also convey the
    -machine-readable Corresponding Source under the terms of this License,
    -in one of these ways:
    -
    -    a) Convey the object code in, or embodied in, a physical product
    -    (including a physical distribution medium), accompanied by the
    -    Corresponding Source fixed on a durable physical medium
    -    customarily used for software interchange.
    -
    -    b) Convey the object code in, or embodied in, a physical product
    -    (including a physical distribution medium), accompanied by a
    -    written offer, valid for at least three years and valid for as
    -    long as you offer spare parts or customer support for that product
    -    model, to give anyone who possesses the object code either (1) a
    -    copy of the Corresponding Source for all the software in the
    -    product that is covered by this License, on a durable physical
    -    medium customarily used for software interchange, for a price no
    -    more than your reasonable cost of physically performing this
    -    conveying of source, or (2) access to copy the
    -    Corresponding Source from a network server at no charge.
    -
    -    c) Convey individual copies of the object code with a copy of the
    -    written offer to provide the Corresponding Source.  This
    -    alternative is allowed only occasionally and noncommercially, and
    -    only if you received the object code with such an offer, in accord
    -    with subsection 6b.
    -
    -    d) Convey the object code by offering access from a designated
    -    place (gratis or for a charge), and offer equivalent access to the
    -    Corresponding Source in the same way through the same place at no
    -    further charge.  You need not require recipients to copy the
    -    Corresponding Source along with the object code.  If the place to
    -    copy the object code is a network server, the Corresponding Source
    -    may be on a different server (operated by you or a third party)
    -    that supports equivalent copying facilities, provided you maintain
    -    clear directions next to the object code saying where to find the
    -    Corresponding Source.  Regardless of what server hosts the
    -    Corresponding Source, you remain obligated to ensure that it is
    -    available for as long as needed to satisfy these requirements.
    -
    -    e) Convey the object code using peer-to-peer transmission, provided
    -    you inform other peers where the object code and Corresponding
    -    Source of the work are being offered to the general public at no
    -    charge under subsection 6d.
    -
    -  A separable portion of the object code, whose source code is excluded
    -from the Corresponding Source as a System Library, need not be
    -included in conveying the object code work.
    -
    -  A "User Product" is either (1) a "consumer product", which means any
    -tangible personal property which is normally used for personal, family,
    -or household purposes, or (2) anything designed or sold for incorporation
    -into a dwelling.  In determining whether a product is a consumer product,
    -doubtful cases shall be resolved in favor of coverage.  For a particular
    -product received by a particular user, "normally used" refers to a
    -typical or common use of that class of product, regardless of the status
    -of the particular user or of the way in which the particular user
    -actually uses, or expects or is expected to use, the product.  A product
    -is a consumer product regardless of whether the product has substantial
    -commercial, industrial or non-consumer uses, unless such uses represent
    -the only significant mode of use of the product.
    -
    -  "Installation Information" for a User Product means any methods,
    -procedures, authorization keys, or other information required to install
    -and execute modified versions of a covered work in that User Product from
    -a modified version of its Corresponding Source.  The information must
    -suffice to ensure that the continued functioning of the modified object
    -code is in no case prevented or interfered with solely because
    -modification has been made.
    -
    -  If you convey an object code work under this section in, or with, or
    -specifically for use in, a User Product, and the conveying occurs as
    -part of a transaction in which the right of possession and use of the
    -User Product is transferred to the recipient in perpetuity or for a
    -fixed term (regardless of how the transaction is characterized), the
    -Corresponding Source conveyed under this section must be accompanied
    -by the Installation Information.  But this requirement does not apply
    -if neither you nor any third party retains the ability to install
    -modified object code on the User Product (for example, the work has
    -been installed in ROM).
    -
    -  The requirement to provide Installation Information does not include a
    -requirement to continue to provide support service, warranty, or updates
    -for a work that has been modified or installed by the recipient, or for
    -the User Product in which it has been modified or installed.  Access to a
    -network may be denied when the modification itself materially and
    -adversely affects the operation of the network or violates the rules and
    -protocols for communication across the network.
    -
    -  Corresponding Source conveyed, and Installation Information provided,
    -in accord with this section must be in a format that is publicly
    -documented (and with an implementation available to the public in
    -source code form), and must require no special password or key for
    -unpacking, reading or copying.
    -
    -  7. Additional Terms.
    -
    -  "Additional permissions" are terms that supplement the terms of this
    -License by making exceptions from one or more of its conditions.
    -Additional permissions that are applicable to the entire Program shall
    -be treated as though they were included in this License, to the extent
    -that they are valid under applicable law.  If additional permissions
    -apply only to part of the Program, that part may be used separately
    -under those permissions, but the entire Program remains governed by
    -this License without regard to the additional permissions.
    -
    -  When you convey a copy of a covered work, you may at your option
    -remove any additional permissions from that copy, or from any part of
    -it.  (Additional permissions may be written to require their own
    -removal in certain cases when you modify the work.)  You may place
    -additional permissions on material, added by you to a covered work,
    -for which you have or can give appropriate copyright permission.
    -
    -  Notwithstanding any other provision of this License, for material you
    -add to a covered work, you may (if authorized by the copyright holders of
    -that material) supplement the terms of this License with terms:
    -
    -    a) Disclaiming warranty or limiting liability differently from the
    -    terms of sections 15 and 16 of this License; or
    -
    -    b) Requiring preservation of specified reasonable legal notices or
    -    author attributions in that material or in the Appropriate Legal
    -    Notices displayed by works containing it; or
    -
    -    c) Prohibiting misrepresentation of the origin of that material, or
    -    requiring that modified versions of such material be marked in
    -    reasonable ways as different from the original version; or
    -
    -    d) Limiting the use for publicity purposes of names of licensors or
    -    authors of the material; or
    -
    -    e) Declining to grant rights under trademark law for use of some
    -    trade names, trademarks, or service marks; or
    -
    -    f) Requiring indemnification of licensors and authors of that
    -    material by anyone who conveys the material (or modified versions of
    -    it) with contractual assumptions of liability to the recipient, for
    -    any liability that these contractual assumptions directly impose on
    -    those licensors and authors.
    -
    -  All other non-permissive additional terms are considered "further
    -restrictions" within the meaning of section 10.  If the Program as you
    -received it, or any part of it, contains a notice stating that it is
    -governed by this License along with a term that is a further
    -restriction, you may remove that term.  If a license document contains
    -a further restriction but permits relicensing or conveying under this
    -License, you may add to a covered work material governed by the terms
    -of that license document, provided that the further restriction does
    -not survive such relicensing or conveying.
    -
    -  If you add terms to a covered work in accord with this section, you
    -must place, in the relevant source files, a statement of the
    -additional terms that apply to those files, or a notice indicating
    -where to find the applicable terms.
    -
    -  Additional terms, permissive or non-permissive, may be stated in the
    -form of a separately written license, or stated as exceptions;
    -the above requirements apply either way.
    -
    -  8. Termination.
    -
    -  You may not propagate or modify a covered work except as expressly
    -provided under this License.  Any attempt otherwise to propagate or
    -modify it is void, and will automatically terminate your rights under
    -this License (including any patent licenses granted under the third
    -paragraph of section 11).
    -
    -  However, if you cease all violation of this License, then your
    -license from a particular copyright holder is reinstated (a)
    -provisionally, unless and until the copyright holder explicitly and
    -finally terminates your license, and (b) permanently, if the copyright
    -holder fails to notify you of the violation by some reasonable means
    -prior to 60 days after the cessation.
    -
    -  Moreover, your license from a particular copyright holder is
    -reinstated permanently if the copyright holder notifies you of the
    -violation by some reasonable means, this is the first time you have
    -received notice of violation of this License (for any work) from that
    -copyright holder, and you cure the violation prior to 30 days after
    -your receipt of the notice.
    -
    -  Termination of your rights under this section does not terminate the
    -licenses of parties who have received copies or rights from you under
    -this License.  If your rights have been terminated and not permanently
    -reinstated, you do not qualify to receive new licenses for the same
    -material under section 10.
    -
    -  9. Acceptance Not Required for Having Copies.
    -
    -  You are not required to accept this License in order to receive or
    -run a copy of the Program.  Ancillary propagation of a covered work
    -occurring solely as a consequence of using peer-to-peer transmission
    -to receive a copy likewise does not require acceptance.  However,
    -nothing other than this License grants you permission to propagate or
    -modify any covered work.  These actions infringe copyright if you do
    -not accept this License.  Therefore, by modifying or propagating a
    -covered work, you indicate your acceptance of this License to do so.
    -
    -  10. Automatic Licensing of Downstream Recipients.
    -
    -  Each time you convey a covered work, the recipient automatically
    -receives a license from the original licensors, to run, modify and
    -propagate that work, subject to this License.  You are not responsible
    -for enforcing compliance by third parties with this License.
    -
    -  An "entity transaction" is a transaction transferring control of an
    -organization, or substantially all assets of one, or subdividing an
    -organization, or merging organizations.  If propagation of a covered
    -work results from an entity transaction, each party to that
    -transaction who receives a copy of the work also receives whatever
    -licenses to the work the party's predecessor in interest had or could
    -give under the previous paragraph, plus a right to possession of the
    -Corresponding Source of the work from the predecessor in interest, if
    -the predecessor has it or can get it with reasonable efforts.
    -
    -  You may not impose any further restrictions on the exercise of the
    -rights granted or affirmed under this License.  For example, you may
    -not impose a license fee, royalty, or other charge for exercise of
    -rights granted under this License, and you may not initiate litigation
    -(including a cross-claim or counterclaim in a lawsuit) alleging that
    -any patent claim is infringed by making, using, selling, offering for
    -sale, or importing the Program or any portion of it.
    -
    -  11. Patents.
    -
    -  A "contributor" is a copyright holder who authorizes use under this
    -License of the Program or a work on which the Program is based.  The
    -work thus licensed is called the contributor's "contributor version".
    -
    -  A contributor's "essential patent claims" are all patent claims
    -owned or controlled by the contributor, whether already acquired or
    -hereafter acquired, that would be infringed by some manner, permitted
    -by this License, of making, using, or selling its contributor version,
    -but do not include claims that would be infringed only as a
    -consequence of further modification of the contributor version.  For
    -purposes of this definition, "control" includes the right to grant
    -patent sublicenses in a manner consistent with the requirements of
    -this License.
    -
    -  Each contributor grants you a non-exclusive, worldwide, royalty-free
    -patent license under the contributor's essential patent claims, to
    -make, use, sell, offer for sale, import and otherwise run, modify and
    -propagate the contents of its contributor version.
    -
    -  In the following three paragraphs, a "patent license" is any express
    -agreement or commitment, however denominated, not to enforce a patent
    -(such as an express permission to practice a patent or covenant not to
    -sue for patent infringement).  To "grant" such a patent license to a
    -party means to make such an agreement or commitment not to enforce a
    -patent against the party.
    -
    -  If you convey a covered work, knowingly relying on a patent license,
    -and the Corresponding Source of the work is not available for anyone
    -to copy, free of charge and under the terms of this License, through a
    -publicly available network server or other readily accessible means,
    -then you must either (1) cause the Corresponding Source to be so
    -available, or (2) arrange to deprive yourself of the benefit of the
    -patent license for this particular work, or (3) arrange, in a manner
    -consistent with the requirements of this License, to extend the patent
    -license to downstream recipients.  "Knowingly relying" means you have
    -actual knowledge that, but for the patent license, your conveying the
    -covered work in a country, or your recipient's use of the covered work
    -in a country, would infringe one or more identifiable patents in that
    -country that you have reason to believe are valid.
    -  
    -  If, pursuant to or in connection with a single transaction or
    -arrangement, you convey, or propagate by procuring conveyance of, a
    -covered work, and grant a patent license to some of the parties
    -receiving the covered work authorizing them to use, propagate, modify
    -or convey a specific copy of the covered work, then the patent license
    -you grant is automatically extended to all recipients of the covered
    -work and works based on it.
    -
    -  A patent license is "discriminatory" if it does not include within
    -the scope of its coverage, prohibits the exercise of, or is
    -conditioned on the non-exercise of one or more of the rights that are
    -specifically granted under this License.  You may not convey a covered
    -work if you are a party to an arrangement with a third party that is
    -in the business of distributing software, under which you make payment
    -to the third party based on the extent of your activity of conveying
    -the work, and under which the third party grants, to any of the
    -parties who would receive the covered work from you, a discriminatory
    -patent license (a) in connection with copies of the covered work
    -conveyed by you (or copies made from those copies), or (b) primarily
    -for and in connection with specific products or compilations that
    -contain the covered work, unless you entered into that arrangement,
    -or that patent license was granted, prior to 28 March 2007.
    -
    -  Nothing in this License shall be construed as excluding or limiting
    -any implied license or other defenses to infringement that may
    -otherwise be available to you under applicable patent law.
    -
    -  12. No Surrender of Others' Freedom.
    -
    -  If conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot convey a
    -covered work so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you may
    -not convey it at all.  For example, if you agree to terms that obligate you
    -to collect a royalty for further conveying from those to whom you convey
    -the Program, the only way you could satisfy both those terms and this
    -License would be to refrain entirely from conveying the Program.
    -
    -  13. Use with the GNU Affero General Public License.
    -
    -  Notwithstanding any other provision of this License, you have
    -permission to link or combine any covered work with a work licensed
    -under version 3 of the GNU Affero General Public License into a single
    -combined work, and to convey the resulting work.  The terms of this
    -License will continue to apply to the part which is the covered work,
    -but the special requirements of the GNU Affero General Public License,
    -section 13, concerning interaction through a network will apply to the
    -combination as such.
    -
    -  14. Revised Versions of this License.
    -
    -  The Free Software Foundation may publish revised and/or new versions of
    -the GNU General Public License from time to time.  Such new versions will
    -be similar in spirit to the present version, but may differ in detail to
    -address new problems or concerns.
    -
    -  Each version is given a distinguishing version number.  If the
    -Program specifies that a certain numbered version of the GNU General
    -Public License "or any later version" applies to it, you have the
    -option of following the terms and conditions either of that numbered
    -version or of any later version published by the Free Software
    -Foundation.  If the Program does not specify a version number of the
    -GNU General Public License, you may choose any version ever published
    -by the Free Software Foundation.
    -
    -  If the Program specifies that a proxy can decide which future
    -versions of the GNU General Public License can be used, that proxy's
    -public statement of acceptance of a version permanently authorizes you
    -to choose that version for the Program.
    -
    -  Later license versions may give you additional or different
    -permissions.  However, no additional obligations are imposed on any
    -author or copyright holder as a result of your choosing to follow a
    -later version.
    -
    -  15. Disclaimer of Warranty.
    -
    -  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    -APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    -IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    -ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    -
    -  16. Limitation of Liability.
    -
    -  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGES.
    -
    -  17. Interpretation of Sections 15 and 16.
    -
    -  If the disclaimer of warranty and limitation of liability provided
    -above cannot be given local legal effect according to their terms,
    -reviewing courts shall apply local law that most closely approximates
    -an absolute waiver of all civil liability in connection with the
    -Program, unless a warranty or assumption of liability accompanies a
    -copy of the Program in return for a fee.
    -
    -		     END OF TERMS AND CONDITIONS
    -
    -	    How to Apply These Terms to Your New Programs
    -
    -  If you develop a new program, and you want it to be of the greatest
    -possible use to the public, the best way to achieve this is to make it
    -free software which everyone can redistribute and change under these terms.
    -
    -  To do so, attach the following notices to the program.  It is safest
    -to attach them to the start of each source file to most effectively
    -state the exclusion of warranty; and each file should have at least
    -the "copyright" line and a pointer to where the full notice is found.
    -
    -    <one line to give the program's name and a brief idea of what it does.>
    -    Copyright (C) <year>  <name of author>
    -
    -    This program is free software: you can redistribute it and/or modify
    -    it under the terms of the GNU General Public License as published by
    -    the Free Software Foundation, either version 3 of the License, or
    -    (at your option) any later version.
    -
    -    This program is distributed in the hope that it will be useful,
    -    but WITHOUT ANY WARRANTY; without even the implied warranty of
    -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -    GNU General Public License for more details.
    -
    -    You should have received a copy of the GNU General Public License
    -    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    -
    -Also add information on how to contact you by electronic and paper mail.
    -
    -  If the program does terminal interaction, make it output a short
    -notice like this when it starts in an interactive mode:
    -
    -    <program>  Copyright (C) <year>  <name of author>
    -    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    -    This is free software, and you are welcome to redistribute it
    -    under certain conditions; type `show c' for details.
    -
    -The hypothetical commands `show w' and `show c' should show the appropriate
    -parts of the General Public License.  Of course, your program's commands
    -might be different; for a GUI interface, you would use an "about box".
    -
    -  You should also get your employer (if you work as a programmer) or school,
    -if any, to sign a "copyright disclaimer" for the program, if necessary.
    -For more information on this, and how to apply and follow the GNU GPL, see
    -<http://www.gnu.org/licenses/>.
    -
    -  The GNU General Public License does not permit incorporating your program
    -into proprietary programs.  If your program is a subroutine library, you
    -may consider it more useful to permit linking proprietary applications with
    -the library.  If this is what you want to do, use the GNU Lesser General
    -Public License instead of this License.  But first, please read
    -<http://www.gnu.org/philosophy/why-not-lgpl.html>.
    -
    -
    -
    -
    - - -
    - -
    -

    django-crispy-forms - 1.5.2 -

    - - -
    Copyright (c) 2009-2011 Miguel Araujo and contributors.
    - - - - -
    Copyright (c) 2009-2011 Miguel Araujo and contributors.
    -
    -Permission is hereby granted, free of charge, to any person
    -obtaining a copy of this software and associated documentation
    -files (the "Software"), to deal in the Software without
    -restriction, including without limitation the rights to use,
    -copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the
    -Software is furnished to do so, subject to the following
    -conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    -OTHER DEALINGS IN THE SOFTWARE.
    - - -
    - -
    -

    unicodecsv - 0.14.0 -

    - - - - - -
    Copyright 2010 Jeremy Dunck. All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification, are
    -permitted provided that the following conditions are met:
    -
    -   1. Redistributions of source code must retain the above copyright notice, this list of
    -      conditions and the following disclaimer.
    -
    -   2. Redistributions in binary form must reproduce the above copyright notice, this list
    -      of conditions and the following disclaimer in the documentation and/or other materials
    -      provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY JEREMY DUNCK ``AS IS'' AND ANY EXPRESS OR IMPLIED
    -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
    -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JEREMY DUNCK OR
    -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The views and conclusions contained in the software and documentation are those of the
    -authors and should not be interpreted as representing official policies, either expressed
    -or implied, of Jeremy Dunck.
    -
    - - -
    - -
    -

    django-haystack - 2.4.0 -

    - - - - - -
    Copyright (c) 2009-2013, Daniel Lindsley.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    1. Redistributions of source code must retain the above copyright notice,
    -       this list of conditions and the following disclaimer.
    -
    -    2. Redistributions in binary form must reproduce the above copyright
    -       notice, this list of conditions and the following disclaimer in the
    -       documentation and/or other materials provided with the distribution.
    -
    -    3. Neither the name of Haystack nor the names of its contributors may be used
    -       to endorse or promote products derived from this software without
    -       specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    ----
    -
    -Prior to April 17, 2009, this software was released under the MIT license.
    -
    - - -
    - -
    -

    mock - 1.0.1 -

    - - -
    Copyright (c) 2003-2012, Michael Foord
    - - - - -
    Copyright (c) 2003-2012, Michael Foord
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are
    -met:
    -
    -    * Redistributions of source code must retain the above copyright
    -      notice, this list of conditions and the following disclaimer.
    -
    -    * Redistributions in binary form must reproduce the above
    -      copyright notice, this list of conditions and the following
    -      disclaimer in the documentation and/or other materials provided
    -      with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    django-debreach - 1.2.1 -

    - - -
    Copyright (c) 2013, Luke Pomfrey
    - - - - -
    Copyright (c) 2013, Luke Pomfrey
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -      this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright notice,
    -      this list of conditions and the following disclaimer in the documentation
    -      and/or other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    six - 1.9.0 -

    - - -
    Copyright (c) 2010-2011 Benjamin Peterson
    - - - - -
    Copyright (c) 2010-2011 Benjamin Peterson
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
    -the Software, and to permit persons to whom the Software is furnished to do so,
    -subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
    -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
    -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
    -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    - - -
    - -
    -

    setuptools - 18.3.2 -

    - - - - - -
    A. HISTORY OF THE SOFTWARE
    -==========================
    -
    -Python was created in the early 1990s by Guido van Rossum at Stichting
    -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    -as a successor of a language called ABC.  Guido remains Python's
    -principal author, although it includes many contributions from others.
    -
    -In 1995, Guido continued his work on Python at the Corporation for
    -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    -in Reston, Virginia where he released several versions of the
    -software.
    -
    -In May 2000, Guido and the Python core development team moved to
    -BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    -year, the PythonLabs team moved to Digital Creations (now Zope
    -Corporation, see http://www.zope.com).  In 2001, the Python Software
    -Foundation (PSF, see http://www.python.org/psf/) was formed, a
    -non-profit organization created specifically to own Python-related
    -Intellectual Property.  Zope Corporation is a sponsoring member of
    -the PSF.
    -
    -All Python releases are Open Source (see http://www.opensource.org for
    -the Open Source Definition).  Historically, most, but not all, Python
    -releases have also been GPL-compatible; the table below summarizes
    -the various releases.
    -
    -    Release         Derived     Year        Owner       GPL-
    -                    from                                compatible? (1)
    -
    -    0.9.0 thru 1.2              1991-1995   CWI         yes
    -    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    -    1.6             1.5.2       2000        CNRI        no
    -    2.0             1.6         2000        BeOpen.com  no
    -    1.6.1           1.6         2001        CNRI        yes (2)
    -    2.1             2.0+1.6.1   2001        PSF         no
    -    2.0.1           2.0+1.6.1   2001        PSF         yes
    -    2.1.1           2.1+2.0.1   2001        PSF         yes
    -    2.2             2.1.1       2001        PSF         yes
    -    2.1.2           2.1.1       2002        PSF         yes
    -    2.1.3           2.1.2       2002        PSF         yes
    -    2.2.1           2.2         2002        PSF         yes
    -    2.2.2           2.2.1       2002        PSF         yes
    -    2.2.3           2.2.2       2003        PSF         yes
    -    2.3             2.2.2       2002-2003   PSF         yes
    -    2.3.1           2.3         2002-2003   PSF         yes
    -    2.3.2           2.3.1       2002-2003   PSF         yes
    -    2.3.3           2.3.2       2002-2003   PSF         yes
    -    2.3.4           2.3.3       2004        PSF         yes
    -    2.3.5           2.3.4       2005        PSF         yes
    -    2.4             2.3         2004        PSF         yes
    -    2.4.1           2.4         2005        PSF         yes
    -    2.4.2           2.4.1       2005        PSF         yes
    -    2.4.3           2.4.2       2006        PSF         yes
    -    2.4.4           2.4.3       2006        PSF         yes
    -    2.5             2.4         2006        PSF         yes
    -    2.5.1           2.5         2007        PSF         yes
    -    2.5.2           2.5.2       2008        PSF         yes
    -
    -Footnotes:
    -
    -(1) GPL-compatible doesn't mean that we're distributing Python under
    -    the GPL.  All Python licenses, unlike the GPL, let you distribute
    -    a modified version without making your changes open source.  The
    -    GPL-compatible licenses make it possible to combine Python with
    -    other software that is released under the GPL; the others don't.
    -
    -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
    -    because its license has a choice of law clause.  According to
    -    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
    -    is "not incompatible" with the GPL.
    -
    -Thanks to the many outside volunteers who have worked under Guido's
    -direction to make these releases possible.
    -
    -
    -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    -===============================================================
    -
    -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
    ---------------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Python Software Foundation
    -("PSF"), and the Individual or Organization ("Licensee") accessing and
    -otherwise using this software ("Python") in source or binary form and
    -its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, PSF
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python
    -alone or in any derivative version, provided, however, that PSF's
    -License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; 
    -All Rights Reserved" are retained in Python alone or in any derivative 
    -version prepared by Licensee.
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python.
    -
    -4. PSF is making Python available to Licensee on an "AS IS"
    -basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. Nothing in this License Agreement shall be deemed to create any
    -relationship of agency, partnership, or joint venture between PSF and
    -Licensee.  This License Agreement does not grant permission to use PSF
    -trademarks or trade name in a trademark sense to endorse or promote
    -products or services of Licensee, or any third party.
    -
    -8. By copying, installing or otherwise using Python, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    --------------------------------------------
    -
    -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    -
    -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    -Individual or Organization ("Licensee") accessing and otherwise using
    -this software in source or binary form and its associated
    -documentation ("the Software").
    -
    -2. Subject to the terms and conditions of this BeOpen Python License
    -Agreement, BeOpen hereby grants Licensee a non-exclusive,
    -royalty-free, world-wide license to reproduce, analyze, test, perform
    -and/or display publicly, prepare derivative works, distribute, and
    -otherwise use the Software alone or in any derivative version,
    -provided, however, that the BeOpen Python License is retained in the
    -Software, alone or in any derivative version prepared by Licensee.
    -
    -3. BeOpen is making the Software available to Licensee on an "AS IS"
    -basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -5. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -6. This License Agreement shall be governed by and interpreted in all
    -respects by the law of the State of California, excluding conflict of
    -law provisions.  Nothing in this License Agreement shall be deemed to
    -create any relationship of agency, partnership, or joint venture
    -between BeOpen and Licensee.  This License Agreement does not grant
    -permission to use BeOpen trademarks or trade names in a trademark
    -sense to endorse or promote products or services of Licensee, or any
    -third party.  As an exception, the "BeOpen Python" logos available at
    -http://www.pythonlabs.com/logos.html may be used according to the
    -permissions granted on that web page.
    -
    -7. By copying, installing or otherwise using the software, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    ----------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Corporation for National
    -Research Initiatives, having an office at 1895 Preston White Drive,
    -Reston, VA 20191 ("CNRI"), and the Individual or Organization
    -("Licensee") accessing and otherwise using Python 1.6.1 software in
    -source or binary form and its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, CNRI
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 1.6.1
    -alone or in any derivative version, provided, however, that CNRI's
    -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    -1995-2001 Corporation for National Research Initiatives; All Rights
    -Reserved" are retained in Python 1.6.1 alone or in any derivative
    -version prepared by Licensee.  Alternately, in lieu of CNRI's License
    -Agreement, Licensee may substitute the following text (omitting the
    -quotes): "Python 1.6.1 is made available subject to the terms and
    -conditions in CNRI's License Agreement.  This Agreement together with
    -Python 1.6.1 may be located on the Internet using the following
    -unique, persistent identifier (known as a handle): 1895.22/1013.  This
    -Agreement may also be obtained from a proxy server on the Internet
    -using the following URL: http://hdl.handle.net/1895.22/1013".
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 1.6.1 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 1.6.1.
    -
    -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    -basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. This License Agreement shall be governed by the federal
    -intellectual property law of the United States, including without
    -limitation the federal copyright law, and, to the extent such
    -U.S. federal law does not apply, by the law of the Commonwealth of
    -Virginia, excluding Virginia's conflict of law provisions.
    -Notwithstanding the foregoing, with regard to derivative works based
    -on Python 1.6.1 that incorporate non-separable material that was
    -previously distributed under the GNU General Public License (GPL), the
    -law of the Commonwealth of Virginia shall govern this License
    -Agreement only as to issues arising under or with respect to
    -Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    -License Agreement shall be deemed to create any relationship of
    -agency, partnership, or joint venture between CNRI and Licensee.  This
    -License Agreement does not grant permission to use CNRI trademarks or
    -trade name in a trademark sense to endorse or promote products or
    -services of Licensee, or any third party.
    -
    -8. By clicking on the "ACCEPT" button where indicated, or by copying,
    -installing or otherwise using Python 1.6.1, Licensee agrees to be
    -bound by the terms and conditions of this License Agreement.
    -
    -        ACCEPT
    -
    -
    -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    ---------------------------------------------------
    -
    -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    -The Netherlands.  All rights reserved.
    -
    -Permission to use, copy, modify, and distribute this software and its
    -documentation for any purpose and without fee is hereby granted,
    -provided that the above copyright notice appear in all copies and that
    -both that copyright notice and this permission notice appear in
    -supporting documentation, and that the name of Stichting Mathematisch
    -Centrum or CWI not be used in advertising or publicity pertaining to
    -distribution of the software without specific, written prior
    -permission.
    -
    -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -
    -This copy of Python includes a copy of bzip2, which is licensed under the following terms:
    -
    -
    -This program, "bzip2", the associated library "libbzip2", and all
    -documentation, are copyright (C) 1996-2005 Julian R Seward.  All
    -rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions
    -are met:
    -
    -1. Redistributions of source code must retain the above copyright
    -   notice, this list of conditions and the following disclaimer.
    -
    -2. The origin of this software must not be misrepresented; you must 
    -   not claim that you wrote the original software.  If you use this 
    -   software in a product, an acknowledgment in the product 
    -   documentation would be appreciated but is not required.
    -
    -3. Altered source versions must be plainly marked as such, and must
    -   not be misrepresented as being the original software.
    -
    -4. The name of the author may not be used to endorse or promote 
    -   products derived from this software without specific prior written 
    -   permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
    -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
    -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -Julian Seward, Cambridge, UK.
    -jseward@acm.org
    -bzip2/libbzip2 version 1.0.3 of 15 February 2005
    -
    -
    -This copy of Python includes a copy of db, which is licensed under the following terms:
    -
    -/*-
    - * $Id: LICENSE,v 12.1 2005/06/16 20:20:10 bostic Exp $
    - */
    -
    -The following is the license that applies to this copy of the Berkeley DB
    -software.  For a license to use the Berkeley DB software under conditions
    -other than those described here, or to purchase support for this software,
    -please contact Sleepycat Software by email at info@sleepycat.com, or on
    -the Web at http://www.sleepycat.com.
    -
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    -/*
    - * Copyright (c) 1990-2005
    - *	Sleepycat Software.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. Redistributions in any form must be accompanied by information on
    - *    how to obtain complete source code for the DB software and any
    - *    accompanying software that uses the DB software.  The source code
    - *    must either be included in the distribution or be available for no
    - *    more than the cost of distribution plus a nominal fee, and must be
    - *    freely redistributable under reasonable conditions.  For an
    - *    executable file, complete source code means the source code for all
    - *    modules it contains.  It does not include source code for modules or
    - *    files that typically accompany the major components of the operating
    - *    system on which the executable file runs.
    - *
    - * THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY EXPRESS
    - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    - * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
    - * NON-INFRINGEMENT, ARE DISCLAIMED.  IN NO EVENT SHALL SLEEPYCAT SOFTWARE
    - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    - * THE POSSIBILITY OF SUCH DAMAGE.
    - */
    -/*
    - * Copyright (c) 1990, 1993, 1994, 1995
    - *	The Regents of the University of California.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. Neither the name of the University nor the names of its contributors
    - *    may be used to endorse or promote products derived from this software
    - *    without specific prior written permission.
    - *
    - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - */
    -/*
    - * Copyright (c) 1995, 1996
    - *	The President and Fellows of Harvard University.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. Neither the name of the University nor the names of its contributors
    - *    may be used to endorse or promote products derived from this software
    - *    without specific prior written permission.
    - *
    - * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - */
    -
    -This copy of Python includes a copy of openssl, which is licensed under the following terms:
    -
    -
    -  LICENSE ISSUES
    -  ==============
    -
    -  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
    -  the OpenSSL License and the original SSLeay license apply to the toolkit.
    -  See below for the actual license texts. Actually both licenses are BSD-style
    -  Open Source licenses. In case of any license issues related to OpenSSL
    -  please contact openssl-core@openssl.org.
    -
    -  OpenSSL License
    -  ---------------
    -
    -/* ====================================================================
    - * Copyright (c) 1998-2005 The OpenSSL Project.  All rights reserved.
    - *
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - *
    - * 1. Redistributions of source code must retain the above copyright
    - *    notice, this list of conditions and the following disclaimer. 
    - *
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in
    - *    the documentation and/or other materials provided with the
    - *    distribution.
    - *
    - * 3. All advertising materials mentioning features or use of this
    - *    software must display the following acknowledgment:
    - *    "This product includes software developed by the OpenSSL Project
    - *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
    - *
    - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    - *    endorse or promote products derived from this software without
    - *    prior written permission. For written permission, please contact
    - *    openssl-core@openssl.org.
    - *
    - * 5. Products derived from this software may not be called "OpenSSL"
    - *    nor may "OpenSSL" appear in their names without prior written
    - *    permission of the OpenSSL Project.
    - *
    - * 6. Redistributions of any form whatsoever must retain the following
    - *    acknowledgment:
    - *    "This product includes software developed by the OpenSSL Project
    - *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
    - *
    - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    - * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    - * OF THE POSSIBILITY OF SUCH DAMAGE.
    - * ====================================================================
    - *
    - * This product includes cryptographic software written by Eric Young
    - * (eay@cryptsoft.com).  This product includes software written by Tim
    - * Hudson (tjh@cryptsoft.com).
    - *
    - */
    -
    - Original SSLeay License
    - -----------------------
    -
    -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
    - * All rights reserved.
    - *
    - * This package is an SSL implementation written
    - * by Eric Young (eay@cryptsoft.com).
    - * The implementation was written so as to conform with Netscapes SSL.
    - * 
    - * This library is free for commercial and non-commercial use as long as
    - * the following conditions are aheared to.  The following conditions
    - * apply to all code found in this distribution, be it the RC4, RSA,
    - * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
    - * included with this distribution is covered by the same copyright terms
    - * except that the holder is Tim Hudson (tjh@cryptsoft.com).
    - * 
    - * Copyright remains Eric Young's, and as such any Copyright notices in
    - * the code are not to be removed.
    - * If this package is used in a product, Eric Young should be given attribution
    - * as the author of the parts of the library used.
    - * This can be in the form of a textual message at program startup or
    - * in documentation (online or textual) provided with the package.
    - * 
    - * Redistribution and use in source and binary forms, with or without
    - * modification, are permitted provided that the following conditions
    - * are met:
    - * 1. Redistributions of source code must retain the copyright
    - *    notice, this list of conditions and the following disclaimer.
    - * 2. Redistributions in binary form must reproduce the above copyright
    - *    notice, this list of conditions and the following disclaimer in the
    - *    documentation and/or other materials provided with the distribution.
    - * 3. All advertising materials mentioning features or use of this software
    - *    must display the following acknowledgement:
    - *    "This product includes cryptographic software written by
    - *     Eric Young (eay@cryptsoft.com)"
    - *    The word 'cryptographic' can be left out if the rouines from the library
    - *    being used are not cryptographic related :-).
    - * 4. If you include any Windows specific code (or a derivative thereof) from 
    - *    the apps directory (application code) you must include an acknowledgement:
    - *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
    - * 
    - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
    - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    - * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    - * SUCH DAMAGE.
    - * 
    - * The licence and distribution terms for any publically available version or
    - * derivative of this code cannot be changed.  i.e. this code cannot simply be
    - * copied and put under another distribution licence
    - * [including the GNU Public Licence.]
    - */
    -
    -
    -This copy of Python includes a copy of tcl, which is licensed under the following terms:
    -
    -This software is copyrighted by the Regents of the University of
    -California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState
    -Corporation and other parties.  The following terms apply to all files
    -associated with the software unless explicitly disclaimed in
    -individual files.
    -
    -The authors hereby grant permission to use, copy, modify, distribute,
    -and license this software and its documentation for any purpose, provided
    -that existing copyright notices are retained in all copies and that this
    -notice is included verbatim in any distributions. No written agreement,
    -license, or royalty fee is required for any of the authorized uses.
    -Modifications to this software may be copyrighted by their authors
    -and need not follow the licensing terms described here, provided that
    -the new terms are clearly indicated on the first page of each file where
    -they apply.
    -
    -IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    -FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    -ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    -DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    -THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    -IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    -NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    -MODIFICATIONS.
    -
    -GOVERNMENT USE: If you are acquiring this software on behalf of the
    -U.S. government, the Government shall have only "Restricted Rights"
    -in the software and related documentation as defined in the Federal 
    -Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    -are acquiring the software on behalf of the Department of Defense, the
    -software shall be classified as "Commercial Computer Software" and the
    -Government shall have only "Restricted Rights" as defined in Clause
    -252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    -authors grant the U.S. Government and others acting in its behalf
    -permission to use and distribute the software in accordance with the
    -terms specified in this license. 
    -
    -This copy of Python includes a copy of tk, which is licensed under the following terms:
    -
    -This software is copyrighted by the Regents of the University of
    -California, Sun Microsystems, Inc., and other parties.  The following
    -terms apply to all files associated with the software unless explicitly
    -disclaimed in individual files.
    -
    -The authors hereby grant permission to use, copy, modify, distribute,
    -and license this software and its documentation for any purpose, provided
    -that existing copyright notices are retained in all copies and that this
    -notice is included verbatim in any distributions. No written agreement,
    -license, or royalty fee is required for any of the authorized uses.
    -Modifications to this software may be copyrighted by their authors
    -and need not follow the licensing terms described here, provided that
    -the new terms are clearly indicated on the first page of each file where
    -they apply.
    -
    -IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
    -FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    -ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
    -DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    -THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
    -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
    -IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
    -NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
    -MODIFICATIONS.
    -
    -GOVERNMENT USE: If you are acquiring this software on behalf of the
    -U.S. government, the Government shall have only "Restricted Rights"
    -in the software and related documentation as defined in the Federal 
    -Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
    -are acquiring the software on behalf of the Department of Defense, the
    -software shall be classified as "Commercial Computer Software" and the
    -Government shall have only "Restricted Rights" as defined in Clause
    -252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
    -authors grant the U.S. Government and others acting in its behalf
    -permission to use and distribute the software in accordance with the
    -terms specified in this license.
    -
    - - -
    - -
    -

    django-auth-ldap - 1.2.6 -

    - - -
    Copyright (c) 2009, Peter Sagerson
    - - - - -
    Copyright (c) 2009, Peter Sagerson
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -- Redistributions of source code must retain the above copyright notice, this
    -  list of conditions and the following disclaimer.
    -
    -- Redistributions in binary form must reproduce the above copyright notice, this
    -  list of conditions and the following disclaimer in the documentation and/or
    -  other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    python-ldap - 2.4.20 -

    - - - - - -
    -The python-ldap package is distributed under Python-style license.
    -
    -Standard disclaimer:
    -   This software is made available by the author(s) to the public for free
    -   and "as is".  All users of this free software are solely and entirely
    -   responsible for their own choice and use of this software for their
    -   own purposes.  By using this software, each user agrees that the
    -   author(s) shall not be liable for damages of any kind in relation to
    -   its use or performance. The author(s) do not warrant that this software
    -   is fit for any purpose.
    -
    -$Id: LICENCE,v 1.1 2002/09/18 18:51:22 stroeder Exp $
    -
    - - -
    - -
    -

    certifi - 2015.9.6.2 -

    - - - - - - -
    - -
    -

    model_mommy - 1.2.5 -

    - - - -
    Copyright 2011 Vanderson Mota
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    paramiko - 1.15.2 -

    - - - - - -
              GNU LESSER GENERAL PUBLIC LICENSE
    -               Version 2.1, February 1999
    -
    - Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    -     51 Franklin Street, Suite 500, Boston, MA  02110-1335  USA
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -[This is the first released version of the Lesser GPL.  It also counts
    - as the successor of the GNU Library Public License, version 2, hence
    - the version number 2.1.]
    -
    -                Preamble
    -
    -  The licenses for most software are designed to take away your
    -freedom to share and change it.  By contrast, the GNU General Public
    -Licenses are intended to guarantee your freedom to share and change
    -free software--to make sure the software is free for all its users.
    -
    -  This license, the Lesser General Public License, applies to some
    -specially designated software packages--typically libraries--of the
    -Free Software Foundation and other authors who decide to use it.  You
    -can use it too, but we suggest you first think carefully about whether
    -this license or the ordinary General Public License is the better
    -strategy to use in any particular case, based on the explanations below.
    -
    -  When we speak of free software, we are referring to freedom of use,
    -not price.  Our General Public Licenses are designed to make sure that
    -you have the freedom to distribute copies of free software (and charge
    -for this service if you wish); that you receive source code or can get
    -it if you want it; that you can change the software and use pieces of
    -it in new free programs; and that you are informed that you can do
    -these things.
    -
    -  To protect your rights, we need to make restrictions that forbid
    -distributors to deny you these rights or to ask you to surrender these
    -rights.  These restrictions translate to certain responsibilities for
    -you if you distribute copies of the library or if you modify it.
    -
    -  For example, if you distribute copies of the library, whether gratis
    -or for a fee, you must give the recipients all the rights that we gave
    -you.  You must make sure that they, too, receive or can get the source
    -code.  If you link other code with the library, you must provide
    -complete object files to the recipients, so that they can relink them
    -with the library after making changes to the library and recompiling
    -it.  And you must show them these terms so they know their rights.
    -
    -  We protect your rights with a two-step method: (1) we copyright the
    -library, and (2) we offer you this license, which gives you legal
    -permission to copy, distribute and/or modify the library.
    -
    -  To protect each distributor, we want to make it very clear that
    -there is no warranty for the free library.  Also, if the library is
    -modified by someone else and passed on, the recipients should know
    -that what they have is not the original version, so that the original
    -author's reputation will not be affected by problems that might be
    -introduced by others.
    -
    -  Finally, software patents pose a constant threat to the existence of
    -any free program.  We wish to make sure that a company cannot
    -effectively restrict the users of a free program by obtaining a
    -restrictive license from a patent holder.  Therefore, we insist that
    -any patent license obtained for a version of the library must be
    -consistent with the full freedom of use specified in this license.
    -
    -  Most GNU software, including some libraries, is covered by the
    -ordinary GNU General Public License.  This license, the GNU Lesser
    -General Public License, applies to certain designated libraries, and
    -is quite different from the ordinary General Public License.  We use
    -this license for certain libraries in order to permit linking those
    -libraries into non-free programs.
    -
    -  When a program is linked with a library, whether statically or using
    -a shared library, the combination of the two is legally speaking a
    -combined work, a derivative of the original library.  The ordinary
    -General Public License therefore permits such linking only if the
    -entire combination fits its criteria of freedom.  The Lesser General
    -Public License permits more lax criteria for linking other code with
    -the library.
    -
    -  We call this license the "Lesser" General Public License because it
    -does Less to protect the user's freedom than the ordinary General
    -Public License.  It also provides other free software developers Less
    -of an advantage over competing non-free programs.  These disadvantages
    -are the reason we use the ordinary General Public License for many
    -libraries.  However, the Lesser license provides advantages in certain
    -special circumstances.
    -
    -  For example, on rare occasions, there may be a special need to
    -encourage the widest possible use of a certain library, so that it becomes
    -a de-facto standard.  To achieve this, non-free programs must be
    -allowed to use the library.  A more frequent case is that a free
    -library does the same job as widely used non-free libraries.  In this
    -case, there is little to gain by limiting the free library to free
    -software only, so we use the Lesser General Public License.
    -
    -  In other cases, permission to use a particular library in non-free
    -programs enables a greater number of people to use a large body of
    -free software.  For example, permission to use the GNU C Library in
    -non-free programs enables many more people to use the whole GNU
    -operating system, as well as its variant, the GNU/Linux operating
    -system.
    -
    -  Although the Lesser General Public License is Less protective of the
    -users' freedom, it does ensure that the user of a program that is
    -linked with the Library has the freedom and the wherewithal to run
    -that program using a modified version of the Library.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.  Pay close attention to the difference between a
    -"work based on the library" and a "work that uses the library".  The
    -former contains code derived from the library, whereas the latter must
    -be combined with the library in order to run.
    -
    -          GNU LESSER GENERAL PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. This License Agreement applies to any software library or other
    -program which contains a notice placed by the copyright holder or
    -other authorized party saying it may be distributed under the terms of
    -this Lesser General Public License (also called "this License").
    -Each licensee is addressed as "you".
    -
    -  A "library" means a collection of software functions and/or data
    -prepared so as to be conveniently linked with application programs
    -(which use some of those functions and data) to form executables.
    -
    -  The "Library", below, refers to any such software library or work
    -which has been distributed under these terms.  A "work based on the
    -Library" means either the Library or any derivative work under
    -copyright law: that is to say, a work containing the Library or a
    -portion of it, either verbatim or with modifications and/or translated
    -straightforwardly into another language.  (Hereinafter, translation is
    -included without limitation in the term "modification".)
    -
    -  "Source code" for a work means the preferred form of the work for
    -making modifications to it.  For a library, complete source code means
    -all the source code for all modules it contains, plus any associated
    -interface definition files, plus the scripts used to control compilation
    -and installation of the library.
    -
    -  Activities other than copying, distribution and modification are not
    -covered by this License; they are outside its scope.  The act of
    -running a program using the Library is not restricted, and output from
    -such a program is covered only if its contents constitute a work based
    -on the Library (independent of the use of the Library in a tool for
    -writing it).  Whether that is true depends on what the Library does
    -and what the program that uses the Library does.
    -  
    -  1. You may copy and distribute verbatim copies of the Library's
    -complete source code as you receive it, in any medium, provided that
    -you conspicuously and appropriately publish on each copy an
    -appropriate copyright notice and disclaimer of warranty; keep intact
    -all the notices that refer to this License and to the absence of any
    -warranty; and distribute a copy of this License along with the
    -Library.
    -
    -  You may charge a fee for the physical act of transferring a copy,
    -and you may at your option offer warranty protection in exchange for a
    -fee.
    -
    -  2. You may modify your copy or copies of the Library or any portion
    -of it, thus forming a work based on the Library, and copy and
    -distribute such modifications or work under the terms of Section 1
    -above, provided that you also meet all of these conditions:
    -
    -    a) The modified work must itself be a software library.
    -
    -    b) You must cause the files modified to carry prominent notices
    -    stating that you changed the files and the date of any change.
    -
    -    c) You must cause the whole of the work to be licensed at no
    -    charge to all third parties under the terms of this License.
    -
    -    d) If a facility in the modified Library refers to a function or a
    -    table of data to be supplied by an application program that uses
    -    the facility, other than as an argument passed when the facility
    -    is invoked, then you must make a good faith effort to ensure that,
    -    in the event an application does not supply such function or
    -    table, the facility still operates, and performs whatever part of
    -    its purpose remains meaningful.
    -
    -    (For example, a function in a library to compute square roots has
    -    a purpose that is entirely well-defined independent of the
    -    application.  Therefore, Subsection 2d requires that any
    -    application-supplied function or table used by this function must
    -    be optional: if the application does not supply it, the square
    -    root function must still compute square roots.)
    -
    -These requirements apply to the modified work as a whole.  If
    -identifiable sections of that work are not derived from the Library,
    -and can be reasonably considered independent and separate works in
    -themselves, then this License, and its terms, do not apply to those
    -sections when you distribute them as separate works.  But when you
    -distribute the same sections as part of a whole which is a work based
    -on the Library, the distribution of the whole must be on the terms of
    -this License, whose permissions for other licensees extend to the
    -entire whole, and thus to each and every part regardless of who wrote
    -it.
    -
    -Thus, it is not the intent of this section to claim rights or contest
    -your rights to work written entirely by you; rather, the intent is to
    -exercise the right to control the distribution of derivative or
    -collective works based on the Library.
    -
    -In addition, mere aggregation of another work not based on the Library
    -with the Library (or with a work based on the Library) on a volume of
    -a storage or distribution medium does not bring the other work under
    -the scope of this License.
    -
    -  3. You may opt to apply the terms of the ordinary GNU General Public
    -License instead of this License to a given copy of the Library.  To do
    -this, you must alter all the notices that refer to this License, so
    -that they refer to the ordinary GNU General Public License, version 2,
    -instead of to this License.  (If a newer version than version 2 of the
    -ordinary GNU General Public License has appeared, then you can specify
    -that version instead if you wish.)  Do not make any other change in
    -these notices.
    -
    -  Once this change is made in a given copy, it is irreversible for
    -that copy, so the ordinary GNU General Public License applies to all
    -subsequent copies and derivative works made from that copy.
    -
    -  This option is useful when you wish to copy part of the code of
    -the Library into a program that is not a library.
    -
    -  4. You may copy and distribute the Library (or a portion or
    -derivative of it, under Section 2) in object code or executable form
    -under the terms of Sections 1 and 2 above provided that you accompany
    -it with the complete corresponding machine-readable source code, which
    -must be distributed under the terms of Sections 1 and 2 above on a
    -medium customarily used for software interchange.
    -
    -  If distribution of object code is made by offering access to copy
    -from a designated place, then offering equivalent access to copy the
    -source code from the same place satisfies the requirement to
    -distribute the source code, even though third parties are not
    -compelled to copy the source along with the object code.
    -
    -  5. A program that contains no derivative of any portion of the
    -Library, but is designed to work with the Library by being compiled or
    -linked with it, is called a "work that uses the Library".  Such a
    -work, in isolation, is not a derivative work of the Library, and
    -therefore falls outside the scope of this License.
    -
    -  However, linking a "work that uses the Library" with the Library
    -creates an executable that is a derivative of the Library (because it
    -contains portions of the Library), rather than a "work that uses the
    -library".  The executable is therefore covered by this License.
    -Section 6 states terms for distribution of such executables.
    -
    -  When a "work that uses the Library" uses material from a header file
    -that is part of the Library, the object code for the work may be a
    -derivative work of the Library even though the source code is not.
    -Whether this is true is especially significant if the work can be
    -linked without the Library, or if the work is itself a library.  The
    -threshold for this to be true is not precisely defined by law.
    -
    -  If such an object file uses only numerical parameters, data
    -structure layouts and accessors, and small macros and small inline
    -functions (ten lines or less in length), then the use of the object
    -file is unrestricted, regardless of whether it is legally a derivative
    -work.  (Executables containing this object code plus portions of the
    -Library will still fall under Section 6.)
    -
    -  Otherwise, if the work is a derivative of the Library, you may
    -distribute the object code for the work under the terms of Section 6.
    -Any executables containing that work also fall under Section 6,
    -whether or not they are linked directly with the Library itself.
    -
    -  6. As an exception to the Sections above, you may also combine or
    -link a "work that uses the Library" with the Library to produce a
    -work containing portions of the Library, and distribute that work
    -under terms of your choice, provided that the terms permit
    -modification of the work for the customer's own use and reverse
    -engineering for debugging such modifications.
    -
    -  You must give prominent notice with each copy of the work that the
    -Library is used in it and that the Library and its use are covered by
    -this License.  You must supply a copy of this License.  If the work
    -during execution displays copyright notices, you must include the
    -copyright notice for the Library among them, as well as a reference
    -directing the user to the copy of this License.  Also, you must do one
    -of these things:
    -
    -    a) Accompany the work with the complete corresponding
    -    machine-readable source code for the Library including whatever
    -    changes were used in the work (which must be distributed under
    -    Sections 1 and 2 above); and, if the work is an executable linked
    -    with the Library, with the complete machine-readable "work that
    -    uses the Library", as object code and/or source code, so that the
    -    user can modify the Library and then relink to produce a modified
    -    executable containing the modified Library.  (It is understood
    -    that the user who changes the contents of definitions files in the
    -    Library will not necessarily be able to recompile the application
    -    to use the modified definitions.)
    -
    -    b) Use a suitable shared library mechanism for linking with the
    -    Library.  A suitable mechanism is one that (1) uses at run time a
    -    copy of the library already present on the user's computer system,
    -    rather than copying library functions into the executable, and (2)
    -    will operate properly with a modified version of the library, if
    -    the user installs one, as long as the modified version is
    -    interface-compatible with the version that the work was made with.
    -
    -    c) Accompany the work with a written offer, valid for at
    -    least three years, to give the same user the materials
    -    specified in Subsection 6a, above, for a charge no more
    -    than the cost of performing this distribution.
    -
    -    d) If distribution of the work is made by offering access to copy
    -    from a designated place, offer equivalent access to copy the above
    -    specified materials from the same place.
    -
    -    e) Verify that the user has already received a copy of these
    -    materials or that you have already sent this user a copy.
    -
    -  For an executable, the required form of the "work that uses the
    -Library" must include any data and utility programs needed for
    -reproducing the executable from it.  However, as a special exception,
    -the materials to be distributed need not include anything that is
    -normally distributed (in either source or binary form) with the major
    -components (compiler, kernel, and so on) of the operating system on
    -which the executable runs, unless that component itself accompanies
    -the executable.
    -
    -  It may happen that this requirement contradicts the license
    -restrictions of other proprietary libraries that do not normally
    -accompany the operating system.  Such a contradiction means you cannot
    -use both them and the Library together in an executable that you
    -distribute.
    -
    -  7. You may place library facilities that are a work based on the
    -Library side-by-side in a single library together with other library
    -facilities not covered by this License, and distribute such a combined
    -library, provided that the separate distribution of the work based on
    -the Library and of the other library facilities is otherwise
    -permitted, and provided that you do these two things:
    -
    -    a) Accompany the combined library with a copy of the same work
    -    based on the Library, uncombined with any other library
    -    facilities.  This must be distributed under the terms of the
    -    Sections above.
    -
    -    b) Give prominent notice with the combined library of the fact
    -    that part of it is a work based on the Library, and explaining
    -    where to find the accompanying uncombined form of the same work.
    -
    -  8. You may not copy, modify, sublicense, link with, or distribute
    -the Library except as expressly provided under this License.  Any
    -attempt otherwise to copy, modify, sublicense, link with, or
    -distribute the Library is void, and will automatically terminate your
    -rights under this License.  However, parties who have received copies,
    -or rights, from you under this License will not have their licenses
    -terminated so long as such parties remain in full compliance.
    -
    -  9. You are not required to accept this License, since you have not
    -signed it.  However, nothing else grants you permission to modify or
    -distribute the Library or its derivative works.  These actions are
    -prohibited by law if you do not accept this License.  Therefore, by
    -modifying or distributing the Library (or any work based on the
    -Library), you indicate your acceptance of this License to do so, and
    -all its terms and conditions for copying, distributing or modifying
    -the Library or works based on it.
    -
    -  10. Each time you redistribute the Library (or any work based on the
    -Library), the recipient automatically receives a license from the
    -original licensor to copy, distribute, link with or modify the Library
    -subject to these terms and conditions.  You may not impose any further
    -restrictions on the recipients' exercise of the rights granted herein.
    -You are not responsible for enforcing compliance by third parties with
    -this License.
    -
    -  11. If, as a consequence of a court judgment or allegation of patent
    -infringement or for any other reason (not limited to patent issues),
    -conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot
    -distribute so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you
    -may not distribute the Library at all.  For example, if a patent
    -license would not permit royalty-free redistribution of the Library by
    -all those who receive copies directly or indirectly through you, then
    -the only way you could satisfy both it and this License would be to
    -refrain entirely from distribution of the Library.
    -
    -If any portion of this section is held invalid or unenforceable under any
    -particular circumstance, the balance of the section is intended to apply,
    -and the section as a whole is intended to apply in other circumstances.
    -
    -It is not the purpose of this section to induce you to infringe any
    -patents or other property right claims or to contest validity of any
    -such claims; this section has the sole purpose of protecting the
    -integrity of the free software distribution system which is
    -implemented by public license practices.  Many people have made
    -generous contributions to the wide range of software distributed
    -through that system in reliance on consistent application of that
    -system; it is up to the author/donor to decide if he or she is willing
    -to distribute software through any other system and a licensee cannot
    -impose that choice.
    -
    -This section is intended to make thoroughly clear what is believed to
    -be a consequence of the rest of this License.
    -
    -  12. If the distribution and/or use of the Library is restricted in
    -certain countries either by patents or by copyrighted interfaces, the
    -original copyright holder who places the Library under this License may add
    -an explicit geographical distribution limitation excluding those countries,
    -so that distribution is permitted only in or among countries not thus
    -excluded.  In such case, this License incorporates the limitation as if
    -written in the body of this License.
    -
    -  13. The Free Software Foundation may publish revised and/or new
    -versions of the Lesser General Public License from time to time.
    -Such new versions will be similar in spirit to the present version,
    -but may differ in detail to address new problems or concerns.
    -
    -Each version is given a distinguishing version number.  If the Library
    -specifies a version number of this License which applies to it and
    -"any later version", you have the option of following the terms and
    -conditions either of that version or of any later version published by
    -the Free Software Foundation.  If the Library does not specify a
    -license version number, you may choose any version ever published by
    -the Free Software Foundation.
    -
    -  14. If you wish to incorporate parts of the Library into other free
    -programs whose distribution conditions are incompatible with these,
    -write to the author to ask for permission.  For software which is
    -copyrighted by the Free Software Foundation, write to the Free
    -Software Foundation; we sometimes make exceptions for this.  Our
    -decision will be guided by the two goals of preserving the free status
    -of all derivatives of our free software and of promoting the sharing
    -and reuse of software generally.
    -
    -                NO WARRANTY
    -
    -  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    -LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    -
    -  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    -DAMAGES.
    -
    -             END OF TERMS AND CONDITIONS
    -
    -           How to Apply These Terms to Your New Libraries
    -
    -  If you develop a new library, and you want it to be of the greatest
    -possible use to the public, we recommend making it free software that
    -everyone can redistribute and change.  You can do so by permitting
    -redistribution under these terms (or, alternatively, under the terms of the
    -ordinary General Public License).
    -
    -  To apply these terms, attach the following notices to the library.  It is
    -safest to attach them to the start of each source file to most effectively
    -convey the exclusion of warranty; and each file should have at least the
    -"copyright" line and a pointer to where the full notice is found.
    -
    -    <one line to give the library's name and a brief idea of what it does.>
    -    Copyright (C) <year>  <name of author>
    -
    -    This library is free software; you can redistribute it and/or
    -    modify it under the terms of the GNU Lesser General Public
    -    License as published by the Free Software Foundation; either
    -    version 2.1 of the License, or (at your option) any later version.
    -
    -    This library is distributed in the hope that it will be useful,
    -    but WITHOUT ANY WARRANTY; without even the implied warranty of
    -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -    Lesser General Public License for more details.
    -
    -    You should have received a copy of the GNU Lesser General Public
    -    License along with this library; if not, write to the Free Software
    -    Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA  02110-1335  USA
    -
    -Also add information on how to contact you by electronic and paper mail.
    -
    -You should also get your employer (if you work as a programmer) or your
    -school, if any, to sign a "copyright disclaimer" for the library, if
    -necessary.  Here is a sample; alter the names:
    -
    -  Yoyodyne, Inc., hereby disclaims all copyright interest in the
    -  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    -
    -  <signature of Ty Coon>, 1 April 1990
    -  Ty Coon, President of Vice
    -
    -That's all there is to it!
    -
    -
    -
    - - -
    - -
    -

    celery - 3.1.18 -

    - - - - - -
    Copyright (c) 2015 Ask Solem & contributors.  All rights reserved.
    -Copyright (c) 2012-2014 GoPivotal, Inc.  All rights reserved.
    -Copyright (c) 2009, 2010, 2011, 2012 Ask Solem, and individual contributors.  All rights reserved.
    -
    -Celery is licensed under The BSD License (3 Clause, also known as
    -the new BSD license).  The license is an OSI approved Open Source
    -license and is GPL-compatible(1).
    -
    -The license text can also be found here:
    -http://www.opensource.org/licenses/BSD-3-Clause
    -
    -License
    -=======
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -    * Redistributions of source code must retain the above copyright
    -      notice, this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -      notice, this list of conditions and the following disclaimer in the
    -      documentation and/or other materials provided with the distribution.
    -    * Neither the name of Ask Solem, nor the
    -      names of its contributors may be used to endorse or promote products
    -      derived from this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Ask Solem OR CONTRIBUTORS
    -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    -Documentation License
    -=====================
    -
    -The documentation portion of Celery (the rendered contents of the
    -"docs" directory of a software distribution or checkout) is supplied
    -under the Creative Commons Attribution-Noncommercial-Share Alike 3.0
    -United States License as described by
    -http://creativecommons.org/licenses/by-nc-sa/3.0/us/
    -
    -Footnotes
    -=========
    -(1) A GPL-compatible license makes it possible to
    -    combine Celery with other software that is released
    -    under the GPL, it does not mean that we're distributing
    -    Celery under the GPL license.  The BSD license, unlike the GPL,
    -    let you distribute a modified version without making your
    -    changes open source.
    - - -
    - -
    -

    mockldap - 0.2.5 -

    - - -
    Copyright (c) 2013, Peter Sagerson
    - - - - -
    Copyright (c) 2013, Peter Sagerson
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -- Redistributions of source code must retain the above copyright notice, this
    -  list of conditions and the following disclaimer.
    -
    -- Redistributions in binary form must reproduce the above copyright notice, this
    -  list of conditions and the following disclaimer in the documentation and/or
    -  other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    Fabric - 1.10.2 -

    - - -
    Copyright (c) 2009-2014 Jeffrey E. Forcier
    -Copyright (c) 2008-2009 Christian Vest Hansen
    - - - - -
    Copyright (c) 2009-2014 Jeffrey E. Forcier
    -Copyright (c) 2008-2009 Christian Vest Hansen
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -      this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright notice,
    -      this list of conditions and the following disclaimer in the documentation
    -      and/or other materials provided with the distribution.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    python-dateutil - 2.4.2 -

    - - - - - -
    dateutil - Extensions to the standard Python datetime module.
    -
    -Copyright (c) 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net>
    -Copyright (c) 2012-2014 - Tomi Pieviläinen <tomi.pievilainen@iki.fi>
    -Copyright (c) 2014      - Yaron de Leeuw <me@jarondl.net>
    -
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -      this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright notice,
    -      this list of conditions and the following disclaimer in the documentation
    -      and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holder nor the names of its
    -      contributors may be used to endorse or promote products derived from
    -      this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    pycrypto - 2.6.1 -

    - - - - - -
    Copyright and licensing of the Python Cryptography Toolkit ("PyCrypto"):
    -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    -
    -Previously, the copyright and/or licensing status of the Python
    -Cryptography Toolkit ("PyCrypto") had been somewhat ambiguous.  The
    -original intention of Andrew M. Kuchling and other contributors has
    -been to dedicate PyCrypto to the public domain, but that intention was
    -not necessarily made clear in the original disclaimer (see
    -LEGAL/copy/LICENSE.orig).
    -
    -Additionally, some files within PyCrypto had specified their own
    -licenses that differed from the PyCrypto license itself.  For example,
    -the original RIPEMD.c module simply had a copyright statement and
    -warranty disclaimer, without clearly specifying any license terms.
    -(An updated version on the author's website came with a license that
    -contained a GPL-incompatible advertising clause.)
    -
    -To rectify this situation for PyCrypto 2.1, the following steps have
    -been taken:
    -
    - 1. Obtaining explicit permission from the original contributors to
    -    dedicate their contributions to the public domain if they have not
    -    already done so.  (See the "LEGAL/copy/stmts" directory for
    -    contributors' statements.)
    -
    - 2. Replacing some modules with clearly-licensed code from other
    -    sources (e.g. the DES and DES3 modules were replaced with new ones
    -    based on Tom St. Denis's public-domain LibTomCrypt library.)
    -
    - 3. Replacing some modules with code written from scratch (e.g. the
    -    RIPEMD and Blowfish modules were re-implemented from their
    -    respective algorithm specifications without reference to the old
    -    implementations).
    -
    - 4. Removing some modules altogether without replacing them.
    -
    -To the best of our knowledge, with the exceptions noted below or
    -within the files themselves, the files that constitute PyCrypto are in
    -the public domain.  Most are distributed with the following notice:
    -
    -  The contents of this file are dedicated to the public domain.  To
    -  the extent that dedication to the public domain is not available,
    -  everyone is granted a worldwide, perpetual, royalty-free,
    -  non-exclusive license to exercise all rights associated with the
    -  contents of this file for any purpose whatsoever.
    -  No rights are reserved.
    -
    -  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
    -  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    -  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    -  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -  SOFTWARE.
    -
    -Exception:
    -
    - - Portions of HMAC.py and setup.py are derived from Python 2.2, and
    -   are therefore Copyright (c) 2001, 2002, 2003 Python Software
    -   Foundation (All Rights Reserved).  They are licensed by the PSF
    -   under the terms of the Python 2.2 license.  (See the file
    -   LEGAL/copy/LICENSE.python-2.2 for details.)
    -
    -EXPORT RESTRICTIONS:
    -
    -Note that the export or re-export of cryptographic software and/or
    -source code may be subject to regulation in your jurisdiction.
    -
    -
    -
    -==================================================================
    -LICENSE.python-2.2
    -LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    -LICENSE.libtom  LICENSE file from LibTomCrypt
    -stmts/          Statements by contributors
    -
    -==================================================================
    -LICENSE.python-2.2
    -
    -A. HISTORY OF THE SOFTWARE
    -==========================
    -
    -Python was created in the early 1990s by Guido van Rossum at Stichting
    -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
    -as a successor of a language called ABC.  Guido remains Python's
    -principal author, although it includes many contributions from others.
    -
    -In 1995, Guido continued his work on Python at the Corporation for
    -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
    -in Reston, Virginia where he released several versions of the
    -software.
    -
    -In May 2000, Guido and the Python core development team moved to
    -BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
    -year, the PythonLabs team moved to Digital Creations (now Zope
    -Corporation, see http://www.zope.com).  In 2001, the Python Software
    -Foundation (PSF, see http://www.python.org/psf/) was formed, a
    -non-profit organization created specifically to own Python-related
    -Intellectual Property.  Zope Corporation is a sponsoring member of
    -the PSF.
    -
    -All Python releases are Open Source (see http://www.opensource.org for
    -the Open Source Definition).  Historically, most, but not all, Python
    -releases have also been GPL-compatible; the table below summarizes
    -the various releases.
    -
    -    Release         Derived     Year        Owner       GPL-
    -            from                                compatible? (1)
    -
    -    0.9.0 thru 1.2              1991-1995   CWI         yes
    -    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    -    1.6             1.5.2       2000        CNRI        no
    -    2.0             1.6         2000        BeOpen.com  no
    -    1.6.1           1.6         2001        CNRI        no
    -    2.1             2.0+1.6.1   2001        PSF         no
    -    2.0.1           2.0+1.6.1   2001        PSF         yes
    -    2.1.1           2.1+2.0.1   2001        PSF         yes
    -    2.2             2.1.1       2001        PSF         yes
    -    2.1.2           2.1.1       2002        PSF         yes
    -    2.1.3           2.1.2       2002        PSF         yes
    -    2.2.1           2.2         2002        PSF         yes
    -    2.2.2           2.2.1       2002        PSF         yes
    -    2.2.3           2.2.2       2003        PSF         yes
    -
    -Footnotes:
    -
    -(1) GPL-compatible doesn't mean that we're distributing Python under
    -    the GPL.  All Python licenses, unlike the GPL, let you distribute
    -    a modified version without making your changes open source.  The
    -    GPL-compatible licenses make it possible to combine Python with
    -    other software that is released under the GPL; the others don't.
    -
    -Thanks to the many outside volunteers who have worked under Guido's
    -direction to make these releases possible.
    -
    -
    -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
    -===============================================================
    -
    -PSF LICENSE AGREEMENT FOR PYTHON 2.2.3
    ---------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Python Software Foundation
    -("PSF"), and the Individual or Organization ("Licensee") accessing and
    -otherwise using Python 2.2.3 software in source or binary form and its
    -associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, PSF
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 2.2.3
    -alone or in any derivative version, provided, however, that PSF's
    -License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    -2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
    -retained in Python 2.2.3 alone or in any derivative version prepared
    -by Licensee.
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 2.2.3 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 2.2.3.
    -
    -4. PSF is making Python 2.2.3 available to Licensee on an "AS IS"
    -basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.2.3 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -2.2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.2.3,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. Nothing in this License Agreement shall be deemed to create any
    -relationship of agency, partnership, or joint venture between PSF and
    -Licensee.  This License Agreement does not grant permission to use PSF
    -trademarks or trade name in a trademark sense to endorse or promote
    -products or services of Licensee, or any third party.
    -
    -8. By copying, installing or otherwise using Python 2.2.3, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
    --------------------------------------------
    -
    -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
    -
    -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
    -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
    -Individual or Organization ("Licensee") accessing and otherwise using
    -this software in source or binary form and its associated
    -documentation ("the Software").
    -
    -2. Subject to the terms and conditions of this BeOpen Python License
    -Agreement, BeOpen hereby grants Licensee a non-exclusive,
    -royalty-free, world-wide license to reproduce, analyze, test, perform
    -and/or display publicly, prepare derivative works, distribute, and
    -otherwise use the Software alone or in any derivative version,
    -provided, however, that the BeOpen Python License is retained in the
    -Software, alone or in any derivative version prepared by Licensee.
    -
    -3. BeOpen is making the Software available to Licensee on an "AS IS"
    -basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
    -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
    -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
    -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -5. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -6. This License Agreement shall be governed by and interpreted in all
    -respects by the law of the State of California, excluding conflict of
    -law provisions.  Nothing in this License Agreement shall be deemed to
    -create any relationship of agency, partnership, or joint venture
    -between BeOpen and Licensee.  This License Agreement does not grant
    -permission to use BeOpen trademarks or trade names in a trademark
    -sense to endorse or promote products or services of Licensee, or any
    -third party.  As an exception, the "BeOpen Python" logos available at
    -http://www.pythonlabs.com/logos.html may be used according to the
    -permissions granted on that web page.
    -
    -7. By copying, installing or otherwise using the software, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
    ----------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Corporation for National
    -Research Initiatives, having an office at 1895 Preston White Drive,
    -Reston, VA 20191 ("CNRI"), and the Individual or Organization
    -("Licensee") accessing and otherwise using Python 1.6.1 software in
    -source or binary form and its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, CNRI
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python 1.6.1
    -alone or in any derivative version, provided, however, that CNRI's
    -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
    -1995-2001 Corporation for National Research Initiatives; All Rights
    -Reserved" are retained in Python 1.6.1 alone or in any derivative
    -version prepared by Licensee.  Alternately, in lieu of CNRI's License
    -Agreement, Licensee may substitute the following text (omitting the
    -quotes): "Python 1.6.1 is made available subject to the terms and
    -conditions in CNRI's License Agreement.  This Agreement together with
    -Python 1.6.1 may be located on the Internet using the following
    -unique, persistent identifier (known as a handle): 1895.22/1013.  This
    -Agreement may also be obtained from a proxy server on the Internet
    -using the following URL: http://hdl.handle.net/1895.22/1013".
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python 1.6.1 or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python 1.6.1.
    -
    -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
    -basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. This License Agreement shall be governed by the federal
    -intellectual property law of the United States, including without
    -limitation the federal copyright law, and, to the extent such
    -U.S. federal law does not apply, by the law of the Commonwealth of
    -Virginia, excluding Virginia's conflict of law provisions.
    -Notwithstanding the foregoing, with regard to derivative works based
    -on Python 1.6.1 that incorporate non-separable material that was
    -previously distributed under the GNU General Public License (GPL), the
    -law of the Commonwealth of Virginia shall govern this License
    -Agreement only as to issues arising under or with respect to
    -Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
    -License Agreement shall be deemed to create any relationship of
    -agency, partnership, or joint venture between CNRI and Licensee.  This
    -License Agreement does not grant permission to use CNRI trademarks or
    -trade name in a trademark sense to endorse or promote products or
    -services of Licensee, or any third party.
    -
    -8. By clicking on the "ACCEPT" button where indicated, or by copying,
    -installing or otherwise using Python 1.6.1, Licensee agrees to be
    -bound by the terms and conditions of this License Agreement.
    -
    -        ACCEPT
    -
    -
    -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
    ---------------------------------------------------
    -
    -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
    -The Netherlands.  All rights reserved.
    -
    -Permission to use, copy, modify, and distribute this software and its
    -documentation for any purpose and without fee is hereby granted,
    -provided that the above copyright notice appear in all copies and that
    -both that copyright notice and this permission notice appear in
    -supporting documentation, and that the name of Stichting Mathematisch
    -Centrum or CWI not be used in advertising or publicity pertaining to
    -distribution of the software without specific, written prior
    -permission.
    -
    -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
    -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
    -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
    -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -
    -
    -===================================================================
    -LICENSE.orig    Original (deprecated) license for the Python Cryptography Toolkit
    -===================================================================
    -Distribute and use freely; there are no restrictions on further
    -dissemination and usage except those imposed by the laws of your
    -country of residence.  This software is provided "as is" without
    -warranty of fitness for use or suitability for any purpose, express
    -or implied. Use at your own risk or not at all.
    -===================================================================
    -
    -Incorporating the code into commercial products is permitted; you do
    -not have to make source available or contribute your changes back
    -(though that would be nice).
    -
    ---amk                                                             (www.amk.ca)
    -
    -
    -
    -LICENSE.libtom  LICENSE file from LibTomCrypt
    -===================================================================
    -LibTomCrypt is public domain.  As should all quality software be.
    -
    -Tom St Denis
    -
    -
    -
    -Statements by contributors
    -===================================================================
    -From dlitz@dlitz.net Sun Nov 23 00:17:22 2008
    -Date: Sun, 23 Nov 2008 00:17:22 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: "A. M. Kuchling" <amk@amk.ca>
    -Subject: PyCrypto license clarification
    -Message-ID: <20081123051722.GA29253@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: multipart/signed; micalg=pgp-sha1;
    -    protocol="application/pgp-signature"; boundary="YiEDa0DAkWCtVeE4"
    -Content-Disposition: inline
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3461
    -Lines: 78
    -
    -
    ---YiEDa0DAkWCtVeE4
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -Content-Transfer-Encoding: quoted-printable
    -
    -Hi Andrew,
    -
    -People often ask me what license PyCrypto is covered by, if it's=20
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them. =20
    -The text in the current LICENSE file (quoted below) is not entirely clear=
    -=20
    -on the point of whether distributing modified versions is allowed.  (It=20
    -says "distribute and use", but not "modify".)
    -
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -     Distribute and use freely; there are no restrictions on further
    -     dissemination and usage except those imposed by the laws of your
    -     country of residence.  This software is provided "as is" without
    -     warranty of fitness for use or suitability for any purpose, express
    -     or implied. Use at your own risk or not at all.
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -     Incorporating the code into commercial products is permitted; you do
    -     not have to make source available or contribute your changes back
    -     (though that would be nice).
    -
    -     --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I'd like to take steps to move toward a=20
    -clearer licensing regime.  I'm asking as many copyright holders as I can=20
    -find, starting with you, if I can release PyCrypto under something clearer=
    -=20
    -and more standard.  Below, I have quoted a public domain dedication that=20
    -was recommended in _Intellectual Property and Open Source: A Practical=20
    -Guide to Protecting Code_, by Van Lindberg.
    -
    -May I, on your behalf, dedicate to the public domain your considerable=20
    -contributions to PyCrypto, with the following notice?
    -
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -     The contents of this file are dedicated to the public domain.  To the
    -     extent that dedication to the public domain is not available, everyone
    -     is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -     to exercise all rights associated with the contents of this file for
    -     any purpose whatsoever.  No rights are reserved.
    -     =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -Regards,
    -  - Dwayne
    -
    ---=20
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    ---YiEDa0DAkWCtVeE4
    -Content-Type: application/pgp-signature; name="signature.asc"
    -Content-Description: Digital signature
    -Content-Disposition: inline
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.5 (GNU/Linux)
    -
    -iEYEARECAAYFAkko52IACgkQHBG4d+eAS0XPPQCfcyQ2DdAXKg9N7Z+jeSFFD5EZ
    -yloAn33a3ZjkteyJaTbzEqImOEW8JGpf
    -=aBEW
    ------END PGP SIGNATURE-----
    -
    ---YiEDa0DAkWCtVeE4--
    -
    -From amk@amk.ca Sun Nov 23 07:51:59 2008
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <amk@amk.ca>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 5C2C75047D
    -    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 07:51:59 -0500 (EST)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id D632D10111
    -    for <dwon@rivest.dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    -Received: (vmailmgr-postfix 12026 invoked by uid 1003); 23 Nov 2008 06:51:58 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (goedel.dlitz.net: domain of amk@amk.ca does not designate permitted sender hosts)
    -Received: from mail5.sea5.speakeasy.net (mail5.sea5.speakeasy.net [69.17.117.7])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 97DC710105
    -    for <dlitz@dlitz.net>; Sun, 23 Nov 2008 06:51:58 -0600 (CST)
    -Received: (qmail 3992 invoked from network); 23 Nov 2008 12:51:52 -0000
    -Received: from dsl092-163-165.wdc2.dsl.speakeasy.net (HELO localhost) (akuchling@[66.92.163.165])
    -          (envelope-sender <amk@amk.ca>)
    -          by mail5.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP
    -          for <dlitz@dlitz.net>; 23 Nov 2008 12:51:52 -0000
    -Date: Sun, 23 Nov 2008 07:51:34 -0500
    -From: "A.M. Kuchling" <amk@amk.ca>
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20081123125134.GA21239@amk.local>
    -Reply-To: amk@amk.ca
    -References: <20081123051722.GA29253@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii
    -Content-Disposition: inline
    -In-Reply-To: <20081123051722.GA29253@rivest.dlitz.net>
    -User-Agent: Mutt/1.5.13 (2006-08-11)
    -Status: RO
    -Content-Length: 537
    -Lines: 15
    -
    -> People often ask me what license PyCrypto is covered by, if it's 
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -> The text in the current LICENSE file (quoted below) is not entirely clear 
    -> on the point of whether distributing modified versions is allowed.  (It 
    -> says "distribute and use", but not "modify".)
    -
    -The intention is that it be public domain.
    -
    -> May I, on your behalf, dedicate to the public domain your considerable 
    -> contributions to PyCrypto, with the following notice?
    -
    -You may.
    -
    ---amk
    -
    -
    -================================================
    -From dlitz@dlitz.net Sat Feb 28 21:45:09 2009
    -Date: Sat, 28 Feb 2009 21:45:09 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Barry A Warsaw <barry@python.org>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090301024509.GA13195@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2535
    -
    -Hi Barry,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am 
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's 
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -The text in the current LICENSE file (quoted below) is not entirely clear 
    -on the point of whether distributing modified versions is allowed.  (It 
    -says "distribute and use", but not "modify".)
    -
    -  ===================================================================
    -  Distribute and use freely; there are no restrictions on further
    -  dissemination and usage except those imposed by the laws of your
    -  country of residence.  This software is provided "as is" without
    -  warranty of fitness for use or suitability for any purpose, express
    -  or implied. Use at your own risk or not at all.
    -  ===================================================================
    -
    -  Incorporating the code into commercial products is permitted; you do
    -  not have to make source available or contribute your changes back
    -  (though that would be nice).
    -
    -  --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a 
    -clearer licensing regime.  I am asking as many copyright holders as I can 
    -find if I can release PyCrypto under something clearer and more standard.  
    -Below, I have quoted a public domain dedication that was recommended in 
    -_Intellectual Property and Open Source: A Practical Guide to Protecting 
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    -Pointer, and Wim Lewis, and they have all approved the following dedication 
    -for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your 
    -behalf, dedicate to the public domain all your contributions to PyCrypto, 
    -with the following notice?
    -
    -  =======================================================================
    -  The contents of this file are dedicated to the public domain.  To the
    -  extent that dedication to the public domain is not available, everyone
    -  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -  to exercise all rights associated with the contents of this file for
    -  any purpose whatsoever.  No rights are reserved.
    -  =======================================================================
    -
    -Regards,
    -  - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -     Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From barry@python.org Mon Mar  2 11:29:39 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <barry@python.org>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 6E01AC6640B
    -    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 11:29:39 -0500 (EST)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 0644E1007A
    -    for <dwon@rivest.dlitz.net>; Mon,  2 Mar 2009 10:29:39 -0600 (CST)
    -Received: (vmailmgr-postfix 8668 invoked by uid 1003);  2 Mar 2009 10:29:39 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (python.org: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="barry@python.org"; helo=mail.wooz.org; client-ip=216.15.33.230
    -Received: from mail.wooz.org (216-15-33-230.c3-0.slvr-ubr2.lnh-slvr.md.static.cable.rcn.com [216.15.33.230])
    -    by goedel.dlitz.net (Postfix) with ESMTP id CCEA110073
    -    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 10:29:38 -0600 (CST)
    -Received: from snowdog.wooz.org (snowdog.wooz.org [192.168.11.202])
    -    by mail.wooz.org (Postfix) with ESMTPSA id ACE30E3C9F
    -    for <dlitz@dlitz.net>; Mon,  2 Mar 2009 11:29:35 -0500 (EST)
    -Message-Id: <09BF1A39-B015-4820-97A3-8642490C8254@python.org>
    -From: Barry Warsaw <barry@python.org>
    -To: Dwayne C. Litzenberger <dlitz@dlitz.net>
    -In-Reply-To: <20090301024509.GA13195@rivest.dlitz.net>
    -Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
    -Content-Transfer-Encoding: quoted-printable
    -Mime-Version: 1.0 (Apple Message framework v930.3)
    -Subject: Re: PyCrypto license clarification
    -Date: Mon, 2 Mar 2009 11:29:34 -0500
    -References: <20090301024509.GA13195@rivest.dlitz.net>
    -X-Pgp-Agent: GPGMail d55 (v55, Leopard)
    -X-Mailer: Apple Mail (2.930.3)
    -Status: RO
    -Content-Length: 869
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On Feb 28, 2009, at 9:45 PM, Dwayne C. Litzenberger wrote:
    -
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am =20=
    -
    -> working on a new release at http://www.pycrypto.org/.
    -
    -Great!  I'm glad to see someone taking up the mantle of this important =20=
    -
    -Python library.
    -
    -> I understand that you have made contributions to PyCrypto.  May I, =20
    -> on your behalf, dedicate to the public domain all your contributions =20=
    -
    -> to PyCrypto, with the following notice?
    -
    -Absolutely yes.
    -
    -Cheers,
    -Barry
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.9 (Darwin)
    -
    -iQCVAwUBSawJbnEjvBPtnXfVAQLZjgP/ecG+JdZwNvPJRfsa6rhY6+MHLDHI6agk
    -evkJnSJQAcVHlZnVlVeR5IXgvDUMakZjU4SOV7MqkhsKA9lIet7PaD9VSYgn3ra5
    -gElwI2DQDoOy5GExXMm74gqrrb1PCCbCRmpaYNo+DZohwHkeFBjbwDRA3wItOrH7
    -SK4w9VBJtfY=3D
    -=3DQduY
    ------END PGP SIGNATURE-----
    -
    -
    -
    -===================================================
    -From dlitz@dlitz.net Sat Feb 28 23:24:14 2009
    -Date: Sat, 28 Feb 2009 23:24:14 -0500
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Jeethu Rao <jeethurao@gmail.com>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090301042414.GA15122@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2513
    -
    -Hi Jeethu,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am 
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's 
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  
    -The text in the current LICENSE file (quoted below) is not entirely clear 
    -on the point of whether distributing modified versions is allowed.  (It 
    -says "distribute and use", but not "modify".)
    -
    - ===================================================================
    - Distribute and use freely; there are no restrictions on further
    - dissemination and usage except those imposed by the laws of your
    - country of residence.  This software is provided "as is" without
    - warranty of fitness for use or suitability for any purpose, express
    - or implied. Use at your own risk or not at all.
    - ===================================================================
    -
    - Incorporating the code into commercial products is permitted; you do
    - not have to make source available or contribute your changes back
    - (though that would be nice).
    -
    - --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a 
    -clearer licensing regime.  I am asking as many copyright holders as I can 
    -find if I can release PyCrypto under something clearer and more standard.  
    -Below, I have quoted a public domain dedication that was recommended in 
    -_Intellectual Property and Open Source: A Practical Guide to Protecting 
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey 
    -Pointer, and Wim Lewis, and they have all approved the following text for 
    -their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your 
    -behalf, dedicate to the public domain all your contributions to PyCrypto, 
    -with the following notice?
    -
    - =======================================================================
    - The contents of this file are dedicated to the public domain.  To the
    - extent that dedication to the public domain is not available, everyone
    - is granted a worldwide, perpetual, royalty-free, non-exclusive license
    - to exercise all rights associated with the contents of this file for
    - any purpose whatsoever.  No rights are reserved.
    - =======================================================================
    -
    -Regards,
    - - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -       Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From jeethurao@gmail.com Sun Mar  8 17:28:16 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <jeethurao@gmail.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 0CC83515D9
    -    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 17:28:16 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 4E58F450CB
    -    for <dwon@rivest.dlitz.net>; Sun,  8 Mar 2009 15:28:15 -0600 (CST)
    -Received: (vmailmgr-postfix 5011 invoked by uid 1003);  8 Mar 2009 15:28:15 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: pass (gmail.com ... _spf.google.com: 209.85.198.249 is authorized to use 'jeethurao@gmail.com' in 'mfrom' identity (mechanism 'ip4:209.85.128.0/17' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="jeethurao@gmail.com"; helo=rv-out-0708.google.com; client-ip=209.85.198.249
    -Received: from rv-out-0708.google.com (unknown [209.85.198.249])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 3C097449E7
    -    for <dlitz@dlitz.net>; Sun,  8 Mar 2009 15:28:12 -0600 (CST)
    -Received: by rv-out-0708.google.com with SMTP id k29so1252333rvb.26
    -        for <dlitz@dlitz.net>; Sun, 08 Mar 2009 14:27:56 -0700 (PDT)
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    -        d=gmail.com; s=gamma;
    -        h=domainkey-signature:mime-version:received:in-reply-to:references
    -         :date:message-id:subject:from:to:content-type;
    -        bh=YWy9U32WCU/ksRqukHwaOZyJQBUs4Yvt5mI20U6mI/g=;
    -        b=oMjI22lIxYiJKge2zNJW3rRiUi9LqFXmey5Wp0pLItuNF+X3duyfhopTuBAKw7MwVY
    -         B5E6VQuGVEyzBbNsctyVgq6DhQiQtouCLZymSViobmuDmKn5DtUKoxpDk0xCxQmHYaas
    -         L9/A6D3/J66kKrNBgX9mc0GPcZTviVFYkPR0Q=
    -DomainKey-Signature: a=rsa-sha1; c=nofws;
    -        d=gmail.com; s=gamma;
    -        h=mime-version:in-reply-to:references:date:message-id:subject:from:to
    -         :content-type;
    -        b=Ym7CStuDEfJKay1AJyWZkZmJA1lnTcwCG6akBHAXLld8ht6PFcmlsffzZG8hJCIVJ8
    -         vljqcT+G6cywVTBw1pyGX7ECYzr0+vhGvgdpACGrs24zikHfpSSd5GFogzXaLVvGVH8p
    -         bqSHpfWKKtEP4gAQkiNeIq1GNtR2j8U3fnRyg=
    -MIME-Version: 1.0
    -Received: by 10.141.176.13 with SMTP id d13mr2656028rvp.231.1236547674677; 
    -    Sun, 08 Mar 2009 14:27:54 -0700 (PDT)
    -In-Reply-To: <20090301042414.GA15122@rivest.dlitz.net>
    -References: <20090301042414.GA15122@rivest.dlitz.net>
    -Date: Mon, 9 Mar 2009 02:57:54 +0530
    -Message-ID: <e3c0ddba0903081427p3a7b1058g417dd8624df68d6d@mail.gmail.com>
    -Subject: Re: PyCrypto license clarification
    -From: Jeethu Rao <jeethurao@gmail.com>
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Content-Type: multipart/alternative; boundary=000e0cd209d0e5a3d40464a23054
    -Status: RO
    -Content-Length: 7668
    -
    ---000e0cd209d0e5a3d40464a23054
    -Content-Type: text/plain; charset=ISO-8859-1
    -Content-Transfer-Encoding: 7bit
    -
    -Hi Dwayne,My contribution to pycrypto are very very minimal (The sha256
    -module, IIRC).
    -I'd be fine with the public domain license for PyCrypto.
    -
    -Jeethu Rao
    -PS: Apologies for the delay in my response.
    -I don't really check this email address all that often,
    -please direct any further correspondence to jeethu@jeethurao.com
    -
    -On Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <dlitz@dlitz.net>wrote:
    -
    -> Hi Jeethu,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    ->
    -> People often ask me what license PyCrypto is covered by, if it's
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.  The
    -> text in the current LICENSE file (quoted below) is not entirely clear on the
    -> point of whether distributing modified versions is allowed.  (It says
    -> "distribute and use", but not "modify".)
    ->
    -> ===================================================================
    -> Distribute and use freely; there are no restrictions on further
    -> dissemination and usage except those imposed by the laws of your
    -> country of residence.  This software is provided "as is" without
    -> warranty of fitness for use or suitability for any purpose, express
    -> or implied. Use at your own risk or not at all.
    -> ===================================================================
    ->
    -> Incorporating the code into commercial products is permitted; you do
    -> not have to make source available or contribute your changes back
    -> (though that would be nice).
    ->
    -> --amk                                                    (www.amk.ca)
    ->
    -> For the next PyCrypto release, I would like to take steps to move toward a
    -> clearer licensing regime.  I am asking as many copyright holders as I can
    -> find if I can release PyCrypto under something clearer and more standard.
    ->  Below, I have quoted a public domain dedication that was recommended in
    -> _Intellectual Property and Open Source: A Practical Guide to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -> Pointer, and Wim Lewis, and they have all approved the following text for
    -> their contributions.
    ->
    -> I understand that you have made contributions to PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your contributions to PyCrypto,
    -> with the following notice?
    ->
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    -> Regards,
    -> - Dwayne
    ->
    -> --
    -> Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->      Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->
    -
    -
    -
    --- 
    -Jeethu Rao
    -
    ---000e0cd209d0e5a3d40464a23054
    -Content-Type: text/html; charset=ISO-8859-1
    -Content-Transfer-Encoding: quoted-printable
    -
    -Hi Dwayne,<div>My contribution to pycrypto are very very minimal (The sha25=
    -6 module, IIRC).</div><div>I&#39;d be fine with the public domain license f=
    -or PyCrypto.</div><div><br></div><div>Jeethu Rao</div><div>PS: Apologies fo=
    -r the delay in my response.=A0</div>
    -<div>I don&#39;t really check this email address all that often,</div><div>=
    -please direct any further correspondence to <a href=3D"mailto:jeethu@jeethu=
    -rao.com">jeethu@jeethurao.com</a><br><div><br><div class=3D"gmail_quote">On=
    - Sun, Mar 1, 2009 at 9:54 AM, Dwayne C. Litzenberger <span dir=3D"ltr">&lt;=
    -<a href=3D"mailto:dlitz@dlitz.net">dlitz@dlitz.net</a>&gt;</span> wrote:<br=
    ->
    -<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
    -x #ccc solid;padding-left:1ex;">Hi Jeethu,<br>
    -<br>
    -I am the new maintainer of the Python Cryptography Toolkit, and I am workin=
    -g on a new release at <a href=3D"http://www.pycrypto.org/" target=3D"_blank=
    -">http://www.pycrypto.org/</a>.<br>
    -<br>
    -People often ask me what license PyCrypto is covered by, if it&#39;s GPL-co=
    -mpatible, etc. =A0Right now, I&#39;m not really sure what to tell them. =A0=
    -The text in the current LICENSE file (quoted below) is not entirely clear o=
    -n the point of whether distributing modified versions is allowed. =A0(It sa=
    -ys &quot;distribute and use&quot;, but not &quot;modify&quot;.)<br>
    -
    -<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -Distribute and use freely; there are no restrictions on further<br>
    -dissemination and usage except those imposed by the laws of your<br>
    -country of residence. =A0This software is provided &quot;as is&quot; withou=
    -t<br>
    -warranty of fitness for use or suitability for any purpose, express<br>
    -or implied. Use at your own risk or not at all.<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -<br>
    -Incorporating the code into commercial products is permitted; you do<br>
    -not have to make source available or contribute your changes back<br>
    -(though that would be nice).<br>
    -<br>
    ---amk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
    -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0(<a href=3D"http://www.amk.ca" target=3D=
    -"_blank">www.amk.ca</a>)<br>
    -<br>
    -For the next PyCrypto release, I would like to take steps to move toward a =
    -clearer licensing regime. =A0I am asking as many copyright holders as I can=
    - find if I can release PyCrypto under something clearer and more standard. =
    -=A0Below, I have quoted a public domain dedication that was recommended in =
    -_Intellectual Property and Open Source: A Practical Guide to Protecting Cod=
    -e_, by Van Lindberg. =A0I have already contacted A. M. Kuchling, Robey Poin=
    -ter, and Wim Lewis, and they have all approved the following text for their=
    - contributions.<br>
    -
    -<br>
    -I understand that you have made contributions to PyCrypto. =A0May I, on you=
    -r behalf, dedicate to the public domain all your contributions to PyCrypto,=
    - with the following notice?<br>
    -<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -The contents of this file are dedicated to the public domain. =A0To the<br>
    -extent that dedication to the public domain is not available, everyone<br>
    -is granted a worldwide, perpetual, royalty-free, non-exclusive license<br>
    -to exercise all rights associated with the contents of this file for<br>
    -any purpose whatsoever. =A0No rights are reserved.<br>
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
    -<br>
    -Regards,<br>
    -- Dwayne<br><font color=3D"#888888">
    -<br>
    --- <br>
    -Dwayne C. Litzenberger &lt;<a href=3D"mailto:dlitz@dlitz.net" target=3D"_bl=
    -ank">dlitz@dlitz.net</a>&gt;<br>
    - =A0 =A0 =A0Key-signing key =A0 - 19E1 1FE8 B3CF F273 ED17 =A04A24 928C EC1=
    -3 39C2 5CF7<br>
    -</font></blockquote></div><br><br clear=3D"all"><br>-- <br>Jeethu Rao<br>
    -</div></div>
    -
    ---000e0cd209d0e5a3d40464a23054--
    -
    -
    -=======================================================
    -From dlitz@dlitz.net Mon May  4 22:49:14 2009
    -Date: Mon, 4 May 2009 22:49:14 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Joris Bontje <joris@bontje.nl>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090505024914.GA9219@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2553
    -
    -Hi Joris,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -  ===================================================================
    -  Distribute and use freely; there are no restrictions on further
    -  dissemination and usage except those imposed by the laws of your
    -  country of residence.  This software is provided "as is" without
    -  warranty of fitness for use or suitability for any purpose, express
    -  or implied. Use at your own risk or not at all.
    -  ===================================================================
    -
    -  Incorporating the code into commercial products is permitted; you do
    -  not have to make source available or contribute your changes back
    -  (though that would be nice).
    -
    -  --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    -have all approved the following dedication for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your
    -behalf, dedicate to the public domain all your contributions to PyCrypto,
    -with the following notice?
    -
    -  =======================================================================
    -  The contents of this file are dedicated to the public domain.  To the
    -  extent that dedication to the public domain is not available, everyone
    -  is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -  to exercise all rights associated with the contents of this file for
    -  any purpose whatsoever.  No rights are reserved.
    -  =======================================================================
    -
    -Regards,
    - - Dwayne
    -
    ---
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From joris@bontje.nl Tue May  5 03:08:32 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <joris@bontje.nl>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 7AA4B9E5078
    -    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 03:08:32 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id 2315B40583
    -    for <dwon@rivest.dlitz.net>; Tue,  5 May 2009 01:08:32 -0600 (CST)
    -Received: (vmailmgr-postfix 16890 invoked by uid 1003);  5 May 2009 01:08:32 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (bontje.nl: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="joris@bontje.nl"; helo=smtp6.versatel.nl; client-ip=62.58.50.97
    -Received: from smtp6.versatel.nl (smtp6.versatel.nl [62.58.50.97])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 2D76A4052C
    -    for <dlitz@dlitz.net>; Tue,  5 May 2009 01:08:30 -0600 (CST)
    -Received: (qmail 4224 invoked by uid 0); 5 May 2009 07:08:25 -0000
    -Received: from qmail06.zonnet.nl (HELO dell062.admin.zonnet.nl) ([10.170.1.123])
    -          (envelope-sender <joris@bontje.nl>)
    -          by 10.170.1.96 (qmail-ldap-1.03) with SMTP
    -          for < >; 5 May 2009 07:08:25 -0000
    -Received: by dell062.admin.zonnet.nl (Postfix, from userid 33)
    -    id 9BE9B15759B; Tue,  5 May 2009 09:08:25 +0200 (CEST)
    -Received: from firewall66.interaccess.nl (firewall66.interaccess.nl
    -    [193.173.35.66]) by www.webmail.vuurwerk.nl (Horde MIME library) with HTTP;
    -    Tue, 05 May 2009 09:08:25 +0200
    -Message-ID: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -Date: Tue, 05 May 2009 09:08:25 +0200
    -From: joris@bontje.nl
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Subject: Re: PyCrypto license clarification
    -References: <20090505024914.GA9219@rivest.dlitz.net>
    -In-Reply-To: <20090505024914.GA9219@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain;
    -    charset=ISO-8859-1;
    -    format="flowed"
    -Content-Disposition: inline
    -Content-Transfer-Encoding: 7bit
    -User-Agent: Internet Messaging Program (IMP) H3 (4.1.3)
    -Status: RO
    -X-Status: A
    -Content-Length: 3488
    -
    -Hi Dwayne,
    -
    -Thanks for taking over the PyCrypto library and putting in the required 
    -effort to keep this going.
    -I was very excited to read that it is now one of the installed 
    -libraries for Google AppsEngine!
    -
    -You have my full permission to dedicate all my contributions to 
    -PyCrypto to the public domain with your suggested notice:
    -=======================================================================
    -The contents of this file are dedicated to the public domain.  To the
    -extent that dedication to the public domain is not available, everyone
    -is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -to exercise all rights associated with the contents of this file for
    -any purpose whatsoever.  No rights are reserved.
    -=======================================================================
    -
    -
    -Regards,
    -Joris
    -
    -Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    -
    -> Hi Joris,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    ->
    -> People often ask me what license PyCrypto is covered by, if it's
    -> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -> The text in the current LICENSE file (quoted below) is not entirely clear
    -> on the point of whether distributing modified versions is allowed.  (It
    -> says "distribute and use", but not "modify".)
    ->
    -> ===================================================================
    -> Distribute and use freely; there are no restrictions on further
    -> dissemination and usage except those imposed by the laws of your
    -> country of residence.  This software is provided "as is" without
    -> warranty of fitness for use or suitability for any purpose, express
    -> or implied. Use at your own risk or not at all.
    -> ===================================================================
    ->
    -> Incorporating the code into commercial products is permitted; you do
    -> not have to make source available or contribute your changes back
    -> (though that would be nice).
    ->
    -> --amk                                                    (www.amk.ca)
    ->
    -> For the next PyCrypto release, I would like to take steps to move toward a
    -> clearer licensing regime.  I am asking as many copyright holders as I can
    -> find if I can release PyCrypto under something clearer and more standard.
    -> Below, I have quoted a public domain dedication that was recommended in
    -> _Intellectual Property and Open Source: A Practical Guide to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    -> have all approved the following dedication for their contributions.
    ->
    -> I understand that you have made contributions to PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your contributions to PyCrypto,
    -> with the following notice?
    ->
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    -> Regards,
    -> - Dwayne
    ->
    -> --
    -> Dwayne C. Litzenberger <dlitz@dlitz.net>
    -> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -
    -
    -From dlitz@dlitz.net Tue May  5 17:53:47 2009
    -Date: Tue, 5 May 2009 17:53:47 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: joris@bontje.nl
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090505215347.GB9933@rivest.dlitz.net>
    -References: <20090505024914.GA9219@rivest.dlitz.net> <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -In-Reply-To: <20090505090825.gsq1ps7hg08wwwok@www.webmail.vuurwerk.nl>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3863
    -
    -Excellent!  Thank you!
    -
    -On Tue, May 05, 2009 at 09:08:25AM +0200, joris@bontje.nl wrote:
    -> Hi Dwayne,
    ->
    -> Thanks for taking over the PyCrypto library and putting in the required 
    -> effort to keep this going.
    -> I was very excited to read that it is now one of the installed libraries 
    -> for Google AppsEngine!
    ->
    -> You have my full permission to dedicate all my contributions to PyCrypto to 
    -> the public domain with your suggested notice:
    -> =======================================================================
    -> The contents of this file are dedicated to the public domain.  To the
    -> extent that dedication to the public domain is not available, everyone
    -> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -> to exercise all rights associated with the contents of this file for
    -> any purpose whatsoever.  No rights are reserved.
    -> =======================================================================
    ->
    ->
    -> Regards,
    -> Joris
    ->
    -> Citeren "Dwayne C. Litzenberger" <dlitz@dlitz.net>:
    ->
    ->> Hi Joris,
    ->>
    ->> I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->>
    ->> People often ask me what license PyCrypto is covered by, if it's
    ->> GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    ->> The text in the current LICENSE file (quoted below) is not entirely clear
    ->> on the point of whether distributing modified versions is allowed.  (It
    ->> says "distribute and use", but not "modify".)
    ->>
    ->> ===================================================================
    ->> Distribute and use freely; there are no restrictions on further
    ->> dissemination and usage except those imposed by the laws of your
    ->> country of residence.  This software is provided "as is" without
    ->> warranty of fitness for use or suitability for any purpose, express
    ->> or implied. Use at your own risk or not at all.
    ->> ===================================================================
    ->>
    ->> Incorporating the code into commercial products is permitted; you do
    ->> not have to make source available or contribute your changes back
    ->> (though that would be nice).
    ->>
    ->> --amk                                                    (www.amk.ca)
    ->>
    ->> For the next PyCrypto release, I would like to take steps to move toward a
    ->> clearer licensing regime.  I am asking as many copyright holders as I can
    ->> find if I can release PyCrypto under something clearer and more standard.
    ->> Below, I have quoted a public domain dedication that was recommended in
    ->> _Intellectual Property and Open Source: A Practical Guide to Protecting
    ->> Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    ->> Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, and Mark Moraes, and they
    ->> have all approved the following dedication for their contributions.
    ->>
    ->> I understand that you have made contributions to PyCrypto.  May I, on your
    ->> behalf, dedicate to the public domain all your contributions to PyCrypto,
    ->> with the following notice?
    ->>
    ->> =======================================================================
    ->> The contents of this file are dedicated to the public domain.  To the
    ->> extent that dedication to the public domain is not available, everyone
    ->> is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->> to exercise all rights associated with the contents of this file for
    ->> any purpose whatsoever.  No rights are reserved.
    ->> =======================================================================
    ->>
    ->> Regards,
    ->> - Dwayne
    ->>
    ->> --
    ->> Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->> Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->
    ->
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    -
    -==========================================================
    -Date: Sun, 23 Nov 2008 15:54:35 -0800
    -From: Wim Lewis <wiml@hhhh.org>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Cc: Wim Lewis <wiml@hhhh.org>
    -Message-Id: <9D5C3135-7414-47D7-9D41-0AC6C3A84D97@hhhh.org>
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On November 23, 2008, you wrote:
    ->Hi Wim,
    ->
    ->I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->working on a new release at http://www.pycrypto.org/.
    ->
    ->I understand that you have made contributions to PyCrypto. May I, on
    ->your behalf, dedicate to the public domain all your contributions to
    ->PyCrypto, with the following notice?
    ->
    ->   =======================================================================
    ->   The contents of this file are dedicated to the public domain.  To the
    ->   extent that dedication to the public domain is not available, everyone
    ->   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->   to exercise all rights associated with the contents of this file for
    ->   any purpose whatsoever.  No rights are reserved.
    ->   =======================================================================
    -
    -Certainly! I think the only code of mine in PyCrypto is the CAST-5 / CAST-128
    -implementation, which already has a public-domain notice at the top of
    -the file. But I am happy to have that, any any other code of mine that
    -might have wandered in there under an unclear open sourcish license,
    -distributed under the public-domain dedication you quote.
    -
    -Wim.
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.6 (Darwin)
    -
    -iQCVAwUBSSnnAl8UnN8n93LBAQLp/gQAhr7x8Av1mstc2kxEJDWTm26PTAZxMz4B
    -FektbDOzkxgc5580MGGeeX/MVn8aw+1BHg0YD85gsntlDzkcQtb+BR/xAvJ5zKyA
    -J/Mn/I+I6ekJQ3juh8IPHLAduOXM9Rtguas/yR+Doaq0xOPKoBx+/5+t1lLJtBcZ
    -wrPEa9Oui9s=
    -=zSY9
    ------END PGP SIGNATURE-----
    -
    -
    -
    -==========================================================
    -From dlitz@dlitz.net Sat Apr 18 09:14:20 2009
    -Date: Sat, 18 Apr 2009 09:14:20 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Mark Moraes <moraes@computer.org>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090418131419.GA14494@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2635
    -
    -Hi Mark,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -       ===================================================================
    -       Distribute and use freely; there are no restrictions on further
    -       dissemination and usage except those imposed by the laws of your
    -       country of residence.  This software is provided "as is" without
    -       warranty of fitness for use or suitability for any purpose, express
    -       or implied. Use at your own risk or not at all.
    -       ===================================================================
    -
    -       Incorporating the code into commercial products is permitted; you do
    -       not have to make source available or contribute your changes back
    -       (though that would be nice).
    -
    -       --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they have all
    -approved the following dedication for their contributions.
    -
    -I understand that you have made contributions to PyCrypto.  May I, on your
    -behalf, dedicate to the public domain all your contributions to PyCrypto,
    -with the following notice?
    -
    -       =======================================================================
    -       The contents of this file are dedicated to the public domain.  To the
    -       extent that dedication to the public domain is not available, everyone
    -       is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -       to exercise all rights associated with the contents of this file for
    -       any purpose whatsoever.  No rights are reserved.
    -       =======================================================================
    -
    -Regards,
    -    - Dwayne
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -    Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From markmoraes@yahoo.com Mon Apr 20 19:25:37 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <markmoraes@yahoo.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 5D9AE984FDD
    -    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 19:25:37 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id DE41F4025F
    -    for <dwon@rivest.dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    -Received: (vmailmgr-postfix 7604 invoked by uid 1003); 20 Apr 2009 17:25:36 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: none (yahoo.com: No applicable sender policy available) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="markmoraes@yahoo.com"; helo=web32405.mail.mud.yahoo.com; client-ip=68.142.207.198
    -Received: from web32405.mail.mud.yahoo.com (web32405.mail.mud.yahoo.com [68.142.207.198])
    -    by goedel.dlitz.net (Postfix) with SMTP id B5EAF401EE
    -    for <dlitz@dlitz.net>; Mon, 20 Apr 2009 17:25:36 -0600 (CST)
    -Received: (qmail 34697 invoked by uid 60001); 20 Apr 2009 23:25:33 -0000
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1240269933; bh=OvxqbYnCg7R6tUN3YmlgFURM3CuHh1JeHyXhDzkaThU=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type; b=F2h2bFzpQxyKFZ8BhenniyupGw4Zvlekb9BSk91qKU+51W/TkSGBij5YZIhkLQdkQk0qLz5f4g8dT6bOME3sEY1j10hlx0K0u2UD0yoYTINBCmsdMQRoJ7ph9bmt+p/EJhRpe+FiV6aoLV0FONWiHfGDghPT1dulWXfVTqgB2aU=
    -DomainKey-Signature:a=rsa-sha1; q=dns; c=nofws;
    -  s=s1024; d=yahoo.com;
    -  h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
    -  b=r6RShFF5VzQLg+9tcn1xKuo4Rs4IVvXF6fdqOpQrMyRCxeFooebhuTE35grGqlomOJLwM0+mZwRb6rGkDj763caOAlo8Ect/qlADW5izXfmVQaDchTbTqmpsJBmQnTQs9iZ+InrG+3UIwtUSGfX7fhEWmI9P/HBzxf9Wp4b3jeo=;
    -Message-ID: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -X-YMail-OSG: FrK8aWMVM1mFJtLpMGbUbCLjbUQC.i.JkIAKUHSFsFn7t9PbtewAewXJ2uhZGCOlGCX6oVnG3u.CgqzAffY4vZSnfTT8wnCkzZNZ_g6k.XUc3ipo_6e.92TXl4p8MxDGAf1tpNF5nXPwcQ7aREs7jGoWWVJYVytp50clsUFSHzf7Zbpa8P1Yoe_xSzf3OAgRSh5fCrbFCC8sHPCuwrL3YhasbtHmkWffteSS.x6gEcBaxf03oz4FeDb5mpJ54g11Xonq8h_TmzX9g84Bin9g_3fJ4WSXm6g6.tohLyfXcUxoz4j036wyWpTKPrWEzIUQaN83Sv_bj_Ghxw--
    -Received: from [69.124.140.74] by web32405.mail.mud.yahoo.com via HTTP; Mon, 20 Apr 2009 16:25:32 PDT
    -X-Mailer: YahooMailClassic/5.2.15 YahooMailWebService/0.7.289.1
    -Date: Mon, 20 Apr 2009 16:25:32 -0700 (PDT)
    -From: M Moraes <markmoraes@yahoo.com>
    -Reply-To: moraes@computer.org
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii
    -Status: RO
    -X-Status: A
    -Content-Length: 3222
    -
    -
    -Hi Dwayne.
    -
    -Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    -
    -Regards,
    -Mark.
    -
    ---- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    -
    -> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    -> Subject: PyCrypto license clarification
    -> To: "Mark Moraes" <moraes@computer.org>
    -> Date: Saturday, April 18, 2009, 9:14 AM
    -> Hi Mark,
    -> 
    -> I am the new maintainer of the Python Cryptography Toolkit,
    -> and I am
    -> working on a new release at http://www.pycrypto.org/.
    -> 
    -> People often ask me what license PyCrypto is covered by, if
    -> it's
    -> GPL-compatible, etc.  Right now, I'm not really sure
    -> what to tell them.
    -> The text in the current LICENSE file (quoted below) is not
    -> entirely clear
    -> on the point of whether distributing modified versions is
    -> allowed.  (It
    -> says "distribute and use", but not "modify".)
    -> 
    ->      
    -> ===================================================================
    ->       Distribute and use freely; there are
    -> no restrictions on further
    ->       dissemination and usage except those
    -> imposed by the laws of your
    ->       country of residence.  This
    -> software is provided "as is" without
    ->       warranty of fitness for use or
    -> suitability for any purpose, express
    ->       or implied. Use at your own risk or
    -> not at all.
    ->      
    -> ===================================================================
    -> 
    ->       Incorporating the code into commercial
    -> products is permitted; you do
    ->       not have to make source available or
    -> contribute your changes back
    ->       (though that would be nice).
    -> 
    ->       --amk       
    ->                
    ->                
    ->             (www.amk.ca)
    -> 
    -> For the next PyCrypto release, I would like to take steps
    -> to move toward a
    -> clearer licensing regime.  I am asking as many
    -> copyright holders as I can
    -> find if I can release PyCrypto under something clearer and
    -> more standard.
    -> Below, I have quoted a public domain dedication that was
    -> recommended in
    -> _Intellectual Property and Open Source: A Practical Guide
    -> to Protecting
    -> Code_, by Van Lindberg.  I have already contacted A.
    -> M. Kuchling, Robey
    -> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    -> have all
    -> approved the following dedication for their contributions.
    -> 
    -> I understand that you have made contributions to
    -> PyCrypto.  May I, on your
    -> behalf, dedicate to the public domain all your
    -> contributions to PyCrypto,
    -> with the following notice?
    -> 
    ->      
    -> =======================================================================
    ->       The contents of this file are
    -> dedicated to the public domain.  To the
    ->       extent that dedication to the public
    -> domain is not available, everyone
    ->       is granted a worldwide, perpetual,
    -> royalty-free, non-exclusive license
    ->       to exercise all rights associated with
    -> the contents of this file for
    ->       any purpose whatsoever.  No
    -> rights are reserved.
    ->      
    -> =======================================================================
    -> 
    -> Regards,
    ->    - Dwayne
    -> 
    -> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->    Key-signing key   - 19E1
    -> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -> 
    -
    -
    -From dlitz@dlitz.net Mon Apr 20 20:01:37 2009
    -Date: Mon, 20 Apr 2009 20:01:37 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: moraes@computer.org
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090421000137.GA29012@rivest.dlitz.net>
    -References: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -In-Reply-To: <551071.34569.qm@web32405.mail.mud.yahoo.com>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 3677
    -
    -Thanks a lot, and don't worry about not responding to previous emails.  I 
    -do that too much myself. :)
    -
    -On Mon, Apr 20, 2009 at 04:25:32PM -0700, M Moraes wrote:
    ->
    ->Hi Dwayne.
    ->
    ->Sure, the new license sounds fine for all my contributions to PyCrypto, and thanks for taking it on.  My apologies for not responding to your previous e-mail.
    ->
    ->Regards,
    ->Mark.
    ->
    ->--- On Sat, 4/18/09, Dwayne C. Litzenberger <dlitz@dlitz.net> wrote:
    ->
    ->> From: Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->> Subject: PyCrypto license clarification
    ->> To: "Mark Moraes" <moraes@computer.org>
    ->> Date: Saturday, April 18, 2009, 9:14 AM
    ->> Hi Mark,
    ->> 
    ->> I am the new maintainer of the Python Cryptography Toolkit,
    ->> and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->> 
    ->> People often ask me what license PyCrypto is covered by, if
    ->> it's
    ->> GPL-compatible, etc.  Right now, I'm not really sure
    ->> what to tell them.
    ->> The text in the current LICENSE file (quoted below) is not
    ->> entirely clear
    ->> on the point of whether distributing modified versions is
    ->> allowed.  (It
    ->> says "distribute and use", but not "modify".)
    ->> 
    ->>      
    ->> ===================================================================
    ->>       Distribute and use freely; there are
    ->> no restrictions on further
    ->>       dissemination and usage except those
    ->> imposed by the laws of your
    ->>       country of residence.  This
    ->> software is provided "as is" without
    ->>       warranty of fitness for use or
    ->> suitability for any purpose, express
    ->>       or implied. Use at your own risk or
    ->> not at all.
    ->>      
    ->> ===================================================================
    ->> 
    ->>       Incorporating the code into commercial
    ->> products is permitted; you do
    ->>       not have to make source available or
    ->> contribute your changes back
    ->>       (though that would be nice).
    ->> 
    ->>       --amk       
    ->>                
    ->>                
    ->>             (www.amk.ca)
    ->> 
    ->> For the next PyCrypto release, I would like to take steps
    ->> to move toward a
    ->> clearer licensing regime.  I am asking as many
    ->> copyright holders as I can
    ->> find if I can release PyCrypto under something clearer and
    ->> more standard.
    ->> Below, I have quoted a public domain dedication that was
    ->> recommended in
    ->> _Intellectual Property and Open Source: A Practical Guide
    ->> to Protecting
    ->> Code_, by Van Lindberg.  I have already contacted A.
    ->> M. Kuchling, Robey
    ->> Pointer, Wim Lewis, Jeethu Rao, and Barry Warsaw, and they
    ->> have all
    ->> approved the following dedication for their contributions.
    ->> 
    ->> I understand that you have made contributions to
    ->> PyCrypto.  May I, on your
    ->> behalf, dedicate to the public domain all your
    ->> contributions to PyCrypto,
    ->> with the following notice?
    ->> 
    ->>      
    ->> =======================================================================
    ->>       The contents of this file are
    ->> dedicated to the public domain.  To the
    ->>       extent that dedication to the public
    ->> domain is not available, everyone
    ->>       is granted a worldwide, perpetual,
    ->> royalty-free, non-exclusive license
    ->>       to exercise all rights associated with
    ->> the contents of this file for
    ->>       any purpose whatsoever.  No
    ->> rights are reserved.
    ->>      
    ->> =======================================================================
    ->> 
    ->> Regards,
    ->>    - Dwayne
    ->> 
    ->> -- Dwayne C. Litzenberger <dlitz@dlitz.net>
    ->>    Key-signing key   - 19E1
    ->> 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    ->> 
    ->
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -  Annual key (2008) - 4B2A FD82 FC7D 9E38 38D9  179F 1C11 B877 E780 4B45
    -
    -
    -
    -
    -==========================================================
    -Date: Mon, 16 Feb 2009 12:58:00 -0800
    -From: Robey Pointer <robey@lag.net>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Received-SPF: pass (goedel.dlitz.net: domain of robey@lag.net designates 69.61.78.186 as permitted sender)
    -Message-Id: <F469A078-6305-4484-BEA8-F4EC38A4154F@lag.net>
    -
    ------BEGIN PGP SIGNED MESSAGE-----
    -Hash: SHA1
    -
    -On 23 Nov 2008, at 07:42, Dwayne C. Litzenberger wrote:
    -
    -> For the next PyCrypto release, I would like to take steps to move  
    -> toward a clearer licensing regime.  I am asking as many copyright  
    -> holders as I can find if I can release PyCrypto under something  
    -> clearer and more standard.  Below, I have quoted a public domain  
    -> dedication that was recommended in _Intellectual Property and Open  
    -> Source: A Practical Guide to Protecting Code_, by Van Lindberg.  I  
    -> have already contacted A. M. Kuchling, and he has approved the  
    -> following dedication for his contributions.
    ->
    -> May I, on your behalf, dedicate to the public domain all your  
    -> contributions to PyCrypto, with the following notice?
    ->
    ->     
    -> = 
    -> ======================================================================
    ->    The contents of this file are dedicated to the public domain.  To  
    -> the
    ->    extent that dedication to the public domain is not available,  
    -> everyone
    ->    is granted a worldwide, perpetual, royalty-free, non-exclusive  
    -> license
    ->    to exercise all rights associated with the contents of this file  
    -> for
    ->    any purpose whatsoever.  No rights are reserved.
    ->     
    -> = 
    -> ======================================================================
    ->
    -
    -In case I haven't replied to this yet: Yes, this is fine with me.
    -
    -robey
    -
    ------BEGIN PGP SIGNATURE-----
    -Version: GnuPG v1.4.8 (Darwin)
    -
    -iEYEARECAAYFAkmZ01gACgkQQQDkKvyJ6cOLvQCfQmYYuVODvIlyLg0hgCI9LAbQ
    -SH8AoLJgaq1lIi7/ZYDc+/Cd8VO0xLbr
    -=Mv6g
    ------END PGP SIGNATURE-----
    -
    -
    -
    -==========================================================
    -From dlitz@dlitz.net Sun Aug  2 21:48:25 2009
    -Date: Sun, 2 Aug 2009 21:48:25 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Paul Swartz <paulswartz@gmail.com>
    -Subject: PyCrypto license clarification
    -Message-ID: <20090803014825.GA1326@rivest.dlitz.net>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=us-ascii; format=flowed
    -Content-Disposition: inline
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 2631
    -
    -Hi Paul,
    -
    -I am the new maintainer of the Python Cryptography Toolkit, and I am
    -working on a new release at http://www.pycrypto.org/.
    -
    -People often ask me what license PyCrypto is covered by, if it's
    -GPL-compatible, etc.  Right now, I'm not really sure what to tell them.
    -The text in the current LICENSE file (quoted below) is not entirely clear
    -on the point of whether distributing modified versions is allowed.  (It
    -says "distribute and use", but not "modify".)
    -
    -   ===================================================================
    -   Distribute and use freely; there are no restrictions on further
    -   dissemination and usage except those imposed by the laws of your
    -   country of residence.  This software is provided "as is" without
    -   warranty of fitness for use or suitability for any purpose, express
    -   or implied. Use at your own risk or not at all.
    -   ===================================================================
    -
    -   Incorporating the code into commercial products is permitted; you do
    -   not have to make source available or contribute your changes back
    -   (though that would be nice).
    -
    -   --amk                                                    (www.amk.ca)
    -
    -For the next PyCrypto release, I would like to take steps to move toward a
    -clearer licensing regime.  I am asking as many copyright holders as I can
    -find if I can release PyCrypto under something clearer and more standard.
    -Below, I have quoted a public domain dedication that was recommended in
    -_Intellectual Property and Open Source: A Practical Guide to Protecting
    -Code_, by Van Lindberg.  I have already contacted A. M. Kuchling, Robey
    -Pointer, Barry Warsaw, Wim Lewis, Jeethu Rao, Joris Bontje, and Mark 
    -Moraes, and they have all approved the following dedication for their 
    -contributions.
    -
    -I understand that you have made contributions to PyCrypto, under nickname 
    -"z3p" and/or other names.  May I, on your behalf, dedicate to the public 
    -domain all your contributions to PyCrypto, with the following notice?
    -
    -   =======================================================================
    -   The contents of this file are dedicated to the public domain.  To the
    -   extent that dedication to the public domain is not available, everyone
    -   is granted a worldwide, perpetual, royalty-free, non-exclusive license
    -   to exercise all rights associated with the contents of this file for
    -   any purpose whatsoever.  No rights are reserved.
    -   =======================================================================
    -
    -Regards,
    -  - Dwayne
    -
    ---
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -   Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -From paulswartz@gmail.com Mon Aug  3 12:14:07 2009
    -X-Maildir-Dup-Checked: Yes
    -Return-Path: <paulswartz@gmail.com>
    -X-Original-To: dwon@rivest.dlitz.net
    -Delivered-To: dwon@rivest.dlitz.net
    -Received: from goedel.dlitz.net (unknown [10.159.255.6])
    -    by rivest.dlitz.net (Postfix) with ESMTP id 30B9D984FC4
    -    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 12:14:07 -0400 (EDT)
    -Received: from localhost (localhost [127.0.0.1])
    -    by goedel.dlitz.net (Postfix) with QMQP id AD9AE81068
    -    for <dwon@rivest.dlitz.net>; Mon,  3 Aug 2009 10:14:06 -0600 (CST)
    -Received: (vmailmgr-postfix 32055 invoked by uid 1003);  3 Aug 2009 10:14:06 -0600
    -Delivered-To: m-dlitz-dlitz@dlitz.net
    -Received-SPF: pass (gmail.com ... _spf.google.com: 72.14.220.159 is authorized to use 'paulswartz@gmail.com' in 'mfrom' identity (mechanism 'ip4:72.14.192.0/18' matched)) receiver=goedel.dlitz.net; identity=mfrom; envelope-from="paulswartz@gmail.com"; helo=fg-out-1718.google.com; client-ip=72.14.220.159
    -Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.159])
    -    by goedel.dlitz.net (Postfix) with ESMTP id 4E63881066
    -    for <dlitz@dlitz.net>; Mon,  3 Aug 2009 10:14:05 -0600 (CST)
    -Received: by fg-out-1718.google.com with SMTP id d23so1076840fga.3
    -        for <dlitz@dlitz.net>; Mon, 03 Aug 2009 09:14:04 -0700 (PDT)
    -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
    -        d=gmail.com; s=gamma;
    -        h=domainkey-signature:mime-version:received:in-reply-to:references
    -         :from:date:message-id:subject:to:content-type
    -         :content-transfer-encoding;
    -        bh=A0RHBf0TnribKS5qOHJ3WYbkZ+b0cuPeuoKAvpApWcc=;
    -        b=gyTqkRhKlHadFKIZCBWsRbnMNVDq1PWlJbyC0EvxPskaoHr3HAR96MWQNBePu/40Ac
    -         Vn55qlIqTdom4e9zlUEE6MwZo9kqi/Qw0L/SLib0DlQeNqo/eHYqPmuVswltaYwNAyMJ
    -         Y9++76rPGzqYdALsfvsmwv7Q3/bEmjVTr0tQE=
    -DomainKey-Signature: a=rsa-sha1; c=nofws;
    -        d=gmail.com; s=gamma;
    -        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
    -         :content-type:content-transfer-encoding;
    -        b=jze7KSMkUGilfVCXKXaaXMi5NAtGdMQOtVZZfRNyGSy68xOd2sxefjyyig3EfT6Nv6
    -         Q3opUMsT96Q6zjZND55w446kTh2uBTNz4d3NwIeEWJnG3xcliRQu/mXPFp8AzPI3CefL
    -         1ornJLM1eQ2XyuZA73jem+SJtfdHUcSD1UhgI=
    -MIME-Version: 1.0
    -Received: by 10.239.157.147 with SMTP id q19mr601802hbc.61.1249316043185; Mon, 
    -    03 Aug 2009 09:14:03 -0700 (PDT)
    -In-Reply-To: <20090803014825.GA1326@rivest.dlitz.net>
    -References: <20090803014825.GA1326@rivest.dlitz.net>
    -From: Paul Swartz <paulswartz@gmail.com>
    -Date: Mon, 3 Aug 2009 12:13:43 -0400
    -Message-ID: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -Subject: Re: PyCrypto license clarification
    -To: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -Content-Type: text/plain; charset=UTF-8
    -Content-Transfer-Encoding: quoted-printable
    -Status: RO
    -X-Status: A
    -Content-Length: 1450
    -
    -On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wro=
    -te:
    -> Hi Paul,
    ->
    -> I am the new maintainer of the Python Cryptography Toolkit, and I am
    -> working on a new release at http://www.pycrypto.org/.
    -
    -That's great!
    -
    -> I understand that you have made contributions to PyCrypto, under nickname
    -> "z3p" and/or other names. =C2=A0May I, on your behalf, dedicate to the pu=
    -blic
    -> domain all your contributions to PyCrypto, with the following notice?
    ->
    -> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -> =C2=A0The contents of this file are dedicated to the public domain. =C2=
    -=A0To the
    -> =C2=A0extent that dedication to the public domain is not available, every=
    -one
    -> =C2=A0is granted a worldwide, perpetual, royalty-free, non-exclusive lice=
    -nse
    -> =C2=A0to exercise all rights associated with the contents of this file fo=
    -r
    -> =C2=A0any purpose whatsoever. =C2=A0No rights are reserved.
    -> =C2=A0=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
    -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    -
    -Yes, that's fine.  Good luck with the new release!
    -
    --p
    ---=20
    -Paul Swartz
    -paulswartz at gmail dot com
    -http://paulswartz.net/
    -AIM: z3penguin
    -
    -
    -From dlitz@dlitz.net Mon Aug  3 14:35:01 2009
    -Date: Mon, 3 Aug 2009 14:35:01 -0400
    -From: "Dwayne C. Litzenberger" <dlitz@dlitz.net>
    -To: Paul Swartz <paulswartz@gmail.com>
    -Subject: Re: PyCrypto license clarification
    -Message-ID: <20090803183501.GA17472@rivest.dlitz.net>
    -References: <20090803014825.GA1326@rivest.dlitz.net> <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -MIME-Version: 1.0
    -Content-Type: text/plain; charset=iso-8859-1; format=flowed
    -Content-Disposition: inline
    -Content-Transfer-Encoding: 8bit
    -In-Reply-To: <324cfb540908030913x71d331f0kb069052f74e5ae6b@mail.gmail.com>
    -X-Primary-Address: dlitz@dlitz.net
    -X-Homepage: http://www.dlitz.net/
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=19E11FE8B3CFF273ED174A24928CEC1339C25CF7 (only for key signing);
    -    preference=unprotected
    -X-OpenPGP: url=http://www.dlitz.net/go/gpgkey/;
    -    id=4B2AFD82FC7D9E3838D9179F1C11B877E7804B45 (2008);
    -    preference=signencrypt
    -User-Agent: Mutt/1.5.16 (2007-06-11)
    -Status: RO
    -Content-Length: 1250
    -
    -On Mon, Aug 03, 2009 at 12:13:43PM -0400, Paul Swartz wrote:
    ->On Sun, Aug 2, 2009 at 9:48 PM, Dwayne C. Litzenberger<dlitz@dlitz.net> wrote:
    ->> Hi Paul,
    ->>
    ->> I am the new maintainer of the Python Cryptography Toolkit, and I am
    ->> working on a new release at http://www.pycrypto.org/.
    ->
    ->That's great!
    ->
    ->> I understand that you have made contributions to PyCrypto, under nickname
    ->> "z3p" and/or other names. �May I, on your behalf, dedicate to the public
    ->> domain all your contributions to PyCrypto, with the following notice?
    ->>
    ->> �=======================================================================
    ->> �The contents of this file are dedicated to the public domain. �To the
    ->> �extent that dedication to the public domain is not available, everyone
    ->> �is granted a worldwide, perpetual, royalty-free, non-exclusive license
    ->> �to exercise all rights associated with the contents of this file for
    ->> �any purpose whatsoever. �No rights are reserved.
    ->> �=======================================================================
    ->
    ->Yes, that's fine.  Good luck with the new release!
    -
    -Perfect!  Thanks for the quick response!
    -
    --- 
    -Dwayne C. Litzenberger <dlitz@dlitz.net>
    -  Key-signing key   - 19E1 1FE8 B3CF F273 ED17  4A24 928C EC13 39C2 5CF7
    -
    -
    -
    -==========================================================
    -
    -
    - - -
    - -
    -

    billiard - 3.3.0.20 -

    - - - - - -
    Copyright (c) 2006-2008, R Oudkerk and Contributors
    -
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions
    -are met:
    -
    -1. Redistributions of source code must retain the above copyright
    -   notice, this list of conditions and the following disclaimer.
    -2. Redistributions in binary form must reproduce the above copyright
    -   notice, this list of conditions and the following disclaimer in the
    -   documentation and/or other materials provided with the distribution.
    -3. Neither the name of author nor the names of any contributors may be
    -   used to endorse or promote products derived from this software
    -   without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    -

    oauthlib - 1.0.3 -

    - - - - - - -
    - -
    -

    kombu - 3.0.26 -

    - - - - - -
    Copyright (c) 2015 Ask Solem & contributors.  All rights reserved.
    -Copyright (c) 2012-2014 GoPivotal Inc & contributors.  All rights reserved.
    -Copyright (c) 2009-2012, Ask Solem & contributors.  All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -    * Redistributions of source code must retain the above copyright
    -      notice, this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -      notice, this list of conditions and the following disclaimer in the
    -      documentation and/or other materials provided with the distribution.
    -    * Neither the name of Ask Solem nor the
    -      names of its contributors may be used to endorse or promote products
    -      derived from this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Ask Solem OR CONTRIBUTORS
    -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    django-reversion - 1.8.7 -

    - - - - - -
    Copyright (c) 2009, David Hall.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    1. Redistributions of source code must retain the above copyright notice,
    -       this list of conditions and the following disclaimer.
    -
    -    2. Redistributions in binary form must reproduce the above copyright
    -       notice, this list of conditions and the following disclaimer in the
    -       documentation and/or other materials provided with the distribution.
    -
    -    3. Neither the name of David Hall nor the names of its contributors may be
    -       used to endorse or promote products derived from this software without
    -       specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    django-extensions - 1.5.7 -

    - - -
    Copyright (c) 2007 Michael Trier
    - - - - -
    Copyright (c) 2007 Michael Trier
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    - - -
    - -
    -

    requests - 2.7.0 -

    - - - -
    Copyright 2013 Kenneth Reitz
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    django-haystack-panel - 0.2.1 -

    - - -
    Copyright (c) 2012, Chris Streeter
    - - - - -
    Copyright (c) 2012, Chris Streeter
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    -
    - - -
    - -
    -

    Supervisor - 3.1.3 -

    - - - -
    Supervisor is Copyright (c) 2006-2013 Agendaless Consulting and Contributors.
    -(http://www.agendaless.com), All Rights Reserved
    -
    -  This software is subject to the provisions of the license at
    -  http://www.repoze.org/LICENSE.txt . A copy of this license should
    -  accompany this distribution.  THIS SOFTWARE IS PROVIDED "AS IS" AND
    -  ANY AND ALL EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED, INCLUDING,
    -  BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE,
    -  MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS FOR A PARTICULAR
    -  PURPOSE.
    -
    -TrackRefs code Copyright (c) 2007 Zope Corporation and Contributors
    -
    -  This software is subject to the provisions of the Zope Public License,
    -  Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
    -  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
    -  WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -  WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    -  FOR A PARTICULAR PURPOSE.
    -
    -medusa was (is?) Copyright (c) Sam Rushing.
    -
    -http_client.py code Copyright (c) by Daniel Krech, http://eikeon.com/.
    -
    -  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    -  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    -  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    -  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    -  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    -  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    -  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -
    - - - -
    Supervisor is licensed under the following license:
    -
    -  A copyright notice accompanies this license document that identifies
    -  the copyright holders.
    -
    -  Redistribution and use in source and binary forms, with or without
    -  modification, are permitted provided that the following conditions are
    -  met:
    -
    -  1.  Redistributions in source code must retain the accompanying
    -      copyright notice, this list of conditions, and the following
    -      disclaimer.
    -
    -  2.  Redistributions in binary form must reproduce the accompanying
    -      copyright notice, this list of conditions, and the following
    -      disclaimer in the documentation and/or other materials provided
    -      with the distribution.
    -
    -  3.  Names of the copyright holders must not be used to endorse or
    -      promote products derived from this software without prior
    -      written permission from the copyright holders.
    -
    -  4.  If any files are modified, you must cause the modified files to
    -      carry prominent notices stating that you changed the files and
    -      the date of any change.
    -
    -  Disclaimer
    -
    -    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND
    -    ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
    -    TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
    -    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    -    HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    -    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
    -    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    -    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    -    ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
    -    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
    -    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -    SUCH DAMAGE.
    -
    -http_client.py code is based on code by Daniel Krech, which was
    -released under this license:
    -
    -  LICENSE AGREEMENT FOR RDFLIB 0.9.0 THROUGH 2.3.1
    -  ------------------------------------------------
    -  Copyright (c) 2002-2005, Daniel Krech, http://eikeon.com/
    -  All rights reserved.
    -
    -  Redistribution and use in source and binary forms, with or without
    -  modification, are permitted provided that the following conditions are
    -  met:
    -
    -    * Redistributions of source code must retain the above copyright
    -  notice, this list of conditions and the following disclaimer.
    -
    -    * Redistributions in binary form must reproduce the above
    -  copyright notice, this list of conditions and the following
    -  disclaimer in the documentation and/or other materials provided
    -  with the distribution.
    -
    -    * Neither the name of Daniel Krech nor the names of its
    -  contributors may be used to endorse or promote products derived
    -  from this software without specific prior written permission.
    -
    -  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    -  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    -  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    -  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    -  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    -  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    -  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -Medusa, the asynchronous communications framework upon which
    -supervisor's server and client code is based, was created by Sam
    -Rushing:
    -
    -  Medusa was once distributed under a 'free for non-commercial use'
    -  license, but in May of 2000 Sam Rushing changed the license to be
    -  identical to the standard Python license at the time.  The standard
    -  Python license has always applied to the core components of Medusa,
    -  this change just frees up the rest of the system, including the http
    -  server, ftp server, utilities, etc.  Medusa is therefore under the
    -  following license:
    -
    -  ==============================
    -  Permission to use, copy, modify, and distribute this software and
    -  its documentation for any purpose and without fee is hereby granted,
    -  provided that the above copyright notice appear in all copies and
    -  that both that copyright notice and this permission notice appear in
    -  supporting documentation, and that the name of Sam Rushing not be
    -  used in advertising or publicity pertaining to distribution of the
    -  software without specific, written prior permission.
    -
    -  SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
    -  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
    -  NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR
    -  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
    -  OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    -  NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    -  WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -  ==============================
    -
    -Some software in this distribution is released under the Zope Public
    -License (as marked in its file header):
    -
    -  Zope Public License (ZPL) Version 2.1
    -  -------------------------------------
    -
    -  A copyright notice accompanies this license document that
    -  identifies the copyright holders.
    -
    -  This license has been certified as open source. It has also
    -  been designated as GPL compatible by the Free Software
    -  Foundation (FSF).
    -
    -  Redistribution and use in source and binary forms, with or
    -  without modification, are permitted provided that the
    -  following conditions are met:
    -
    -  1. Redistributions in source code must retain the
    -     accompanying copyright notice, this list of conditions,
    -     and the following disclaimer.
    -
    -  2. Redistributions in binary form must reproduce the accompanying
    -     copyright notice, this list of conditions, and the
    -     following disclaimer in the documentation and/or other
    -     materials provided with the distribution.
    -
    -  3. Names of the copyright holders must not be used to
    -     endorse or promote products derived from this software
    -     without prior written permission from the copyright
    -     holders.
    -
    -  4. The right to distribute this software or to use it for
    -     any purpose does not give you the right to use
    -     Servicemarks (sm) or Trademarks (tm) of the copyright
    -     holders. Use of them is covered by separate agreement
    -     with the copyright holders.
    -
    -  5. If any files are modified, you must cause the modified
    -     files to carry prominent notices stating that you changed
    -     the files and the date of any change.
    -
    -  Disclaimer
    -
    -    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
    -    AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
    -    NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    -    AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
    -    NO EVENT SHALL THE COPYRIGHT HOLDERS BE
    -    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    -    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    -    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    -    OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
    -    DAMAGE.
    - - -
    - -
    -

    Whoosh - 2.7.0 -

    - - - - - - -
    - -
    -

    django-tastypie - 0.12.2 -

    - - - - - -
    Copyright (c) 2010, Daniel Lindsley
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -    * Redistributions of source code must retain the above copyright
    -      notice, this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -      notice, this list of conditions and the following disclaimer in the
    -      documentation and/or other materials provided with the distribution.
    -    * Neither the name of the tastypie nor the
    -      names of its contributors may be used to endorse or promote products
    -      derived from this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL tastypie BE LIABLE FOR ANY
    -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    python-mimeparse - 0.1.4 -

    - - -
    Copyright (c) 2010 Joe Gregorio
    - - - - -
    Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in
    -all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    -THE SOFTWARE.
    - - -
    - -
    -

    amqp - 1.4.6 -

    - - - - - -
    		  GNU LESSER GENERAL PUBLIC LICENSE
    -		       Version 2.1, February 1999
    -
    - Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    - 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -[This is the first released version of the Lesser GPL.  It also counts
    - as the successor of the GNU Library Public License, version 2, hence
    - the version number 2.1.]
    -
    -			    Preamble
    -
    -  The licenses for most software are designed to take away your
    -freedom to share and change it.  By contrast, the GNU General Public
    -Licenses are intended to guarantee your freedom to share and change
    -free software--to make sure the software is free for all its users.
    -
    -  This license, the Lesser General Public License, applies to some
    -specially designated software packages--typically libraries--of the
    -Free Software Foundation and other authors who decide to use it.  You
    -can use it too, but we suggest you first think carefully about whether
    -this license or the ordinary General Public License is the better
    -strategy to use in any particular case, based on the explanations below.
    -
    -  When we speak of free software, we are referring to freedom of use,
    -not price.  Our General Public Licenses are designed to make sure that
    -you have the freedom to distribute copies of free software (and charge
    -for this service if you wish); that you receive source code or can get
    -it if you want it; that you can change the software and use pieces of
    -it in new free programs; and that you are informed that you can do
    -these things.
    -
    -  To protect your rights, we need to make restrictions that forbid
    -distributors to deny you these rights or to ask you to surrender these
    -rights.  These restrictions translate to certain responsibilities for
    -you if you distribute copies of the library or if you modify it.
    -
    -  For example, if you distribute copies of the library, whether gratis
    -or for a fee, you must give the recipients all the rights that we gave
    -you.  You must make sure that they, too, receive or can get the source
    -code.  If you link other code with the library, you must provide
    -complete object files to the recipients, so that they can relink them
    -with the library after making changes to the library and recompiling
    -it.  And you must show them these terms so they know their rights.
    -
    -  We protect your rights with a two-step method: (1) we copyright the
    -library, and (2) we offer you this license, which gives you legal
    -permission to copy, distribute and/or modify the library.
    -
    -  To protect each distributor, we want to make it very clear that
    -there is no warranty for the free library.  Also, if the library is
    -modified by someone else and passed on, the recipients should know
    -that what they have is not the original version, so that the original
    -author's reputation will not be affected by problems that might be
    -introduced by others.
    -
    -  Finally, software patents pose a constant threat to the existence of
    -any free program.  We wish to make sure that a company cannot
    -effectively restrict the users of a free program by obtaining a
    -restrictive license from a patent holder.  Therefore, we insist that
    -any patent license obtained for a version of the library must be
    -consistent with the full freedom of use specified in this license.
    -
    -  Most GNU software, including some libraries, is covered by the
    -ordinary GNU General Public License.  This license, the GNU Lesser
    -General Public License, applies to certain designated libraries, and
    -is quite different from the ordinary General Public License.  We use
    -this license for certain libraries in order to permit linking those
    -libraries into non-free programs.
    -
    -  When a program is linked with a library, whether statically or using
    -a shared library, the combination of the two is legally speaking a
    -combined work, a derivative of the original library.  The ordinary
    -General Public License therefore permits such linking only if the
    -entire combination fits its criteria of freedom.  The Lesser General
    -Public License permits more lax criteria for linking other code with
    -the library.
    -
    -  We call this license the "Lesser" General Public License because it
    -does Less to protect the user's freedom than the ordinary General
    -Public License.  It also provides other free software developers Less
    -of an advantage over competing non-free programs.  These disadvantages
    -are the reason we use the ordinary General Public License for many
    -libraries.  However, the Lesser license provides advantages in certain
    -special circumstances.
    -
    -  For example, on rare occasions, there may be a special need to
    -encourage the widest possible use of a certain library, so that it becomes
    -a de-facto standard.  To achieve this, non-free programs must be
    -allowed to use the library.  A more frequent case is that a free
    -library does the same job as widely used non-free libraries.  In this
    -case, there is little to gain by limiting the free library to free
    -software only, so we use the Lesser General Public License.
    -
    -  In other cases, permission to use a particular library in non-free
    -programs enables a greater number of people to use a large body of
    -free software.  For example, permission to use the GNU C Library in
    -non-free programs enables many more people to use the whole GNU
    -operating system, as well as its variant, the GNU/Linux operating
    -system.
    -
    -  Although the Lesser General Public License is Less protective of the
    -users' freedom, it does ensure that the user of a program that is
    -linked with the Library has the freedom and the wherewithal to run
    -that program using a modified version of the Library.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.  Pay close attention to the difference between a
    -"work based on the library" and a "work that uses the library".  The
    -former contains code derived from the library, whereas the latter must
    -be combined with the library in order to run.
    -
    -		  GNU LESSER GENERAL PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. This License Agreement applies to any software library or other
    -program which contains a notice placed by the copyright holder or
    -other authorized party saying it may be distributed under the terms of
    -this Lesser General Public License (also called "this License").
    -Each licensee is addressed as "you".
    -
    -  A "library" means a collection of software functions and/or data
    -prepared so as to be conveniently linked with application programs
    -(which use some of those functions and data) to form executables.
    -
    -  The "Library", below, refers to any such software library or work
    -which has been distributed under these terms.  A "work based on the
    -Library" means either the Library or any derivative work under
    -copyright law: that is to say, a work containing the Library or a
    -portion of it, either verbatim or with modifications and/or translated
    -straightforwardly into another language.  (Hereinafter, translation is
    -included without limitation in the term "modification".)
    -
    -  "Source code" for a work means the preferred form of the work for
    -making modifications to it.  For a library, complete source code means
    -all the source code for all modules it contains, plus any associated
    -interface definition files, plus the scripts used to control compilation
    -and installation of the library.
    -
    -  Activities other than copying, distribution and modification are not
    -covered by this License; they are outside its scope.  The act of
    -running a program using the Library is not restricted, and output from
    -such a program is covered only if its contents constitute a work based
    -on the Library (independent of the use of the Library in a tool for
    -writing it).  Whether that is true depends on what the Library does
    -and what the program that uses the Library does.
    -
    -  1. You may copy and distribute verbatim copies of the Library's
    -complete source code as you receive it, in any medium, provided that
    -you conspicuously and appropriately publish on each copy an
    -appropriate copyright notice and disclaimer of warranty; keep intact
    -all the notices that refer to this License and to the absence of any
    -warranty; and distribute a copy of this License along with the
    -Library.
    -
    -  You may charge a fee for the physical act of transferring a copy,
    -and you may at your option offer warranty protection in exchange for a
    -fee.
    -
    -  2. You may modify your copy or copies of the Library or any portion
    -of it, thus forming a work based on the Library, and copy and
    -distribute such modifications or work under the terms of Section 1
    -above, provided that you also meet all of these conditions:
    -
    -    a) The modified work must itself be a software library.
    -
    -    b) You must cause the files modified to carry prominent notices
    -    stating that you changed the files and the date of any change.
    -
    -    c) You must cause the whole of the work to be licensed at no
    -    charge to all third parties under the terms of this License.
    -
    -    d) If a facility in the modified Library refers to a function or a
    -    table of data to be supplied by an application program that uses
    -    the facility, other than as an argument passed when the facility
    -    is invoked, then you must make a good faith effort to ensure that,
    -    in the event an application does not supply such function or
    -    table, the facility still operates, and performs whatever part of
    -    its purpose remains meaningful.
    -
    -    (For example, a function in a library to compute square roots has
    -    a purpose that is entirely well-defined independent of the
    -    application.  Therefore, Subsection 2d requires that any
    -    application-supplied function or table used by this function must
    -    be optional: if the application does not supply it, the square
    -    root function must still compute square roots.)
    -
    -These requirements apply to the modified work as a whole.  If
    -identifiable sections of that work are not derived from the Library,
    -and can be reasonably considered independent and separate works in
    -themselves, then this License, and its terms, do not apply to those
    -sections when you distribute them as separate works.  But when you
    -distribute the same sections as part of a whole which is a work based
    -on the Library, the distribution of the whole must be on the terms of
    -this License, whose permissions for other licensees extend to the
    -entire whole, and thus to each and every part regardless of who wrote
    -it.
    -
    -Thus, it is not the intent of this section to claim rights or contest
    -your rights to work written entirely by you; rather, the intent is to
    -exercise the right to control the distribution of derivative or
    -collective works based on the Library.
    -
    -In addition, mere aggregation of another work not based on the Library
    -with the Library (or with a work based on the Library) on a volume of
    -a storage or distribution medium does not bring the other work under
    -the scope of this License.
    -
    -  3. You may opt to apply the terms of the ordinary GNU General Public
    -License instead of this License to a given copy of the Library.  To do
    -this, you must alter all the notices that refer to this License, so
    -that they refer to the ordinary GNU General Public License, version 2,
    -instead of to this License.  (If a newer version than version 2 of the
    -ordinary GNU General Public License has appeared, then you can specify
    -that version instead if you wish.)  Do not make any other change in
    -these notices.
    -
    -  Once this change is made in a given copy, it is irreversible for
    -that copy, so the ordinary GNU General Public License applies to all
    -subsequent copies and derivative works made from that copy.
    -
    -  This option is useful when you wish to copy part of the code of
    -the Library into a program that is not a library.
    -
    -  4. You may copy and distribute the Library (or a portion or
    -derivative of it, under Section 2) in object code or executable form
    -under the terms of Sections 1 and 2 above provided that you accompany
    -it with the complete corresponding machine-readable source code, which
    -must be distributed under the terms of Sections 1 and 2 above on a
    -medium customarily used for software interchange.
    -
    -  If distribution of object code is made by offering access to copy
    -from a designated place, then offering equivalent access to copy the
    -source code from the same place satisfies the requirement to
    -distribute the source code, even though third parties are not
    -compelled to copy the source along with the object code.
    -
    -  5. A program that contains no derivative of any portion of the
    -Library, but is designed to work with the Library by being compiled or
    -linked with it, is called a "work that uses the Library".  Such a
    -work, in isolation, is not a derivative work of the Library, and
    -therefore falls outside the scope of this License.
    -
    -  However, linking a "work that uses the Library" with the Library
    -creates an executable that is a derivative of the Library (because it
    -contains portions of the Library), rather than a "work that uses the
    -library".  The executable is therefore covered by this License.
    -Section 6 states terms for distribution of such executables.
    -
    -  When a "work that uses the Library" uses material from a header file
    -that is part of the Library, the object code for the work may be a
    -derivative work of the Library even though the source code is not.
    -Whether this is true is especially significant if the work can be
    -linked without the Library, or if the work is itself a library.  The
    -threshold for this to be true is not precisely defined by law.
    -
    -  If such an object file uses only numerical parameters, data
    -structure layouts and accessors, and small macros and small inline
    -functions (ten lines or less in length), then the use of the object
    -file is unrestricted, regardless of whether it is legally a derivative
    -work.  (Executables containing this object code plus portions of the
    -Library will still fall under Section 6.)
    -
    -  Otherwise, if the work is a derivative of the Library, you may
    -distribute the object code for the work under the terms of Section 6.
    -Any executables containing that work also fall under Section 6,
    -whether or not they are linked directly with the Library itself.
    -
    -  6. As an exception to the Sections above, you may also combine or
    -link a "work that uses the Library" with the Library to produce a
    -work containing portions of the Library, and distribute that work
    -under terms of your choice, provided that the terms permit
    -modification of the work for the customer's own use and reverse
    -engineering for debugging such modifications.
    -
    -  You must give prominent notice with each copy of the work that the
    -Library is used in it and that the Library and its use are covered by
    -this License.  You must supply a copy of this License.  If the work
    -during execution displays copyright notices, you must include the
    -copyright notice for the Library among them, as well as a reference
    -directing the user to the copy of this License.  Also, you must do one
    -of these things:
    -
    -    a) Accompany the work with the complete corresponding
    -    machine-readable source code for the Library including whatever
    -    changes were used in the work (which must be distributed under
    -    Sections 1 and 2 above); and, if the work is an executable linked
    -    with the Library, with the complete machine-readable "work that
    -    uses the Library", as object code and/or source code, so that the
    -    user can modify the Library and then relink to produce a modified
    -    executable containing the modified Library.  (It is understood
    -    that the user who changes the contents of definitions files in the
    -    Library will not necessarily be able to recompile the application
    -    to use the modified definitions.)
    -
    -    b) Use a suitable shared library mechanism for linking with the
    -    Library.  A suitable mechanism is one that (1) uses at run time a
    -    copy of the library already present on the user's computer system,
    -    rather than copying library functions into the executable, and (2)
    -    will operate properly with a modified version of the library, if
    -    the user installs one, as long as the modified version is
    -    interface-compatible with the version that the work was made with.
    -
    -    c) Accompany the work with a written offer, valid for at
    -    least three years, to give the same user the materials
    -    specified in Subsection 6a, above, for a charge no more
    -    than the cost of performing this distribution.
    -
    -    d) If distribution of the work is made by offering access to copy
    -    from a designated place, offer equivalent access to copy the above
    -    specified materials from the same place.
    -
    -    e) Verify that the user has already received a copy of these
    -    materials or that you have already sent this user a copy.
    -
    -  For an executable, the required form of the "work that uses the
    -Library" must include any data and utility programs needed for
    -reproducing the executable from it.  However, as a special exception,
    -the materials to be distributed need not include anything that is
    -normally distributed (in either source or binary form) with the major
    -components (compiler, kernel, and so on) of the operating system on
    -which the executable runs, unless that component itself accompanies
    -the executable.
    -
    -  It may happen that this requirement contradicts the license
    -restrictions of other proprietary libraries that do not normally
    -accompany the operating system.  Such a contradiction means you cannot
    -use both them and the Library together in an executable that you
    -distribute.
    -
    -  7. You may place library facilities that are a work based on the
    -Library side-by-side in a single library together with other library
    -facilities not covered by this License, and distribute such a combined
    -library, provided that the separate distribution of the work based on
    -the Library and of the other library facilities is otherwise
    -permitted, and provided that you do these two things:
    -
    -    a) Accompany the combined library with a copy of the same work
    -    based on the Library, uncombined with any other library
    -    facilities.  This must be distributed under the terms of the
    -    Sections above.
    -
    -    b) Give prominent notice with the combined library of the fact
    -    that part of it is a work based on the Library, and explaining
    -    where to find the accompanying uncombined form of the same work.
    -
    -  8. You may not copy, modify, sublicense, link with, or distribute
    -the Library except as expressly provided under this License.  Any
    -attempt otherwise to copy, modify, sublicense, link with, or
    -distribute the Library is void, and will automatically terminate your
    -rights under this License.  However, parties who have received copies,
    -or rights, from you under this License will not have their licenses
    -terminated so long as such parties remain in full compliance.
    -
    -  9. You are not required to accept this License, since you have not
    -signed it.  However, nothing else grants you permission to modify or
    -distribute the Library or its derivative works.  These actions are
    -prohibited by law if you do not accept this License.  Therefore, by
    -modifying or distributing the Library (or any work based on the
    -Library), you indicate your acceptance of this License to do so, and
    -all its terms and conditions for copying, distributing or modifying
    -the Library or works based on it.
    -
    -  10. Each time you redistribute the Library (or any work based on the
    -Library), the recipient automatically receives a license from the
    -original licensor to copy, distribute, link with or modify the Library
    -subject to these terms and conditions.  You may not impose any further
    -restrictions on the recipients' exercise of the rights granted herein.
    -You are not responsible for enforcing compliance by third parties with
    -this License.
    -
    -  11. If, as a consequence of a court judgment or allegation of patent
    -infringement or for any other reason (not limited to patent issues),
    -conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot
    -distribute so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you
    -may not distribute the Library at all.  For example, if a patent
    -license would not permit royalty-free redistribution of the Library by
    -all those who receive copies directly or indirectly through you, then
    -the only way you could satisfy both it and this License would be to
    -refrain entirely from distribution of the Library.
    -
    -If any portion of this section is held invalid or unenforceable under any
    -particular circumstance, the balance of the section is intended to apply,
    -and the section as a whole is intended to apply in other circumstances.
    -
    -It is not the purpose of this section to induce you to infringe any
    -patents or other property right claims or to contest validity of any
    -such claims; this section has the sole purpose of protecting the
    -integrity of the free software distribution system which is
    -implemented by public license practices.  Many people have made
    -generous contributions to the wide range of software distributed
    -through that system in reliance on consistent application of that
    -system; it is up to the author/donor to decide if he or she is willing
    -to distribute software through any other system and a licensee cannot
    -impose that choice.
    -
    -This section is intended to make thoroughly clear what is believed to
    -be a consequence of the rest of this License.
    -
    -  12. If the distribution and/or use of the Library is restricted in
    -certain countries either by patents or by copyrighted interfaces, the
    -original copyright holder who places the Library under this License may add
    -an explicit geographical distribution limitation excluding those countries,
    -so that distribution is permitted only in or among countries not thus
    -excluded.  In such case, this License incorporates the limitation as if
    -written in the body of this License.
    -
    -  13. The Free Software Foundation may publish revised and/or new
    -versions of the Lesser General Public License from time to time.
    -Such new versions will be similar in spirit to the present version,
    -but may differ in detail to address new problems or concerns.
    -
    -Each version is given a distinguishing version number.  If the Library
    -specifies a version number of this License which applies to it and
    -"any later version", you have the option of following the terms and
    -conditions either of that version or of any later version published by
    -the Free Software Foundation.  If the Library does not specify a
    -license version number, you may choose any version ever published by
    -the Free Software Foundation.
    -
    -  14. If you wish to incorporate parts of the Library into other free
    -programs whose distribution conditions are incompatible with these,
    -write to the author to ask for permission.  For software which is
    -copyrighted by the Free Software Foundation, write to the Free
    -Software Foundation; we sometimes make exceptions for this.  Our
    -decision will be guided by the two goals of preserving the free status
    -of all derivatives of our free software and of promoting the sharing
    -and reuse of software generally.
    -
    -			    NO WARRANTY
    -
    -  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    -LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    -
    -  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    -DAMAGES.
    -
    -		     END OF TERMS AND CONDITIONS
    - - -
    - -
    -

    requests-oauthlib - 0.5.0 -

    - - - - - -
    Copyright (c) 2013 Kenneth Reitz.
    -
    -Permission to use, copy, modify, and/or distribute this software for any
    -purpose with or without fee is hereby granted, provided that the above
    -copyright notice and this permission notice appear in all copies.
    -
    -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    -
    - - -
    - -
    -

    Grappelli - 2.7.1 -

    - - - - - -
    django-grappelli
    -----------------
    -
    -Copyright (c) Patrick Kranzlmueller, Axel Swoboda (vonautomatisch werkstaetten),
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice,
    -this list of conditions and the following disclaimer.
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation and/or
    -other materials provided with the distribution.
    -3. Neither the name of FileBrowser nor the names of its contributors may be used
    -to endorse or promote products derived from this software without specific prior
    -written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
    -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
    -THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -django-grappelli contains code from django-admin-tools
    -------------------------------------------------------
    -
    -copyright (c) 2010 David JEAN LOUIS
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy
    -of this software and associated documentation files (the "Software"), to deal
    -in the Software without restriction, including without limitation the rights
    -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    -copies of the Software, and to permit persons to whom the Software is
    -furnished to do so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -SOFTWARE.
    - - -
    - -
    -

    sqlparse - 0.1.16 -

    - - -
    Copyright (c) 2009, Andi Albrecht 
    - - - - -
    Copyright (c) 2009, Andi Albrecht <albrecht.andi@gmail.com>
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -      this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright notice,
    -      this list of conditions and the following disclaimer in the documentation
    -      and/or other materials provided with the distribution.
    -    * Neither the name of the authors nor the names of its contributors may be
    -      used to endorse or promote products derived from this software without
    -      specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    - - -
    - -
    -

    elasticsearch-py - 1.6.0 -

    - - - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    - - -
    - -
    -

    virtualenv - 12.0.5 -

    - - -
    Copyright (c) 2007 Ian Bicking and Contributors
    -Copyright (c) 2009 Ian Bicking, The Open Planning Project
    -Copyright (c) 2011-2015 The virtualenv developers
    - - - - -
    Copyright (c) 2007 Ian Bicking and Contributors
    -Copyright (c) 2009 Ian Bicking, The Open Planning Project
    -Copyright (c) 2011-2014 The virtualenv developers
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    - - -
    - -
    -

    meld3 - 1.0.2 -

    - - - - - -
    Zope Public License (ZPL) Version 2.1
    --------------------------------------
    -
    -A copyright notice accompanies this license document that
    -identifies the copyright holders.
    -
    -This license has been certified as open source. It has also
    -been designated as GPL compatible by the Free Software
    -Foundation (FSF).
    -
    -Redistribution and use in source and binary forms, with or
    -without modification, are permitted provided that the
    -following conditions are met:
    -
    -1. Redistributions in source code must retain the
    -   accompanying copyright notice, this list of conditions,
    -   and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the accompanying
    -   copyright notice, this list of conditions, and the
    -   following disclaimer in the documentation and/or other
    -   materials provided with the distribution.
    -
    -3. Names of the copyright holders must not be used to
    -   endorse or promote products derived from this software
    -   without prior written permission from the copyright
    -   holders.
    -
    -4. The right to distribute this software or to use it for
    -   any purpose does not give you the right to use
    -   Servicemarks (sm) or Trademarks (tm) of the copyright
    -   holders. Use of them is covered by separate agreement
    -   with the copyright holders.
    -
    -5. If any files are modified, you must cause the modified
    -   files to carry prominent notices stating that you changed
    -   the files and the date of any change.
    -
    -Disclaimer
    -
    -  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
    -  AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
    -  NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    -  AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
    -  NO EVENT SHALL THE COPYRIGHT HOLDERS BE
    -  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    -  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    -  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    -  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    -  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
    -  DAMAGE.
    - - -
    - -
    -

    pyaml - 15.8.2 -

    - - -
    Copyright (C) 2012 Mike Kazantsev 
    - - - - -
                DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    -                    Version 2, December 2004
    -
    - Copyright (C) 2012 Mike Kazantsev <mk.fraggod@gmail.com>
    -
    - Everyone is permitted to copy and distribute verbatim or modified
    - copies of this license document, and changing it is allowed as long
    - as the name is changed.
    -
    -            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. You just DO WHAT THE FUCK YOU WANT TO.
    - - -
    - -
    -

    python-openid - 2.2.5 -

    - - - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    - - -
    - -
    -

    pip - 7.1.2 -

    - - - - - -
    Copyright (c) 2008-2014 The pip developers (see AUTHORS.txt file)
    -
    -Permission is hereby granted, free of charge, to any person obtaining
    -a copy of this software and associated documentation files (the
    -"Software"), to deal in the Software without restriction, including
    -without limitation the rights to use, copy, modify, merge, publish,
    -distribute, sublicense, and/or sell copies of the Software, and to
    -permit persons to whom the Software is furnished to do so, subject to
    -the following conditions:
    -
    -The above copyright notice and this permission notice shall be
    -included in all copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    -
    -
    -License for Bundle of CA Root Certificates (pip/cacert.pem)
    -===========================================================
    -
    -This library is free software; you can redistribute it and/or
    -modify it under the terms of the GNU Lesser General Public
    -License as published by the Free Software Foundation; either
    -version 2.1 of the License, or (at your option) any later version.
    -
    -This library is distributed in the hope that it will be useful,
    -but WITHOUT ANY WARRANTY; without even the implied warranty of
    -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -Lesser General Public License for more details.
    -
    -You should have received a copy of the GNU Lesser General Public
    -License along with this library; if not, write to the Free Software
    -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
    -02110-1301
    -
    - - -
    - -
    -

    natsort - 4.0.3 -

    - - -
    Copyright (c) 2012-2014 Seth M. Morton
    - - - - -
    Copyright (c) 2012-2014 Seth M. Morton
    -
    -Permission is hereby granted, free of charge, to any person obtaining a copy of
    -this software and associated documentation files (the "Software"), to deal in
    -the Software without restriction, including without limitation the rights to
    -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    -of the Software, and to permit persons to whom the Software is furnished to do
    -so, subject to the following conditions:
    -
    -The above copyright notice and this permission notice shall be included in all
    -copies or substantial portions of the Software.
    -
    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    -SOFTWARE.
    - - -
    - -
    -

    wincertstore - 0.2 -

    - - - - - -
    PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
    ---------------------------------------------
    -
    -1. This LICENSE AGREEMENT is between the Python Software Foundation
    -("PSF"), and the Individual or Organization ("Licensee") accessing and
    -otherwise using this software ("Python") in source or binary form and
    -its associated documentation.
    -
    -2. Subject to the terms and conditions of this License Agreement, PSF
    -hereby grants Licensee a nonexclusive, royalty-free, world-wide
    -license to reproduce, analyze, test, perform and/or display publicly,
    -prepare derivative works, distribute, and otherwise use Python
    -alone or in any derivative version, provided, however, that PSF's
    -License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
    -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Python Software Foundation; 
    -All Rights Reserved" are retained in Python alone or in any derivative 
    -version prepared by Licensee.
    -
    -3. In the event Licensee prepares a derivative work that is based on
    -or incorporates Python or any part thereof, and wants to make
    -the derivative work available to others as provided herein, then
    -Licensee hereby agrees to include in any such work a brief summary of
    -the changes made to Python.
    -
    -4. PSF is making Python available to Licensee on an "AS IS"
    -basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
    -IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
    -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
    -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
    -INFRINGE ANY THIRD PARTY RIGHTS.
    -
    -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
    -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
    -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
    -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
    -
    -6. This License Agreement will automatically terminate upon a material
    -breach of its terms and conditions.
    -
    -7. Nothing in this License Agreement shall be deemed to create any
    -relationship of agency, partnership, or joint venture between PSF and
    -Licensee.  This License Agreement does not grant permission to use PSF
    -trademarks or trade name in a trademark sense to endorse or promote
    -products or services of Licensee, or any third party.
    -
    -8. By copying, installing or otherwise using Python, Licensee
    -agrees to be bound by the terms and conditions of this License
    -Agreement.
    -
    -
    - - -
    - -
    -

    JNA - 4.1.0 -

    - - -
    Copyright (c) 2007 Timothy Wall, All Rights Reserved
    - - -
    JNA is dual-licensed under 2 alternative Open Source/Free 
    -licenses: LGPL 2.1 and Apache License 2.0. (starting with
    -JNA version 4.0.0). 
    -
    -What this means is that one can choose either one of these
    -licenses (for purposes of re-distributing JNA; usually by
    -including it as one of jars another application or
    -library uses) by downloading corresponding jar file,
    -using it, and living happily everafter. 
    -
    -You may obtain a copy of the LGPL License at:
    -
    -http://www.gnu.org/licenses/licenses.html
    -
    -A copy is also included in the downloadable source code package
    -containing JNA, in file "LGPL2.1", under the same directory
    -as this file.
    -
    -You may obtain a copy of the ASL License at:
    -
    -http://www.apache.org/licenses/
    -
    -A copy is also included in the downloadable source code package
    -containing JNA, in file "ASL2.0", under the same directory
    -as this file.
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from unicode conversion examples available at
    -http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    -from those sources:
    -
    -/*
    - * Copyright 2001-2004 Unicode, Inc.
    - * 
    - * Disclaimer
    - * 
    - * This source code is provided as is by Unicode, Inc. No claims are
    - * made as to fitness for any particular purpose. No warranties of any
    - * kind are expressed or implied. The recipient agrees to determine
    - * applicability of information provided. If this file has been
    - * purchased on magnetic or optical media from Unicode, Inc., the
    - * sole remedy for any claim will be exchange of defective media
    - * within 90 days of receipt.
    - * 
    - * Limitations on Rights to Redistribute This Code
    - * 
    - * Unicode, Inc. hereby grants the right to freely use the information
    - * supplied in this file in the creation of products supporting the
    - * Unicode Standard, and to make copies of this file in any form
    - * for internal or external distribution as long as this notice
    - * remains attached.
    - */
    -
    -
    -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    -derived from Python 2.4.2 sources available at
    -http://www.python.org. Full license is here:
    -
    -  http://www.python.org/download/releases/2.4.2/license/
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from ICU (http://www.icu-project.org)
    -The full license is available here: 
    -  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    -
    -/*
    - * Copyright (C) 1999-2010, International Business Machines
    - * Corporation and others.  All Rights Reserved.
    - *
    - * Permission is hereby granted, free of charge, to any person obtaining a copy 
    - * of this software and associated documentation files (the "Software"), to deal
    - * in the Software without restriction, including without limitation the rights 
    - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    - * Software, and to permit persons to whom the Software is furnished to do so, 
    - * provided that the above copyright notice(s) and this permission notice appear 
    - * in all copies of the Software and that both the above copyright notice(s) and
    - * this permission notice appear in supporting documentation.
    - * 
    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    - *
    - * Except as contained in this notice, the name of a copyright holder shall not 
    - * be used in advertising or otherwise to promote the sale, use or other 
    - * dealings in this Software without prior written authorization of the 
    - * copyright holder.
    - */
    -
    -The following license applies to the Snowball stemmers:
    -
    -Copyright (c) 2001, Dr Martin Porter
    -Copyright (c) 2002, Richard Boulton
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -    * this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -    * notice, this list of conditions and the following disclaimer in the
    -    * documentation and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holders nor the names of its contributors
    -    * may be used to endorse or promote products derived from this software
    -    * without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The following license applies to the KStemmer:
    -
    -Copyright © 2003,
    -Center for Intelligent Information Retrieval,
    -University of Massachusetts, Amherst.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation
    -and/or other materials provided with the distribution.
    -
    -3. The names "Center for Intelligent Information Retrieval" and
    -"University of Massachusetts" must not be used to endorse or promote products
    -derived from this software without prior written permission. To obtain
    -permission, contact info@ciir.cs.umass.edu.
    -
    -THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    -

    Sigar - 1.6.4 -

    - - - -
    Hyperic SIGAR includes some third-party open source components 
    -in its distribution. The list below identifies the community or 
    -organization and links to their appropriate license terms.
    -
    -The Hyperic team would like to thank all the communities 
    -of the projects listed below for their contributions. 
    ----------------------------------------------------------------------
    -
    -The following components are included without modification:
    -
    -- log4j -
    -Information: http://logging.apache.org/
    -License: http://www.apache.org/licenses/LICENSE-2.0
    -
    -The following components are included with modification:
    -
    -- cpptasks -
    -Information: http://ant-contrib.sourceforge.net/
    -License: http://ant-contrib.sourceforge.net/LICENSE.txt
    -
    -- (portions of) APR -
    -Information: http://apr.apache.org/
    -License: http://www.apache.org/licenses/LICENSE-2.0
    -
    -- solaris get_mib2 -
    -Information: ftp://vic.cc.purdue.edu/pub/tools/unix/solaris/get_mib2/
    -License: within src/os/solaris/get_mib2.[ch]
    -
    -- getline by Chris Thewalt -
    -Information: http://tinyurl.com/r438r
    -License: within src/sigar_getline.c
    -
    -- PrintfFormat.java -
    -Information: http://java.sun.com/developer/technicalArticles/Programming/sprintf/PrintfFormat.java
    -License: within bindings/java/src/org/hyperic/sigar/util/PrintfFormat.java 
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from unicode conversion examples available at
    -http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    -from those sources:
    -
    -/*
    - * Copyright 2001-2004 Unicode, Inc.
    - * 
    - * Disclaimer
    - * 
    - * This source code is provided as is by Unicode, Inc. No claims are
    - * made as to fitness for any particular purpose. No warranties of any
    - * kind are expressed or implied. The recipient agrees to determine
    - * applicability of information provided. If this file has been
    - * purchased on magnetic or optical media from Unicode, Inc., the
    - * sole remedy for any claim will be exchange of defective media
    - * within 90 days of receipt.
    - * 
    - * Limitations on Rights to Redistribute This Code
    - * 
    - * Unicode, Inc. hereby grants the right to freely use the information
    - * supplied in this file in the creation of products supporting the
    - * Unicode Standard, and to make copies of this file in any form
    - * for internal or external distribution as long as this notice
    - * remains attached.
    - */
    -
    -
    -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    -derived from Python 2.4.2 sources available at
    -http://www.python.org. Full license is here:
    -
    -  http://www.python.org/download/releases/2.4.2/license/
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from ICU (http://www.icu-project.org)
    -The full license is available here: 
    -  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    -
    -/*
    - * Copyright (C) 1999-2010, International Business Machines
    - * Corporation and others.  All Rights Reserved.
    - *
    - * Permission is hereby granted, free of charge, to any person obtaining a copy 
    - * of this software and associated documentation files (the "Software"), to deal
    - * in the Software without restriction, including without limitation the rights 
    - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    - * Software, and to permit persons to whom the Software is furnished to do so, 
    - * provided that the above copyright notice(s) and this permission notice appear 
    - * in all copies of the Software and that both the above copyright notice(s) and
    - * this permission notice appear in supporting documentation.
    - * 
    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    - *
    - * Except as contained in this notice, the name of a copyright holder shall not 
    - * be used in advertising or otherwise to promote the sale, use or other 
    - * dealings in this Software without prior written authorization of the 
    - * copyright holder.
    - */
    -
    -The following license applies to the Snowball stemmers:
    -
    -Copyright (c) 2001, Dr Martin Porter
    -Copyright (c) 2002, Richard Boulton
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -    * this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -    * notice, this list of conditions and the following disclaimer in the
    -    * documentation and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holders nor the names of its contributors
    -    * may be used to endorse or promote products derived from this software
    -    * without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The following license applies to the KStemmer:
    -
    -Copyright © 2003,
    -Center for Intelligent Information Retrieval,
    -University of Massachusetts, Amherst.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation
    -and/or other materials provided with the distribution.
    -
    -3. The names "Center for Intelligent Information Retrieval" and
    -"University of Massachusetts" must not be used to endorse or promote products
    -derived from this software without prior written permission. To obtain
    -permission, contact info@ciir.cs.umass.edu.
    -
    -THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    -

    ASM Commons - 4.1 -

    - - -
    Copyright (c) 2000-2011 INRIA, France Telecom
    - - - - -
    ASM: a very small and fast Java bytecode manipulation framework
    -Copyright (c) 2000-2011 INRIA, France Telecom
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions
    -are met:
    -1. Redistributions of source code must retain the above copyright
    -   notice, this list of conditions and the following disclaimer.
    -2. Redistributions in binary form must reproduce the above copyright
    -   notice, this list of conditions and the following disclaimer in the
    -   documentation and/or other materials provided with the distribution.
    -3. Neither the name of the copyright holders nor the names of its
    -   contributors may be used to endorse or promote products derived from
    -   this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    -THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    Apache Log4J - 1.2.17 -

    - - - -
    Apache log4j
    -Copyright 2007 The Apache Software Foundation
    -
    -This product includes software developed at
    -The Apache Software Foundation (http://www.apache.org/).
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from unicode conversion examples available at
    -http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    -from those sources:
    -
    -/*
    - * Copyright 2001-2004 Unicode, Inc.
    - * 
    - * Disclaimer
    - * 
    - * This source code is provided as is by Unicode, Inc. No claims are
    - * made as to fitness for any particular purpose. No warranties of any
    - * kind are expressed or implied. The recipient agrees to determine
    - * applicability of information provided. If this file has been
    - * purchased on magnetic or optical media from Unicode, Inc., the
    - * sole remedy for any claim will be exchange of defective media
    - * within 90 days of receipt.
    - * 
    - * Limitations on Rights to Redistribute This Code
    - * 
    - * Unicode, Inc. hereby grants the right to freely use the information
    - * supplied in this file in the creation of products supporting the
    - * Unicode Standard, and to make copies of this file in any form
    - * for internal or external distribution as long as this notice
    - * remains attached.
    - */
    -
    -
    -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    -derived from Python 2.4.2 sources available at
    -http://www.python.org. Full license is here:
    -
    -  http://www.python.org/download/releases/2.4.2/license/
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from ICU (http://www.icu-project.org)
    -The full license is available here: 
    -  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    -
    -/*
    - * Copyright (C) 1999-2010, International Business Machines
    - * Corporation and others.  All Rights Reserved.
    - *
    - * Permission is hereby granted, free of charge, to any person obtaining a copy 
    - * of this software and associated documentation files (the "Software"), to deal
    - * in the Software without restriction, including without limitation the rights 
    - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    - * Software, and to permit persons to whom the Software is furnished to do so, 
    - * provided that the above copyright notice(s) and this permission notice appear 
    - * in all copies of the Software and that both the above copyright notice(s) and
    - * this permission notice appear in supporting documentation.
    - * 
    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    - *
    - * Except as contained in this notice, the name of a copyright holder shall not 
    - * be used in advertising or otherwise to promote the sale, use or other 
    - * dealings in this Software without prior written authorization of the 
    - * copyright holder.
    - */
    -
    -The following license applies to the Snowball stemmers:
    -
    -Copyright (c) 2001, Dr Martin Porter
    -Copyright (c) 2002, Richard Boulton
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -    * this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -    * notice, this list of conditions and the following disclaimer in the
    -    * documentation and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holders nor the names of its contributors
    -    * may be used to endorse or promote products derived from this software
    -    * without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The following license applies to the KStemmer:
    -
    -Copyright © 2003,
    -Center for Intelligent Information Retrieval,
    -University of Massachusetts, Amherst.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation
    -and/or other materials provided with the distribution.
    -
    -3. The names "Center for Intelligent Information Retrieval" and
    -"University of Massachusetts" must not be used to endorse or promote products
    -derived from this software without prior written permission. To obtain
    -permission, contact info@ciir.cs.umass.edu.
    -
    -THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    -

    JTS Topology Suite - 1.13 -

    - - -
    Copyright (C) 2001 Vivid Solutions
    - - -
    The JTS Topology Suite is a collection of Java classes that
    -implement the fundamental operations required to validate a given
    -geo-spatial data set to a known topological specification.
    -
    -Copyright (C) 2001 Vivid Solutions
    -
    -This library is free software; you can redistribute it and/or
    -modify it under the terms of the GNU Lesser General Public
    -License as published by the Free Software Foundation; either
    -version 2.1 of the License, or (at your option) any later version.
    -
    -This library is distributed in the hope that it will be useful,
    -but WITHOUT ANY WARRANTY; without even the implied warranty of
    -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -Lesser General Public License for more details.
    -
    -You should have received a copy of the GNU Lesser General Public
    -License along with this library; if not, write to the Free Software
    -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    -
    -For more information, contact:
    -
    -    Vivid Solutions
    -    Suite #1A
    -    2328 Government Street
    -    Victoria BC  V8T 5G5
    -    Canada
    -
    -    (250)385-6040
    -    www.vividsolutions.com
    -
    - - - -
    		  GNU LESSER GENERAL PUBLIC LICENSE
    -		       Version 2.1, February 1999
    -
    - Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    - 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    - Everyone is permitted to copy and distribute verbatim copies
    - of this license document, but changing it is not allowed.
    -
    -[This is the first released version of the Lesser GPL.  It also counts
    - as the successor of the GNU Library Public License, version 2, hence
    - the version number 2.1.]
    -
    -			    Preamble
    -
    -  The licenses for most software are designed to take away your
    -freedom to share and change it.  By contrast, the GNU General Public
    -Licenses are intended to guarantee your freedom to share and change
    -free software--to make sure the software is free for all its users.
    -
    -  This license, the Lesser General Public License, applies to some
    -specially designated software packages--typically libraries--of the
    -Free Software Foundation and other authors who decide to use it.  You
    -can use it too, but we suggest you first think carefully about whether
    -this license or the ordinary General Public License is the better
    -strategy to use in any particular case, based on the explanations below.
    -
    -  When we speak of free software, we are referring to freedom of use,
    -not price.  Our General Public Licenses are designed to make sure that
    -you have the freedom to distribute copies of free software (and charge
    -for this service if you wish); that you receive source code or can get
    -it if you want it; that you can change the software and use pieces of
    -it in new free programs; and that you are informed that you can do
    -these things.
    -
    -  To protect your rights, we need to make restrictions that forbid
    -distributors to deny you these rights or to ask you to surrender these
    -rights.  These restrictions translate to certain responsibilities for
    -you if you distribute copies of the library or if you modify it.
    -
    -  For example, if you distribute copies of the library, whether gratis
    -or for a fee, you must give the recipients all the rights that we gave
    -you.  You must make sure that they, too, receive or can get the source
    -code.  If you link other code with the library, you must provide
    -complete object files to the recipients, so that they can relink them
    -with the library after making changes to the library and recompiling
    -it.  And you must show them these terms so they know their rights.
    -
    -  We protect your rights with a two-step method: (1) we copyright the
    -library, and (2) we offer you this license, which gives you legal
    -permission to copy, distribute and/or modify the library.
    -
    -  To protect each distributor, we want to make it very clear that
    -there is no warranty for the free library.  Also, if the library is
    -modified by someone else and passed on, the recipients should know
    -that what they have is not the original version, so that the original
    -author's reputation will not be affected by problems that might be
    -introduced by others.
    -
    -  Finally, software patents pose a constant threat to the existence of
    -any free program.  We wish to make sure that a company cannot
    -effectively restrict the users of a free program by obtaining a
    -restrictive license from a patent holder.  Therefore, we insist that
    -any patent license obtained for a version of the library must be
    -consistent with the full freedom of use specified in this license.
    -
    -  Most GNU software, including some libraries, is covered by the
    -ordinary GNU General Public License.  This license, the GNU Lesser
    -General Public License, applies to certain designated libraries, and
    -is quite different from the ordinary General Public License.  We use
    -this license for certain libraries in order to permit linking those
    -libraries into non-free programs.
    -
    -  When a program is linked with a library, whether statically or using
    -a shared library, the combination of the two is legally speaking a
    -combined work, a derivative of the original library.  The ordinary
    -General Public License therefore permits such linking only if the
    -entire combination fits its criteria of freedom.  The Lesser General
    -Public License permits more lax criteria for linking other code with
    -the library.
    -
    -  We call this license the "Lesser" General Public License because it
    -does Less to protect the user's freedom than the ordinary General
    -Public License.  It also provides other free software developers Less
    -of an advantage over competing non-free programs.  These disadvantages
    -are the reason we use the ordinary General Public License for many
    -libraries.  However, the Lesser license provides advantages in certain
    -special circumstances.
    -
    -  For example, on rare occasions, there may be a special need to
    -encourage the widest possible use of a certain library, so that it becomes
    -a de-facto standard.  To achieve this, non-free programs must be
    -allowed to use the library.  A more frequent case is that a free
    -library does the same job as widely used non-free libraries.  In this
    -case, there is little to gain by limiting the free library to free
    -software only, so we use the Lesser General Public License.
    -
    -  In other cases, permission to use a particular library in non-free
    -programs enables a greater number of people to use a large body of
    -free software.  For example, permission to use the GNU C Library in
    -non-free programs enables many more people to use the whole GNU
    -operating system, as well as its variant, the GNU/Linux operating
    -system.
    -
    -  Although the Lesser General Public License is Less protective of the
    -users' freedom, it does ensure that the user of a program that is
    -linked with the Library has the freedom and the wherewithal to run
    -that program using a modified version of the Library.
    -
    -  The precise terms and conditions for copying, distribution and
    -modification follow.  Pay close attention to the difference between a
    -"work based on the library" and a "work that uses the library".  The
    -former contains code derived from the library, whereas the latter must
    -be combined with the library in order to run.
    -
    -		  GNU LESSER GENERAL PUBLIC LICENSE
    -   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    -
    -  0. This License Agreement applies to any software library or other
    -program which contains a notice placed by the copyright holder or
    -other authorized party saying it may be distributed under the terms of
    -this Lesser General Public License (also called "this License").
    -Each licensee is addressed as "you".
    -
    -  A "library" means a collection of software functions and/or data
    -prepared so as to be conveniently linked with application programs
    -(which use some of those functions and data) to form executables.
    -
    -  The "Library", below, refers to any such software library or work
    -which has been distributed under these terms.  A "work based on the
    -Library" means either the Library or any derivative work under
    -copyright law: that is to say, a work containing the Library or a
    -portion of it, either verbatim or with modifications and/or translated
    -straightforwardly into another language.  (Hereinafter, translation is
    -included without limitation in the term "modification".)
    -
    -  "Source code" for a work means the preferred form of the work for
    -making modifications to it.  For a library, complete source code means
    -all the source code for all modules it contains, plus any associated
    -interface definition files, plus the scripts used to control compilation
    -and installation of the library.
    -
    -  Activities other than copying, distribution and modification are not
    -covered by this License; they are outside its scope.  The act of
    -running a program using the Library is not restricted, and output from
    -such a program is covered only if its contents constitute a work based
    -on the Library (independent of the use of the Library in a tool for
    -writing it).  Whether that is true depends on what the Library does
    -and what the program that uses the Library does.
    -  
    -  1. You may copy and distribute verbatim copies of the Library's
    -complete source code as you receive it, in any medium, provided that
    -you conspicuously and appropriately publish on each copy an
    -appropriate copyright notice and disclaimer of warranty; keep intact
    -all the notices that refer to this License and to the absence of any
    -warranty; and distribute a copy of this License along with the
    -Library.
    -
    -  You may charge a fee for the physical act of transferring a copy,
    -and you may at your option offer warranty protection in exchange for a
    -fee.
    -
    -  2. You may modify your copy or copies of the Library or any portion
    -of it, thus forming a work based on the Library, and copy and
    -distribute such modifications or work under the terms of Section 1
    -above, provided that you also meet all of these conditions:
    -
    -    a) The modified work must itself be a software library.
    -
    -    b) You must cause the files modified to carry prominent notices
    -    stating that you changed the files and the date of any change.
    -
    -    c) You must cause the whole of the work to be licensed at no
    -    charge to all third parties under the terms of this License.
    -
    -    d) If a facility in the modified Library refers to a function or a
    -    table of data to be supplied by an application program that uses
    -    the facility, other than as an argument passed when the facility
    -    is invoked, then you must make a good faith effort to ensure that,
    -    in the event an application does not supply such function or
    -    table, the facility still operates, and performs whatever part of
    -    its purpose remains meaningful.
    -
    -    (For example, a function in a library to compute square roots has
    -    a purpose that is entirely well-defined independent of the
    -    application.  Therefore, Subsection 2d requires that any
    -    application-supplied function or table used by this function must
    -    be optional: if the application does not supply it, the square
    -    root function must still compute square roots.)
    -
    -These requirements apply to the modified work as a whole.  If
    -identifiable sections of that work are not derived from the Library,
    -and can be reasonably considered independent and separate works in
    -themselves, then this License, and its terms, do not apply to those
    -sections when you distribute them as separate works.  But when you
    -distribute the same sections as part of a whole which is a work based
    -on the Library, the distribution of the whole must be on the terms of
    -this License, whose permissions for other licensees extend to the
    -entire whole, and thus to each and every part regardless of who wrote
    -it.
    -
    -Thus, it is not the intent of this section to claim rights or contest
    -your rights to work written entirely by you; rather, the intent is to
    -exercise the right to control the distribution of derivative or
    -collective works based on the Library.
    -
    -In addition, mere aggregation of another work not based on the Library
    -with the Library (or with a work based on the Library) on a volume of
    -a storage or distribution medium does not bring the other work under
    -the scope of this License.
    -
    -  3. You may opt to apply the terms of the ordinary GNU General Public
    -License instead of this License to a given copy of the Library.  To do
    -this, you must alter all the notices that refer to this License, so
    -that they refer to the ordinary GNU General Public License, version 2,
    -instead of to this License.  (If a newer version than version 2 of the
    -ordinary GNU General Public License has appeared, then you can specify
    -that version instead if you wish.)  Do not make any other change in
    -these notices.
    -
    -  Once this change is made in a given copy, it is irreversible for
    -that copy, so the ordinary GNU General Public License applies to all
    -subsequent copies and derivative works made from that copy.
    -
    -  This option is useful when you wish to copy part of the code of
    -the Library into a program that is not a library.
    -
    -  4. You may copy and distribute the Library (or a portion or
    -derivative of it, under Section 2) in object code or executable form
    -under the terms of Sections 1 and 2 above provided that you accompany
    -it with the complete corresponding machine-readable source code, which
    -must be distributed under the terms of Sections 1 and 2 above on a
    -medium customarily used for software interchange.
    -
    -  If distribution of object code is made by offering access to copy
    -from a designated place, then offering equivalent access to copy the
    -source code from the same place satisfies the requirement to
    -distribute the source code, even though third parties are not
    -compelled to copy the source along with the object code.
    -
    -  5. A program that contains no derivative of any portion of the
    -Library, but is designed to work with the Library by being compiled or
    -linked with it, is called a "work that uses the Library".  Such a
    -work, in isolation, is not a derivative work of the Library, and
    -therefore falls outside the scope of this License.
    -
    -  However, linking a "work that uses the Library" with the Library
    -creates an executable that is a derivative of the Library (because it
    -contains portions of the Library), rather than a "work that uses the
    -library".  The executable is therefore covered by this License.
    -Section 6 states terms for distribution of such executables.
    -
    -  When a "work that uses the Library" uses material from a header file
    -that is part of the Library, the object code for the work may be a
    -derivative work of the Library even though the source code is not.
    -Whether this is true is especially significant if the work can be
    -linked without the Library, or if the work is itself a library.  The
    -threshold for this to be true is not precisely defined by law.
    -
    -  If such an object file uses only numerical parameters, data
    -structure layouts and accessors, and small macros and small inline
    -functions (ten lines or less in length), then the use of the object
    -file is unrestricted, regardless of whether it is legally a derivative
    -work.  (Executables containing this object code plus portions of the
    -Library will still fall under Section 6.)
    -
    -  Otherwise, if the work is a derivative of the Library, you may
    -distribute the object code for the work under the terms of Section 6.
    -Any executables containing that work also fall under Section 6,
    -whether or not they are linked directly with the Library itself.
    -
    -  6. As an exception to the Sections above, you may also combine or
    -link a "work that uses the Library" with the Library to produce a
    -work containing portions of the Library, and distribute that work
    -under terms of your choice, provided that the terms permit
    -modification of the work for the customer's own use and reverse
    -engineering for debugging such modifications.
    -
    -  You must give prominent notice with each copy of the work that the
    -Library is used in it and that the Library and its use are covered by
    -this License.  You must supply a copy of this License.  If the work
    -during execution displays copyright notices, you must include the
    -copyright notice for the Library among them, as well as a reference
    -directing the user to the copy of this License.  Also, you must do one
    -of these things:
    -
    -    a) Accompany the work with the complete corresponding
    -    machine-readable source code for the Library including whatever
    -    changes were used in the work (which must be distributed under
    -    Sections 1 and 2 above); and, if the work is an executable linked
    -    with the Library, with the complete machine-readable "work that
    -    uses the Library", as object code and/or source code, so that the
    -    user can modify the Library and then relink to produce a modified
    -    executable containing the modified Library.  (It is understood
    -    that the user who changes the contents of definitions files in the
    -    Library will not necessarily be able to recompile the application
    -    to use the modified definitions.)
    -
    -    b) Use a suitable shared library mechanism for linking with the
    -    Library.  A suitable mechanism is one that (1) uses at run time a
    -    copy of the library already present on the user's computer system,
    -    rather than copying library functions into the executable, and (2)
    -    will operate properly with a modified version of the library, if
    -    the user installs one, as long as the modified version is
    -    interface-compatible with the version that the work was made with.
    -
    -    c) Accompany the work with a written offer, valid for at
    -    least three years, to give the same user the materials
    -    specified in Subsection 6a, above, for a charge no more
    -    than the cost of performing this distribution.
    -
    -    d) If distribution of the work is made by offering access to copy
    -    from a designated place, offer equivalent access to copy the above
    -    specified materials from the same place.
    -
    -    e) Verify that the user has already received a copy of these
    -    materials or that you have already sent this user a copy.
    -
    -  For an executable, the required form of the "work that uses the
    -Library" must include any data and utility programs needed for
    -reproducing the executable from it.  However, as a special exception,
    -the materials to be distributed need not include anything that is
    -normally distributed (in either source or binary form) with the major
    -components (compiler, kernel, and so on) of the operating system on
    -which the executable runs, unless that component itself accompanies
    -the executable.
    -
    -  It may happen that this requirement contradicts the license
    -restrictions of other proprietary libraries that do not normally
    -accompany the operating system.  Such a contradiction means you cannot
    -use both them and the Library together in an executable that you
    -distribute.
    -
    -  7. You may place library facilities that are a work based on the
    -Library side-by-side in a single library together with other library
    -facilities not covered by this License, and distribute such a combined
    -library, provided that the separate distribution of the work based on
    -the Library and of the other library facilities is otherwise
    -permitted, and provided that you do these two things:
    -
    -    a) Accompany the combined library with a copy of the same work
    -    based on the Library, uncombined with any other library
    -    facilities.  This must be distributed under the terms of the
    -    Sections above.
    -
    -    b) Give prominent notice with the combined library of the fact
    -    that part of it is a work based on the Library, and explaining
    -    where to find the accompanying uncombined form of the same work.
    -
    -  8. You may not copy, modify, sublicense, link with, or distribute
    -the Library except as expressly provided under this License.  Any
    -attempt otherwise to copy, modify, sublicense, link with, or
    -distribute the Library is void, and will automatically terminate your
    -rights under this License.  However, parties who have received copies,
    -or rights, from you under this License will not have their licenses
    -terminated so long as such parties remain in full compliance.
    -
    -  9. You are not required to accept this License, since you have not
    -signed it.  However, nothing else grants you permission to modify or
    -distribute the Library or its derivative works.  These actions are
    -prohibited by law if you do not accept this License.  Therefore, by
    -modifying or distributing the Library (or any work based on the
    -Library), you indicate your acceptance of this License to do so, and
    -all its terms and conditions for copying, distributing or modifying
    -the Library or works based on it.
    -
    -  10. Each time you redistribute the Library (or any work based on the
    -Library), the recipient automatically receives a license from the
    -original licensor to copy, distribute, link with or modify the Library
    -subject to these terms and conditions.  You may not impose any further
    -restrictions on the recipients' exercise of the rights granted herein.
    -You are not responsible for enforcing compliance by third parties with
    -this License.
    -
    -  11. If, as a consequence of a court judgment or allegation of patent
    -infringement or for any other reason (not limited to patent issues),
    -conditions are imposed on you (whether by court order, agreement or
    -otherwise) that contradict the conditions of this License, they do not
    -excuse you from the conditions of this License.  If you cannot
    -distribute so as to satisfy simultaneously your obligations under this
    -License and any other pertinent obligations, then as a consequence you
    -may not distribute the Library at all.  For example, if a patent
    -license would not permit royalty-free redistribution of the Library by
    -all those who receive copies directly or indirectly through you, then
    -the only way you could satisfy both it and this License would be to
    -refrain entirely from distribution of the Library.
    -
    -If any portion of this section is held invalid or unenforceable under any
    -particular circumstance, the balance of the section is intended to apply,
    -and the section as a whole is intended to apply in other circumstances.
    -
    -It is not the purpose of this section to induce you to infringe any
    -patents or other property right claims or to contest validity of any
    -such claims; this section has the sole purpose of protecting the
    -integrity of the free software distribution system which is
    -implemented by public license practices.  Many people have made
    -generous contributions to the wide range of software distributed
    -through that system in reliance on consistent application of that
    -system; it is up to the author/donor to decide if he or she is willing
    -to distribute software through any other system and a licensee cannot
    -impose that choice.
    -
    -This section is intended to make thoroughly clear what is believed to
    -be a consequence of the rest of this License.
    -
    -  12. If the distribution and/or use of the Library is restricted in
    -certain countries either by patents or by copyrighted interfaces, the
    -original copyright holder who places the Library under this License may add
    -an explicit geographical distribution limitation excluding those countries,
    -so that distribution is permitted only in or among countries not thus
    -excluded.  In such case, this License incorporates the limitation as if
    -written in the body of this License.
    -
    -  13. The Free Software Foundation may publish revised and/or new
    -versions of the Lesser General Public License from time to time.
    -Such new versions will be similar in spirit to the present version,
    -but may differ in detail to address new problems or concerns.
    -
    -Each version is given a distinguishing version number.  If the Library
    -specifies a version number of this License which applies to it and
    -"any later version", you have the option of following the terms and
    -conditions either of that version or of any later version published by
    -the Free Software Foundation.  If the Library does not specify a
    -license version number, you may choose any version ever published by
    -the Free Software Foundation.
    -
    -  14. If you wish to incorporate parts of the Library into other free
    -programs whose distribution conditions are incompatible with these,
    -write to the author to ask for permission.  For software which is
    -copyrighted by the Free Software Foundation, write to the Free
    -Software Foundation; we sometimes make exceptions for this.  Our
    -decision will be guided by the two goals of preserving the free status
    -of all derivatives of our free software and of promoting the sharing
    -and reuse of software generally.
    -
    -			    NO WARRANTY
    -
    -  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
    -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
    -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
    -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
    -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    -PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
    -LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
    -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    -
    -  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
    -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
    -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
    -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
    -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
    -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
    -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
    -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
    -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    -DAMAGES.
    -
    -		     END OF TERMS AND CONDITIONS
    -
    -           How to Apply These Terms to Your New Libraries
    -
    -  If you develop a new library, and you want it to be of the greatest
    -possible use to the public, we recommend making it free software that
    -everyone can redistribute and change.  You can do so by permitting
    -redistribution under these terms (or, alternatively, under the terms of the
    -ordinary General Public License).
    -
    -  To apply these terms, attach the following notices to the library.  It is
    -safest to attach them to the start of each source file to most effectively
    -convey the exclusion of warranty; and each file should have at least the
    -"copyright" line and a pointer to where the full notice is found.
    -
    -    <one line to give the library's name and a brief idea of what it does.>
    -    Copyright (C) <year>  <name of author>
    -
    -    This library is free software; you can redistribute it and/or
    -    modify it under the terms of the GNU Lesser General Public
    -    License as published by the Free Software Foundation; either
    -    version 2.1 of the License, or (at your option) any later version.
    -
    -    This library is distributed in the hope that it will be useful,
    -    but WITHOUT ANY WARRANTY; without even the implied warranty of
    -    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -    Lesser General Public License for more details.
    -
    -    You should have received a copy of the GNU Lesser General Public
    -    License along with this library; if not, write to the Free Software
    -    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    -
    -Also add information on how to contact you by electronic and paper mail.
    -
    -You should also get your employer (if you work as a programmer) or your
    -school, if any, to sign a "copyright disclaimer" for the library, if
    -necessary.  Here is a sample; alter the names:
    -
    -  Yoyodyne, Inc., hereby disclaims all copyright interest in the
    -  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
    -
    -  <signature of Ty Coon>, 1 April 1990
    -  Ty Coon, President of Vice
    -
    -That's all there is to it!
    -
    -
    -
    - - -
    - -
    -

    ANTLR runtime - 3.5 -

    - - -
    Copyright (c) 2005-2009 Terence Parr
    - - - - -
     Copyright (c) 2005-2009 Terence Parr
    - All rights reserved.
    -
    - Redistribution and use in source and binary forms, with or without
    - modification, are permitted provided that the following conditions
    - are met:
    - 1. Redistributions of source code must retain the above copyright
    -     notice, this list of conditions and the following disclaimer.
    - 2. Redistributions in binary form must reproduce the above copyright
    -     notice, this list of conditions and the following disclaimer in the
    -     documentation and/or other materials provided with the distribution.
    - 3. The name of the author may not be used to endorse or promote products
    -     derived from this software without specific prior written permission.
    -
    - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    Apache Lucene - 4.10.4 -

    - - - -
    Apache Lucene
    -Copyright 2012 The Apache Software Foundation
    -
    -This product includes software developed by
    -The Apache Software Foundation (http://www.apache.org/).
    -
    -The snowball stemmers in
    -  contrib/analyzers/common/src/java/net/sf/snowball
    -were developed by Martin Porter and Richard Boulton.
    -The snowball stopword lists in
    -  contrib/analyzers/common/src/resources/org/apache/lucene/analysis/snowball
    -were developed by Martin Porter and Richard Boulton.
    -The full snowball package is available from
    -  http://snowball.tartarus.org/
    -
    -The KStem stemmer in
    -  common/src/org/apache/lucene/analysis/en
    -was developed by Bob Krovetz and Sergio Guzman-Lara (CIIR-UMass Amherst)
    -under the BSD-license.
    -
    -The Arabic,Persian,Romanian,Bulgarian, and Hindi analyzers (contrib/analyzers) come with a default
    -stopword list that is BSD-licensed created by Jacques Savoy.  These files reside in:
    -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ar/stopwords.txt,
    -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/fa/stopwords.txt,
    -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/ro/stopwords.txt,
    -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/bg/stopwords.txt,
    -contrib/analyzers/common/src/resources/org/apache/lucene/analysis/hi/stopwords.txt
    -See http://members.unine.ch/jacques.savoy/clef/index.html.
    -
    -The German,Spanish,Finnish,French,Hungarian,Italian,Portuguese,Russian and Swedish light stemmers
    -(common) are based on BSD-licensed reference implementations created by Jacques Savoy and
    -Ljiljana Dolamic. These files reside in:
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
    -contrib/analyzers/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
    -
    -The Stempel analyzer (contrib/analyzers) includes BSD-licensed software developed 
    -by the Egothor project http://egothor.sf.net/, created by Leo Galambos, Martin Kvapil,
    -and Edmond Nolan.
    -
    -The Polish analyzer (contrib/analyzers) comes with a default
    -stopword list that is BSD-licensed created by the Carrot2 project. The file resides
    -in contrib/analyzers/stempel/src/resources/org/apache/lucene/analysis/pl/stopwords.txt.
    -See http://project.carrot2.org/license.html.
    -
    -Includes software from other Apache Software Foundation projects,
    -including, but not limited to:
    - - Apache Ant
    - - Apache Jakarta Regexp
    - - Commons Compress
    - - Xerces
    -
    -The SmartChineseAnalyzer source code (under contrib/analyzers) was
    -provided by Xiaoping Gao and copyright 2009 by www.imdict.net.
    -
    -ICU4J, (under contrib/icu) is licensed under an MIT styles license
    -(contrib/icu/lib/ICU-LICENSE.txt) and Copyright (c) 1995-2008 
    -International Business Machines Corporation and others
    -
    -Some files (contrib/analyzers/common/src/test/.../WordBreakTestUnicode_*.java
    -and data files under contrib/icu/src/data/) are derived from Unicode data such
    -as the Unicode Character Database. See http://unicode.org/copyright.html for more
    -details.
    -
    -The class org.apache.lucene.SorterTemplate was inspired by CGLIB's class with
    -the same name. The implementation part is mainly done using pre-existing
    -Lucene sorting code. In-place stable mergesort was borrowed from CGLIB,
    -which is Apache-licensed.
    -
    -The class org.apache.lucene.util.WeakIdentityMap was derived from
    -the Apache CXF project and is Apache License 2.0.
    -
    -The Google Code Prettify is Apache License 2.0.
    -See http://code.google.com/p/google-code-prettify/
    -
    -JUnit (junit-4.10) is licensed under the Common Public License v. 1.0
    -See http://junit.sourceforge.net/cpl-v10.html
    -
    -This product includes code (JaspellTernarySearchTrie) from Java Spelling Checking Package (jaspell): http://jaspell.sourceforge.net/
    -License: The BSD License (http://www.opensource.org/licenses/bsd-license.php)
    -
    -===========================================================================
    -Kuromoji Japanese Morphological Analyzer - Apache Lucene Integration
    -===========================================================================
    -
    -This software includes a binary and/or source version of data from
    -
    -  mecab-ipadic-2.7.0-20070801
    -
    -which can be obtained from
    -
    -  http://atilika.com/releases/mecab-ipadic/mecab-ipadic-2.7.0-20070801.tar.gz
    -
    -or
    -
    -  http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
    -
    -===========================================================================
    -mecab-ipadic-2.7.0-20070801 Notice
    -===========================================================================
    -
    -Nara Institute of Science and Technology (NAIST),
    -the copyright holders, disclaims all warranties with regard to this
    -software, including all implied warranties of merchantability and
    -fitness, in no event shall NAIST be liable for
    -any special, indirect or consequential damages or any damages
    -whatsoever resulting from loss of use, data or profits, whether in an
    -action of contract, negligence or other tortuous action, arising out
    -of or in connection with the use or performance of this software.
    -
    -A large portion of the dictionary entries
    -originate from ICOT Free Software.  The following conditions for ICOT
    -Free Software applies to the current dictionary as well.
    -
    -Each User may also freely distribute the Program, whether in its
    -original form or modified, to any third party or parties, PROVIDED
    -that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
    -on, or be attached to, the Program, which is distributed substantially
    -in the same form as set out herein and that such intended
    -distribution, if actually made, will neither violate or otherwise
    -contravene any of the laws and regulations of the countries having
    -jurisdiction over the User or the intended distribution itself.
    -
    -NO WARRANTY
    -
    -The program was produced on an experimental basis in the course of the
    -research and development conducted during the project and is provided
    -to users as so produced on an experimental basis.  Accordingly, the
    -program is provided without any warranty whatsoever, whether express,
    -implied, statutory or otherwise.  The term "warranty" used herein
    -includes, but is not limited to, any warranty of the quality,
    -performance, merchantability and fitness for a particular purpose of
    -the program and the nonexistence of any infringement or violation of
    -any right of any third party.
    -
    -Each user of the program will agree and understand, and be deemed to
    -have agreed and understood, that there is no warranty whatsoever for
    -the program and, accordingly, the entire risk arising from or
    -otherwise connected with the program is assumed by the user.
    -
    -Therefore, neither ICOT, the copyright holder, or any other
    -organization that participated in or was otherwise related to the
    -development of the program and their respective officials, directors,
    -officers and other employees shall be held liable for any and all
    -damages, including, without limitation, general, special, incidental
    -and consequential damages, arising out of or otherwise in connection
    -with the use or inability to use the program or any product, material
    -or result produced or otherwise obtained by using the program,
    -regardless of whether they have been advised of, or otherwise had
    -knowledge of, the possibility of such damages at any time during the
    -project or thereafter.  Each user will be deemed to have agreed to the
    -foregoing by his or her commencement of use of the program.  The term
    -"use" as used herein includes, but is not limited to, the use,
    -modification, copying and distribution of the program and the
    -production of secondary products from the program.
    -
    -In the case where the program, whether in its original form or
    -modified, was distributed or delivered to or received by a user from
    -any person, organization or entity other than ICOT, unless it makes or
    -grants independently of ICOT any specific warranty to the user in
    -writing, such person, organization or entity, will also be exempted
    -from and not be held liable to the user for any such damages as noted
    -above as far as the program is concerned.
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from unicode conversion examples available at
    -http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    -from those sources:
    -
    -/*
    - * Copyright 2001-2004 Unicode, Inc.
    - * 
    - * Disclaimer
    - * 
    - * This source code is provided as is by Unicode, Inc. No claims are
    - * made as to fitness for any particular purpose. No warranties of any
    - * kind are expressed or implied. The recipient agrees to determine
    - * applicability of information provided. If this file has been
    - * purchased on magnetic or optical media from Unicode, Inc., the
    - * sole remedy for any claim will be exchange of defective media
    - * within 90 days of receipt.
    - * 
    - * Limitations on Rights to Redistribute This Code
    - * 
    - * Unicode, Inc. hereby grants the right to freely use the information
    - * supplied in this file in the creation of products supporting the
    - * Unicode Standard, and to make copies of this file in any form
    - * for internal or external distribution as long as this notice
    - * remains attached.
    - */
    -
    -
    -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    -derived from Python 2.4.2 sources available at
    -http://www.python.org. Full license is here:
    -
    -  http://www.python.org/download/releases/2.4.2/license/
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from ICU (http://www.icu-project.org)
    -The full license is available here: 
    -  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    -
    -/*
    - * Copyright (C) 1999-2010, International Business Machines
    - * Corporation and others.  All Rights Reserved.
    - *
    - * Permission is hereby granted, free of charge, to any person obtaining a copy 
    - * of this software and associated documentation files (the "Software"), to deal
    - * in the Software without restriction, including without limitation the rights 
    - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    - * Software, and to permit persons to whom the Software is furnished to do so, 
    - * provided that the above copyright notice(s) and this permission notice appear 
    - * in all copies of the Software and that both the above copyright notice(s) and
    - * this permission notice appear in supporting documentation.
    - * 
    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    - *
    - * Except as contained in this notice, the name of a copyright holder shall not 
    - * be used in advertising or otherwise to promote the sale, use or other 
    - * dealings in this Software without prior written authorization of the 
    - * copyright holder.
    - */
    -
    -The following license applies to the Snowball stemmers:
    -
    -Copyright (c) 2001, Dr Martin Porter
    -Copyright (c) 2002, Richard Boulton
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -    * this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -    * notice, this list of conditions and the following disclaimer in the
    -    * documentation and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holders nor the names of its contributors
    -    * may be used to endorse or promote products derived from this software
    -    * without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The following license applies to the KStemmer:
    -
    -Copyright © 2003,
    -Center for Intelligent Information Retrieval,
    -University of Massachusetts, Amherst.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation
    -and/or other materials provided with the distribution.
    -
    -3. The names "Center for Intelligent Information Retrieval" and
    -"University of Massachusetts" must not be used to endorse or promote products
    -derived from this software without prior written permission. To obtain
    -permission, contact info@ciir.cs.umass.edu.
    -
    -THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    -

    ASM - 4.1 -

    - - -
    Copyright (c) 2000-2011 INRIA, France Telecom
    - - - - -
    ASM: a very small and fast Java bytecode manipulation framework
    -Copyright (c) 2000-2011 INRIA, France Telecom
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions
    -are met:
    -1. Redistributions of source code must retain the above copyright
    -   notice, this list of conditions and the following disclaimer.
    -2. Redistributions in binary form must reproduce the above copyright
    -   notice, this list of conditions and the following disclaimer in the
    -   documentation and/or other materials provided with the distribution.
    -3. Neither the name of the copyright holders nor the names of its
    -   contributors may be used to endorse or promote products derived from
    -   this software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
    -THE POSSIBILITY OF SUCH DAMAGE.
    -
    - - -
    - -
    -

    Spatial4J - 0.4.1 -

    - - - -
     Licensed to the Apache Software Foundation (ASF) under one or more
    - contributor license agreements.  See the NOTICE file distributed with
    - this work for additional information regarding copyright ownership.
    - The ASF licenses this file to You under the Apache License, Version 2.0
    - (the "License"); you may not use this file except in compliance with
    - the License.  You may obtain a copy of the License at
    - 
    -    http://www.apache.org/licenses/LICENSE-2.0
    - 
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from unicode conversion examples available at
    -http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    -from those sources:
    -
    -/*
    - * Copyright 2001-2004 Unicode, Inc.
    - * 
    - * Disclaimer
    - * 
    - * This source code is provided as is by Unicode, Inc. No claims are
    - * made as to fitness for any particular purpose. No warranties of any
    - * kind are expressed or implied. The recipient agrees to determine
    - * applicability of information provided. If this file has been
    - * purchased on magnetic or optical media from Unicode, Inc., the
    - * sole remedy for any claim will be exchange of defective media
    - * within 90 days of receipt.
    - * 
    - * Limitations on Rights to Redistribute This Code
    - * 
    - * Unicode, Inc. hereby grants the right to freely use the information
    - * supplied in this file in the creation of products supporting the
    - * Unicode Standard, and to make copies of this file in any form
    - * for internal or external distribution as long as this notice
    - * remains attached.
    - */
    -
    -
    -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    -derived from Python 2.4.2 sources available at
    -http://www.python.org. Full license is here:
    -
    -  http://www.python.org/download/releases/2.4.2/license/
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from ICU (http://www.icu-project.org)
    -The full license is available here: 
    -  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    -
    -/*
    - * Copyright (C) 1999-2010, International Business Machines
    - * Corporation and others.  All Rights Reserved.
    - *
    - * Permission is hereby granted, free of charge, to any person obtaining a copy 
    - * of this software and associated documentation files (the "Software"), to deal
    - * in the Software without restriction, including without limitation the rights 
    - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    - * Software, and to permit persons to whom the Software is furnished to do so, 
    - * provided that the above copyright notice(s) and this permission notice appear 
    - * in all copies of the Software and that both the above copyright notice(s) and
    - * this permission notice appear in supporting documentation.
    - * 
    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    - *
    - * Except as contained in this notice, the name of a copyright holder shall not 
    - * be used in advertising or otherwise to promote the sale, use or other 
    - * dealings in this Software without prior written authorization of the 
    - * copyright holder.
    - */
    -
    -The following license applies to the Snowball stemmers:
    -
    -Copyright (c) 2001, Dr Martin Porter
    -Copyright (c) 2002, Richard Boulton
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -    * this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -    * notice, this list of conditions and the following disclaimer in the
    -    * documentation and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holders nor the names of its contributors
    -    * may be used to endorse or promote products derived from this software
    -    * without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The following license applies to the KStemmer:
    -
    -Copyright © 2003,
    -Center for Intelligent Information Retrieval,
    -University of Massachusetts, Amherst.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation
    -and/or other materials provided with the distribution.
    -
    -3. The names "Center for Intelligent Information Retrieval" and
    -"University of Massachusetts" must not be used to endorse or promote products
    -derived from this software without prior written permission. To obtain
    -permission, contact info@ciir.cs.umass.edu.
    -
    -THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    -

    Groovy - 2.4.0 -

    - - -
    Copyright 2003-2008 the original author or authors.
    - - -
    Copyright 2003-2008 the original author or authors.
    -
    -Licensed under the Apache License, Version 2.0 (the "License");
    -you may not use this file except in compliance with the License.
    -You may obtain a copy of the License at
    -
    -    http://www.apache.org/licenses/LICENSE-2.0
    -
    -Unless required by applicable law or agreed to in writing, software
    -distributed under the License is distributed on an "AS IS" BASIS,
    -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -See the License for the specific language governing permissions and
    -limitations under the License.
    -
    -
    -
    -
    - Apache Commons CLI
    -Copyright 2001-2009 The Apache Software Foundation
    -
    -This product includes software developed by
    -The Apache Software Foundation (http://www.apache.org/).
    - 
    - - - -
    -                                 Apache License
    -                           Version 2.0, January 2004
    -                        http://www.apache.org/licenses/
    -
    -   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    -
    -   1. Definitions.
    -
    -      "License" shall mean the terms and conditions for use, reproduction,
    -      and distribution as defined by Sections 1 through 9 of this document.
    -
    -      "Licensor" shall mean the copyright owner or entity authorized by
    -      the copyright owner that is granting the License.
    -
    -      "Legal Entity" shall mean the union of the acting entity and all
    -      other entities that control, are controlled by, or are under common
    -      control with that entity. For the purposes of this definition,
    -      "control" means (i) the power, direct or indirect, to cause the
    -      direction or management of such entity, whether by contract or
    -      otherwise, or (ii) ownership of fifty percent (50%) or more of the
    -      outstanding shares, or (iii) beneficial ownership of such entity.
    -
    -      "You" (or "Your") shall mean an individual or Legal Entity
    -      exercising permissions granted by this License.
    -
    -      "Source" form shall mean the preferred form for making modifications,
    -      including but not limited to software source code, documentation
    -      source, and configuration files.
    -
    -      "Object" form shall mean any form resulting from mechanical
    -      transformation or translation of a Source form, including but
    -      not limited to compiled object code, generated documentation,
    -      and conversions to other media types.
    -
    -      "Work" shall mean the work of authorship, whether in Source or
    -      Object form, made available under the License, as indicated by a
    -      copyright notice that is included in or attached to the work
    -      (an example is provided in the Appendix below).
    -
    -      "Derivative Works" shall mean any work, whether in Source or Object
    -      form, that is based on (or derived from) the Work and for which the
    -      editorial revisions, annotations, elaborations, or other modifications
    -      represent, as a whole, an original work of authorship. For the purposes
    -      of this License, Derivative Works shall not include works that remain
    -      separable from, or merely link (or bind by name) to the interfaces of,
    -      the Work and Derivative Works thereof.
    -
    -      "Contribution" shall mean any work of authorship, including
    -      the original version of the Work and any modifications or additions
    -      to that Work or Derivative Works thereof, that is intentionally
    -      submitted to Licensor for inclusion in the Work by the copyright owner
    -      or by an individual or Legal Entity authorized to submit on behalf of
    -      the copyright owner. For the purposes of this definition, "submitted"
    -      means any form of electronic, verbal, or written communication sent
    -      to the Licensor or its representatives, including but not limited to
    -      communication on electronic mailing lists, source code control systems,
    -      and issue tracking systems that are managed by, or on behalf of, the
    -      Licensor for the purpose of discussing and improving the Work, but
    -      excluding communication that is conspicuously marked or otherwise
    -      designated in writing by the copyright owner as "Not a Contribution."
    -
    -      "Contributor" shall mean Licensor and any individual or Legal Entity
    -      on behalf of whom a Contribution has been received by Licensor and
    -      subsequently incorporated within the Work.
    -
    -   2. Grant of Copyright License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      copyright license to reproduce, prepare Derivative Works of,
    -      publicly display, publicly perform, sublicense, and distribute the
    -      Work and such Derivative Works in Source or Object form.
    -
    -   3. Grant of Patent License. Subject to the terms and conditions of
    -      this License, each Contributor hereby grants to You a perpetual,
    -      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    -      (except as stated in this section) patent license to make, have made,
    -      use, offer to sell, sell, import, and otherwise transfer the Work,
    -      where such license applies only to those patent claims licensable
    -      by such Contributor that are necessarily infringed by their
    -      Contribution(s) alone or by combination of their Contribution(s)
    -      with the Work to which such Contribution(s) was submitted. If You
    -      institute patent litigation against any entity (including a
    -      cross-claim or counterclaim in a lawsuit) alleging that the Work
    -      or a Contribution incorporated within the Work constitutes direct
    -      or contributory patent infringement, then any patent licenses
    -      granted to You under this License for that Work shall terminate
    -      as of the date such litigation is filed.
    -
    -   4. Redistribution. You may reproduce and distribute copies of the
    -      Work or Derivative Works thereof in any medium, with or without
    -      modifications, and in Source or Object form, provided that You
    -      meet the following conditions:
    -
    -      (a) You must give any other recipients of the Work or
    -          Derivative Works a copy of this License; and
    -
    -      (b) You must cause any modified files to carry prominent notices
    -          stating that You changed the files; and
    -
    -      (c) You must retain, in the Source form of any Derivative Works
    -          that You distribute, all copyright, patent, trademark, and
    -          attribution notices from the Source form of the Work,
    -          excluding those notices that do not pertain to any part of
    -          the Derivative Works; and
    -
    -      (d) If the Work includes a "NOTICE" text file as part of its
    -          distribution, then any Derivative Works that You distribute must
    -          include a readable copy of the attribution notices contained
    -          within such NOTICE file, excluding those notices that do not
    -          pertain to any part of the Derivative Works, in at least one
    -          of the following places: within a NOTICE text file distributed
    -          as part of the Derivative Works; within the Source form or
    -          documentation, if provided along with the Derivative Works; or,
    -          within a display generated by the Derivative Works, if and
    -          wherever such third-party notices normally appear. The contents
    -          of the NOTICE file are for informational purposes only and
    -          do not modify the License. You may add Your own attribution
    -          notices within Derivative Works that You distribute, alongside
    -          or as an addendum to the NOTICE text from the Work, provided
    -          that such additional attribution notices cannot be construed
    -          as modifying the License.
    -
    -      You may add Your own copyright statement to Your modifications and
    -      may provide additional or different license terms and conditions
    -      for use, reproduction, or distribution of Your modifications, or
    -      for any such Derivative Works as a whole, provided Your use,
    -      reproduction, and distribution of the Work otherwise complies with
    -      the conditions stated in this License.
    -
    -   5. Submission of Contributions. Unless You explicitly state otherwise,
    -      any Contribution intentionally submitted for inclusion in the Work
    -      by You to the Licensor shall be under the terms and conditions of
    -      this License, without any additional terms or conditions.
    -      Notwithstanding the above, nothing herein shall supersede or modify
    -      the terms of any separate license agreement you may have executed
    -      with Licensor regarding such Contributions.
    -
    -   6. Trademarks. This License does not grant permission to use the trade
    -      names, trademarks, service marks, or product names of the Licensor,
    -      except as required for reasonable and customary use in describing the
    -      origin of the Work and reproducing the content of the NOTICE file.
    -
    -   7. Disclaimer of Warranty. Unless required by applicable law or
    -      agreed to in writing, Licensor provides the Work (and each
    -      Contributor provides its Contributions) on an "AS IS" BASIS,
    -      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    -      implied, including, without limitation, any warranties or conditions
    -      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    -      PARTICULAR PURPOSE. You are solely responsible for determining the
    -      appropriateness of using or redistributing the Work and assume any
    -      risks associated with Your exercise of permissions under this License.
    -
    -   8. Limitation of Liability. In no event and under no legal theory,
    -      whether in tort (including negligence), contract, or otherwise,
    -      unless required by applicable law (such as deliberate and grossly
    -      negligent acts) or agreed to in writing, shall any Contributor be
    -      liable to You for damages, including any direct, indirect, special,
    -      incidental, or consequential damages of any character arising as a
    -      result of this License or out of the use or inability to use the
    -      Work (including but not limited to damages for loss of goodwill,
    -      work stoppage, computer failure or malfunction, or any and all
    -      other commercial damages or losses), even if such Contributor
    -      has been advised of the possibility of such damages.
    -
    -   9. Accepting Warranty or Additional Liability. While redistributing
    -      the Work or Derivative Works thereof, You may choose to offer,
    -      and charge a fee for, acceptance of support, warranty, indemnity,
    -      or other liability obligations and/or rights consistent with this
    -      License. However, in accepting such obligations, You may act only
    -      on Your own behalf and on Your sole responsibility, not on behalf
    -      of any other Contributor, and only if You agree to indemnify,
    -      defend, and hold each Contributor harmless for any liability
    -      incurred by, or claims asserted against, such Contributor by reason
    -      of your accepting any such warranty or additional liability.
    -
    -   END OF TERMS AND CONDITIONS
    -
    -   APPENDIX: How to apply the Apache License to your work.
    -
    -      To apply the Apache License to your work, attach the following
    -      boilerplate notice, with the fields enclosed by brackets "[]"
    -      replaced with your own identifying information. (Don't include
    -      the brackets!)  The text should be enclosed in the appropriate
    -      comment syntax for the file format. We also recommend that a
    -      file or class name and description of purpose be included on the
    -      same "printed page" as the copyright notice for easier
    -      identification within third-party archives.
    -
    -   Copyright [yyyy] [name of copyright owner]
    -
    -   Licensed under the Apache License, Version 2.0 (the "License");
    -   you may not use this file except in compliance with the License.
    -   You may obtain a copy of the License at
    -
    -       http://www.apache.org/licenses/LICENSE-2.0
    -
    -   Unless required by applicable law or agreed to in writing, software
    -   distributed under the License is distributed on an "AS IS" BASIS,
    -   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -   See the License for the specific language governing permissions and
    -   limitations under the License.
    -
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from unicode conversion examples available at
    -http://www.unicode.org/Public/PROGRAMS/CVTUTF.  Here is the copyright
    -from those sources:
    -
    -/*
    - * Copyright 2001-2004 Unicode, Inc.
    - * 
    - * Disclaimer
    - * 
    - * This source code is provided as is by Unicode, Inc. No claims are
    - * made as to fitness for any particular purpose. No warranties of any
    - * kind are expressed or implied. The recipient agrees to determine
    - * applicability of information provided. If this file has been
    - * purchased on magnetic or optical media from Unicode, Inc., the
    - * sole remedy for any claim will be exchange of defective media
    - * within 90 days of receipt.
    - * 
    - * Limitations on Rights to Redistribute This Code
    - * 
    - * Unicode, Inc. hereby grants the right to freely use the information
    - * supplied in this file in the creation of products supporting the
    - * Unicode Standard, and to make copies of this file in any form
    - * for internal or external distribution as long as this notice
    - * remains attached.
    - */
    -
    -
    -Some code in src/java/org/apache/lucene/util/ArrayUtil.java was
    -derived from Python 2.4.2 sources available at
    -http://www.python.org. Full license is here:
    -
    -  http://www.python.org/download/releases/2.4.2/license/
    -
    -
    -Some code in src/java/org/apache/lucene/util/UnicodeUtil.java was
    -derived from ICU (http://www.icu-project.org)
    -The full license is available here: 
    -  http://source.icu-project.org/repos/icu/icu/trunk/license.html
    -
    -/*
    - * Copyright (C) 1999-2010, International Business Machines
    - * Corporation and others.  All Rights Reserved.
    - *
    - * Permission is hereby granted, free of charge, to any person obtaining a copy 
    - * of this software and associated documentation files (the "Software"), to deal
    - * in the Software without restriction, including without limitation the rights 
    - * to use, copy, modify, merge, publish, distribute, and/or sell copies of the 
    - * Software, and to permit persons to whom the Software is furnished to do so, 
    - * provided that the above copyright notice(s) and this permission notice appear 
    - * in all copies of the Software and that both the above copyright notice(s) and
    - * this permission notice appear in supporting documentation.
    - * 
    - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
    - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
    - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. 
    - * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE 
    - * LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR 
    - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
    - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 
    - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    - *
    - * Except as contained in this notice, the name of a copyright holder shall not 
    - * be used in advertising or otherwise to promote the sale, use or other 
    - * dealings in this Software without prior written authorization of the 
    - * copyright holder.
    - */
    -
    -The following license applies to the Snowball stemmers:
    -
    -Copyright (c) 2001, Dr Martin Porter
    -Copyright (c) 2002, Richard Boulton
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -    * Redistributions of source code must retain the above copyright notice,
    -    * this list of conditions and the following disclaimer.
    -    * Redistributions in binary form must reproduce the above copyright
    -    * notice, this list of conditions and the following disclaimer in the
    -    * documentation and/or other materials provided with the distribution.
    -    * Neither the name of the copyright holders nor the names of its contributors
    -    * may be used to endorse or promote products derived from this software
    -    * without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
    -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    -
    -The following license applies to the KStemmer:
    -
    -Copyright © 2003,
    -Center for Intelligent Information Retrieval,
    -University of Massachusetts, Amherst.
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without modification,
    -are permitted provided that the following conditions are met:
    -
    -1. Redistributions of source code must retain the above copyright notice, this
    -list of conditions and the following disclaimer.
    -
    -2. Redistributions in binary form must reproduce the above copyright notice,
    -this list of conditions and the following disclaimer in the documentation
    -and/or other materials provided with the distribution.
    -
    -3. The names "Center for Intelligent Information Retrieval" and
    -"University of Massachusetts" must not be used to endorse or promote products
    -derived from this software without prior written permission. To obtain
    -permission, contact info@ciir.cs.umass.edu.
    -
    -THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF MASSACHUSETTS AND OTHER CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    -SUCH DAMAGE.
    -
    - - -
    - -
    - -

    Common Licenses Used in This Product

    - - - - -

    End

    - - \ No newline at end of file From a3126c4e3e92fa127341833dfe947c4ada269bbb Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 28 Sep 2015 10:10:54 -0700 Subject: [PATCH 39/83] Fixed #217 - add the "Completed" word once the generation is completed. Also update the version to 2.0.4. --- about_code_tool/about.py | 3 ++- about_code_tool/genabout.py | 3 ++- about_code_tool/genattrib.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index c4e157ee..a1694bc8 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -49,7 +49,7 @@ on_windows = 'win32' in sys.platform UNC_PREFIX = u'\\\\?\\' -__version__ = '2.0.3' +__version__ = '2.0.4' # See http://dejacode.org __about_spec_version__ = '1.0' @@ -1494,6 +1494,7 @@ def main(parser, options, args): or (os.path.exists(output_path) and overwrite)): collector = Collector(input_path) collector.write_to_csv(output_path) + print("Completed.") if collector.errors: print('%d errors detected.' % len(collector.errors)) if collector.warnings: diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index d470b075..40f05261 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -40,7 +40,7 @@ import about -__version__ = '2.0.3' +__version__ = '2.0.4' __copyright__ = """ Copyright (c) 2013-2015 nexB Inc. All rights reserved. @@ -894,6 +894,7 @@ def main(parser, options, args): output_path) gen.write_licenses(license_list_context) + print("Completed.") gen.warnings_errors_summary() print('Warnings: %s' % len(gen.warnings)) print('Errors: %s' % len(gen.errors)) diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index 52eda3e0..75377c43 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -43,7 +43,7 @@ logger.addHandler(handler) file_logger = logging.getLogger(__name__ + '_file') -__version__ = '2.0.3' +__version__ = '2.0.4' __about_spec_version__ = '1.0.0' # See http://dejacode.org @@ -293,6 +293,7 @@ def main(parser, options, args): print("Problem occurs. Attribution was not generated.") print(e) + print("Completed.") # Remove the previous log file if exist log_path = join(dirname(output_path), LOG_FILENAME) if exists(log_path): From 2465a7b34d187df276274e76ea337dcfb8beb21f Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 28 Sep 2015 13:03:06 -0700 Subject: [PATCH 40/83] Create a test for genattrib to read a zip file with a filter list. See related ticket #218 --- about_code_tool/tests/test_genattrib.py | 15 +++++++++++++++ .../tests/testdata/genattrib/filter_list.csv | 3 +++ .../tests/testdata/genattrib/test.zip | Bin 0 -> 294713 bytes 3 files changed, 18 insertions(+) create mode 100644 about_code_tool/tests/testdata/genattrib/filter_list.csv create mode 100644 about_code_tool/tests/testdata/genattrib/test.zip diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index e0346018..53340a16 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -110,6 +110,21 @@ def test_genattrib_from_zipped_dir(self): for ex in expected: self.assertTrue(ex in result) + def test_genattrib_from_zipped_dir_with_filter_list(self): + self.maxDiff = None + about_dir = 'about_code_tool/tests/testdata/genattrib/test.zip' + generated_attrib = get_temp_file('generated.html') + filter_list = 'about_code_tool/tests/testdata/genattrib/filter_list.csv' + args = [about_dir, generated_attrib, filter_list] + options = None + genattrib_command_tester(args, options) + result = open(generated_attrib).read() + expected = [ + 'bootstrap 2.3.2', + 'Annotator 1.2.10', + ] + for ex in expected: + self.assertTrue(ex in result) def genattrib_command_tester(args, options): parser = genattrib.get_parser() diff --git a/about_code_tool/tests/testdata/genattrib/filter_list.csv b/about_code_tool/tests/testdata/genattrib/filter_list.csv new file mode 100644 index 00000000..bbbc6533 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/filter_list.csv @@ -0,0 +1,3 @@ +about_file,name,version,about_resource,spec_version,date,description,description_file,home_url,download_url,readme,readme_file,install,install_file,changelog,changelog_file,news,news_file,news_url,notes,notes_file,contact,owner,author,author_file,copyright,copyright_file,notice_file,notice_url,license_text_file,license_url,license_spdx,redistribute,attribute,track_changes,vcs_tool,vcs_repository,vcs_path,vcs_tag,vcs_branch,vcs_revision,checksum_sha1,checksum_md5,checksum_sha256,dje_component,dje_license_key,dje_organization,dje_license_name,dje_license,notice,license_text,warnings,errors +/thirdparty/annotator.ABOUT,Annotator,1.2.10,annotator-full.1.2.10.zip,,,,,http://okfnlabs.org/projects/annotator/,https://github.com/openannotation/annotator/releases/download/v1.2.10/annotator-full.1.2.10.zip,,,,,,,,,,,,,Open Knowledge,,,,,,,annotator.LICENSE,https://okfn.org/ip-policy/,,,,,git,https://github.com/openannotation/annotator.git,,,,,,,,,,,,mit,,,,"Field: about_resource, Value: annotator-full.1.2.10.zip, Message: File does not exist." +/thirdparty/bootstrap.ABOUT,bootstrap,2.3.2,bootstrap-2.3.2.zip,,,"Sleek, intuitive, and powerful front-end framework for faster and easier web development.",,http://twitter.github.com/bootstrap/,https://github.com/twbs/bootstrap/archive/v2.3.2.zip,,,,,,,,,,,,,"Twitter, Inc.",,,"Copyright 2012 Twitter, Inc.",,,,bootstrap.LICENSE,,,,,,git,https://github.com/twitter/bootstrap.git,,,/tree/v2.3.2,,,,,,,,,apache-2.0,,,,"Field: about_resource, Value: bootstrap-2.3.2.zip, Message: File does not exist." diff --git a/about_code_tool/tests/testdata/genattrib/test.zip b/about_code_tool/tests/testdata/genattrib/test.zip new file mode 100644 index 0000000000000000000000000000000000000000..86b0428ae2d3ddafbd6a6e803722dc0e875b1a94 GIT binary patch literal 294713 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 z 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
    pSJ?T{=V7_B<-~ ze!9)*ZK%iiRjJW);ng{ief@T`6{blSec(ifKT1IUej08Ii?@^GF!YK7X>!&oW-X)& zHtU=uAUEONmDn%iEaB2PHcjOIXiflIZ6a;17C7J{HE?*dS|#tU55u{$_>eH5j^%F# zi-t{?v9-|}iGrJZorX-&`HD(6OU+bIgx?F2p;TplfA~7@ZDuuP>r$%KMB3Yb+rv3QrdbA3oR;puE0i?3 zwRQY9>roU2I0&K+GHQLzYPms17E65DHm~$stz?`zhx1Njx#kCuZ{1MQR+OOK>WS%l z46XS`yTsq|y*WrJy?MOyR zNKL7l571Muh=7)n`BvdHhk2P%{E z3q*|P6Txf#Zi4^TK%gp*Gd7MRZXAIz#Pe1hNLRK#t;pv?bCz!YqD8k3&FngN%Iwx* zD#4e;slTQm;b5?L*EGejHBGGCf7E@h>1Hz)g%g+r6Pib4X4#rPN_c>|e8hT*pEzm| zv{~1Lf)lh8(X0s)u@fLZpFx^j;+C){odFHpc-|DC+~bq+yV^3p_~-kST{Pj%sIRxC zzHHp{kf-}_sdnnLR&=&3U!-0P3 z2hrmGTCLs5pg)oTkk7o@?aidDL1j>iq1Oy|@#*hL!d#8vG%p9RK$Or34~eGuGVGIq zp~6AZBvAnmzd@PDrZEqiil9IFgSQ`gH4Q$;cl^!(+k`!6lFTV(N^S3t;D~aseV=2Z zuAjJ=fY?>&fX-Rfh?ZuaI8Ih3j9YDU4cI{zbl>pkH8U48UkspD>p1~+ZFwij3?tSm zMye=QImp(TZH;8m+kzdliz%Q2?2QyrD~huSRV*G+tVAeKEBAy72$4?GNG;dKBJ3@~ zKmLHKf`MF5uW9c1%flVFFe_$b0iWGlVlXjFyR0%z4(qL1c90C9i;S}p46A~o3sYAf zL(8!+re)&q6HJovaJ1FNM!&yfVgV2A%YzBGQ5q%8Ls88S9nRCDeP>z+NW$)pmn7=2 zr1CZUoUrwOq;!Xxh7w2lG6|n%0dTtU-X(%A&ToYeHEi$OAv=TqbYQojhkwjcI`vBM zD^DPatH4B&HaizbRRrzgc}~Za%x!}!iDAnkCD0^WRaiOB=yxax=NEcn#(h4ei!rrl=2@MMQ#uy% zvmn8m3sYt$b3-AncvLAVp_a~7@wGjOFXRDNijfzqshphhR5ISfgUktNTt~%AL>@AD z``(TG9;I6CI1~VyfL^HJTFX7zUwNu}R^xJjdolsWj)UzYF?V9+LdMM5ic!?HtEa#)|j$HpY`PIeM$)D>0` zadgXXUBUrqJiAN2`q3T(2j%mayMX_&;l3v=VKMP@wNmAm?%huc34D6VQ9m3J<^bQ# zBKWFkQEk?Bply~t=22axEb~sV@Zf?|^>`yDOb`X}*1acB56wdF_iP)sGaG#TqMGT< zg3x03$O$1apa7rQT6<2b$ZPtkV-Tl-*k5OlfdL;J6pw4VV&)-zz* zSVyXGS`o({095Cia2z!Gw^XvRd;Mb{g42Q23y{jw6axD$T7JAMJB6z$E)4ArQibla z=3Lk}`;kul6xIL$$_bQu^9GEk9_2TJwmcZH>R+3Ge2iO_290c|4@g0h(e-@ZBP-%-K&Gkh?_) z?XIfIG?~jj-VXl(Lg~Ts*`zAIklwLzNi?zFYbT{UudF9N`{uMRQL$6rSuwU<*S&&r zovw42;J&|rLptn!+X#aHYK1(ATwSAFl%}9QMbAHLgXYA89lTrHU8w8{A`HYgahdf8;t}Qk)Yfce&dzr#(0lk*cUN&qt9e%Nf%~7K@Baje z1pguOul>t!!B_6# z5<1({MrW&n)b?pE0){$|K&t7jve{92{Ts(?@lics=*=39`&Um#tvz8>2*Bi3+53%! zzFBcHH2qZej#TUIQZ!l;7Tghec+0@Q7|f)-Hw|dKaWT|p$?3RV z6#A5W`o);{7;5WE`VZw1c0JlIRaYKenmLlB^CmLxVg)2a)Ci%Yk$^sZsP{KLO?x4J zpnqnv+jdiT#$Q9YWM2!H|8ltVzsmWK!F&}(X$w%sZyT?uL}g%wUDK*fx{xp@;5?0F zYBw4^vrfYo)NPVx>}(QO#JnAM&q^l=sEr1YuSd!60lZaqBC>XFfuQOKyX%mPsUo4U zu>!r}d*E^l=mQ+xDoB3hP$Nqy@Y&xwb+#i_BfIlFs8r;(2~&O(W|GAtWjQ^3hr{WK zup_YbK;)!hMtfL&BO9ftUI?t_{DGOS%N};jtYBZ^YS|-|=B8Lop+(6O)gwSiKV#C| z#602TY<7?5pHi$17Q%M~#4Mh+8sk-Q$7B-6B9KqUOJ^Z!KHxi`VI4zWNs!{GOn_=y z@|IcobG*R#=f_fLzUpHC9lw>dhn5AS^m)dxTr;<~fkK(npMK7}RW(>0qK2sbi57Xw zXFwNH@B3g-Vz2G`JJ8Xqsx7VLM-esCau`Oi-*JbYfqms8{`%mCR=)i~zP5+xxgQGD zA0I~Ob18zaWXn``JjgnJJs)%zub!akQ}12G*`AL(Sp3iMjjk>)7XBCXJFrhpiZvA% z7s849R$Uf}Y{+J@y74HutzHJwP75%_r;X=B=Tj_lSZ2-wPN4zS)%M=(@^Lk417po^qfFsii=!GhFX@Sg;gxoxSttw>XK&WFa=}o%(k2C#1=S) z2ZY<(qzR}4h-;JcEB+HJOpeM~n)R{J+%+{9!$^PKdXE#7pu7u(VvB2C$u$gJ3QpH} z=5g5?(XnaE%fMggSRh@6cKdpaZ)`E5JE?pd4;EhhQxQa4HsP%!>ggVu^bscDR8tWb zVwGqUX^7M>`2G0pU@!rzhNc{S-0AwzmZ?&m(c^iAjf z$Kump!}_Ze3C~Yoh5!6_+dKb%@&6$b8FBwmT`w4X!8C{fZ1#R&`<-rVqp&tiR{MkI z%)z<6{D?+iatE`r)sOd;XFWF_n2Sdk_760?OLlBGSh}9FS0eCa5H~rh`pg7U*Qq`r zR^9-8u~f$Lwo6dZ1JW>#g;Gjl1^@AQw{oAxgbbV<(=c~%$XVX%d3O0#QTX|IS5bX% zIYhCqR16G#)GW&7kjubUbiDH9AB1m{{T(t8oe&Q2l4k&HX4dEQKNoLXWB4da7H_VhT& zBgG!*aWu%RmHggO8A~jiT!uibph0FRVOj`(C+pdiQt81vU|rk8T}c$wnvkH+RKxuI z{zpV_(H(xVjbK9ku(oh0xN%@N8)(#*Qe*l)UqVzZ&{$Rt@0&wo{U(TX(|8A7hCZ_z z$~f_hAwyY#AvfisRK!T=i7AJ?w@+96A2KmDd~Y!0-WGE&sa=sV$xg}`1N&z zaK8-zG~PcVc>2e#J-TTWU{8@f;iW1p%LW5Al#wGihbK?qF6~IX9qemq_uu44Jy6xk zKR9=LmlZ<0-`P%|Eh;x(zyb;#s5pK{Xg^!FZ3h(gyjt(iAe3mixlZwmQj} zvPfJGaDRdZJPhcxbI)m6Vr7v3^pY}qm1|iAFThq-Jp{?y?AWYn37<4k55J@0hy z|Fv?wdY&~5{UuvzU(dgkEjt4T18Z|j+y9g;>)5fsWJ~nv1x9cwiKqxZEJuNY(wcH( zA2bpVMLVn<>9)D#v-1)bIqf3V;IbtTE_&Vw!)_eSBFky9gWoVGuvA1dzXa7>3k``F zl}m1S9{lhc71UxWl5@VDSW1}II4$nCYe^pkLlcv^=REDVT2$)P{Vij6%$!QG_4~@! zx={{gI`r(N^akzXQZ0-;HV^PK%ncij`S(;N&k!EBNY+n#Q+SAUuUy;4HQq!XW0HCd zw`;O9o*H=1W~&*GQ!!$i$ImFz^a$a~XV~+nH>A3U*wg`uRiz08<_`9(!-RQYFJ8YE zP?jF;&^{}yRn%}LibrWIe*}w1zKn_fv%9`W>n7vh|J|qj^#WjE)8L^0s^V9+91z~W zYWwWW|FL)J6{{!xWw|l1bw>%)x!P}iF$m*N1PZQbch_PxVvQ~9C>+=LxR!1e@VvkG z?mBs;!RSHuA8(Y}mEvgJQ)Q=DT}9Q|aF8wEn@`4xtbT(3 zcd7r9d*fV&rI#=74QZ5r<8SgGrB+pukXKT+PF{;!XF>exuVFTn?Y|H05{a6}3nbCN z`oUTCz%4YcH7?eA#O|j)eA%;g!(JP{(R%ha_YOopxcb;MEO0HW)5;!Z341e5o#d;h zLndvLs6@%=`8XXs&$JhkN`L_?K8P-R6CKf~{+Ze`K;+M?p%7i|j%g_)OG2U6E7=75%dLAC5G@uDc8Gnc*Fk4nTOzV9%xwqU@igv{M1GQ^sbM-pBl8Wts zfd;~ov^dl;)~BPLW)Z^BUSsdj^G4&B=ErKkpt@dPK-Nag|N1LnZX57MYmTRnziL5c zy%uqw^(nmrj$138I#D4F`6#udY)t{=VP2r$b<$-Aaoz>n z=QRphO{h4prfXI|r(~n$xM8rh-VU{X;RzskG~gEK0 z_P>J)TyhgQEiy`>^?dGS&5RkY%<=_59t|vlbsIP&0&1R6@i?z-bh^TpcWtNxoc*YB;^HDOobG`Y%eo4>54XT`_l97Zk^qYTd_>;=2t{U*!?58`~j?gAXg* zreL8|=W>d12WFj-`k#2-?$ANkzb)Q%>wu>JoGJjOR_jf}TCltW-A@xTBqd;wBA4p(@K~P~!HcI&S;HJShYC`SmqlSU4fg6~ zYIk{$J?KZ0s8Q)#ahSnB_HB#(j>pX(1#6~(rfusX|31#Js~dXJtd)y3IgaG+g>9U+ zY}&7=>zv+5Udeq_BQ_g6g(8}f&@|}@)2;dwUcS^-_?B0#&(alDAjPe<`LM(#{}m^L zt{YLNEPXTsYTN>teIh;yX_|*g4eqp%v2eB;u;zEW3a+N2ELS2acZSld|8Rxb(exwx z%IsEJqlT(%*|>Z>V|-)({`l=q#bv(3C-5_kZ1SL^z;Wko^+^Mv!lXh4>xSXD(4{2{ z;G`Ck$<~&nU6OHQl@~lRgInHdxlgf>p?1_wezyVmxeMeU0wdfae>fu>sb1_J_A-gQ z6nt3Mr^Afs=@|3EkrsEn*9N$llRUNVp;(ymtt6U2$UTBN(?|O$I-r3&-yA_hNRKf) zAPq)SBWhj_%kt#73UeP|S^a7PpL1RdJeviPyb@$jyx+eW5LWF^F-w-HZNu*oV!&`k z5-7-pOMkPnI4d1zb0&@nxnzm{(11F}L0W2@MTZQrj|*WnI6Y_+O$##cWC$r1`ONA` zI*qg3yLW1SR~Sr$_M^M-6a;Z$L0Hu`X-wjUHb?l{qB2h(fVVpPhkqX~WF`pAgmsxD zig-($^FXjG%-`(ul`;UT;KuKB$cbpH7lE+g9oT_H zw_rwppb@7Lf$HF{kH;*i+aAJBe$!EeMs=a2Shv2%{hXObV7mTgN$`i;6(sL(wNLWj z-i>W*_H0$l_#`Gk2p6mCgaBnU6}h*5=;_i6V4q)NS#G;C>qF$gjCNTRk&xIV+q6gI z;yFvH;fOgQ*q=U^r_apJttmf{srIi4YK~9+u+VGICAUsIhxQ#HAdTnZm^^%(S}ZWZ zAP4)+xYbRx0%b1f0*{kv#PgxpMO4viOocSA$wUcBF3Lqs2h?;|?S}SNi~4UcKWf@Rq!RcPX|CNn?pmJA3~P6z9v#fb@(m4^*| z*h;-Tb>7J|4rfx^&aP~_Uf+|`%U-GP`I|?0Cx|m$stT_lQYlhxIeFaAuSHceOFwfq zp}3@tpKP8nOs*=DgWm`!L6PqX4^6}pjT}PNzBTTt5#i?Y*eSykW&@((P1i?Q*Yg-i z@jN+YaB8i=c|+*=G+#d!z3aM7mY(idD#B!lW9seHT35Psheg zo2$m#hQ-4U3vob;kkHq}yp6g#;kTW7C6Tuse&EjA)ZMUi#v3*mAbO^RDv>yFTYe39k>^fm4pJ?+SD95q#2H}c0%E!bLem( zS*0Nl(EZqPl<{hm>mp9eUQtlAfZKrqzs2Lph|`f<`@KG%yL2G$cwWv-SUw67wQ|%w z2_5uxLW!8$erQ?gxPnEjG%G(x&8&uRR_tywoGV+bPnuPwLC01^Kn>|CW*>1UdogM3 z$0PP&i9f2Txpp_k!ZPR*$RMlzPZd(m>teM9Z)%S*+CS|eP<0jh^5Jzu@!axCu$zE$ zXj>=u+<^LuRqfec4O;3Dr0(L=$A&pO_se}XkKp*WsTligPhyZN=In}6<2}A01j{Bp z*V%gDvVwpgSG06dZRH{e^yov51tX!Aj!;TpyX)~>wxDRi>%N~EL{pw-3yTP-9u9S{ zoMd92G3ih(54^C%`~WcL1Jo~jbg(ho+`JXwjMdFtL4|vPe(5rxM1gs7QQ$Z?*(`BDCfTyCK;3kwByH=*YR%J0II_XF%}Y^wmNbtO@)s;d_T-)+mhzZQO9-SU z&P+<*SJm6-!2ULq7@^l14@L~#lu0+g^qit~u7kAs$(D_0=M{U3ytwgqHhm;ZOO!vl#PEXimJQj;4j%{uBr0LqG$!D4W`04vgT0a{3?|Q(rnL-kKyB5WYL;AAWF-> z#~?$^*P=H;J)ED)yJ3lmgIsEX7G#FKlZYvrSCY&!81_D^+ykhE7rOI({y8>l(P0}L zD+csKs>!JDa7XkR6s>l?5Xdtr#^28L=i}9()BSSd~J+(U^VxAT>5-VBlJgrR%PDY>n}``(N$-Z%H#V#f0kDvj_w33Cpf_Opi>4;eib4w7xrRK%!&sY zl$>RhZR(Il*>m-gVsoKbv{>sp;6~R^8&ne1uuskbMq#2PLYRvi{H1wX=*&-Ri*b2H zIAy+aM^V!slw1bhhwuuYVxrEr3OgImfYZW|*GvCZP`oO5R5>XxozWs_z~1?Jl$##?KZ!%n+JH zhg@gu!$f#y(CeRBLu}OjS|Dhw>ntT&A#mg%ny9`qD>NCbsO%dQ^hw<_!9iy_KLx@i z`;O9INMBo%`%dms=vH`uv^I*yG{q&Wz47y+hU|Q)3`&}bImtbRIny(6LqswS<@`XO=PwwfV>94}8Pu!)j~PGI=BKTST8-`$%)Kl++;2`-oYwL~)&b*p5a? zE7D&ejsfRI6}6%2h(4VIRCQ0DVQN_H)O%d+R5Cm)LmoI0i4oV0SEgFhf;&f|%H>WCIS7SW3c5$PpdI;*ShxFdzbE&b07YV$R9t^giJ*!gp*;&ktHNsE zFvpAHiXz?sRgr2dMGI9Q8CZ4-5PM13KwW(##)xpvwRosWY2=`C0;Cj59y--F?2Nva zT}gVqT7V`69n@jT;w@PBw>>dML!?{@6tY4J0@&OrY9ifT8^%p75{kiCvt~qi)C7Mg z@d?J*2e8t*dIJB`6);xRY~)d-DI+BYv^N#?b>{HMc@7;jH63kbvr$%*_1N9C9cLUm zbDXLI0)HFlVRs$_tB@;?&y7jIBsi4diQf8K> ziXypu=F{B>HZSw%jU@|bjoblpRcl2NKLjS!#;%^YH>7(-5fUBjmQG$-611DP;43|J z6UKec`?xUF&X{m&LpEIEAF|Kn#;$}8m%OKs&Xkup*LV8X<@E_ir&-GmjkjOfyOQ4_6s{Gw^zCebQ01qzvo5E;tDeS1_VT)Om`DYxNX61^BDRAd;=hdYj7 zq?pk>8r>YnYOZ$3h9OwyEF8KT8{MHx9tr@Zig)~gMh!}z+XL)}fJhL9irr#;9?RY_ zTa2Rf6gqKio{mrvNdI{@^b%Edt;WY{S)dRzyDDUvv*PzbbE2$3?V2j8Usm1sP^$() z3;F9ewSX0*_8K;w{@wi?FhUf??X_pB2)x2-DvRP^aZg&$kjEi`8zmjsY`~T4!7J}G zU;Ne6!7J!ge*T5!EecbCWp{f6i!4)uy=Q+PQ)1o{@jK<1VH<4sunF9r>2#EuOQUSI zTa#dB?!p7q+7be7P~r8-e)-Q&2@rny0113_($-nE1{Rd4ZgDN)RH>^8BRcn$6#+8i zi{RL6#>m}iBhqw9p^hvWLl;G&i*FRwYHb?Jgz{w4)f;qYxc3W%K|ol>fL8j`vqWqB zWh0mcGNQF*qDhY`LJXp~c}=p9)=EoNr6dW@2|ni+&q`2R(N@9UoxsGVL!ZA4lcTYm)4V9+P-CY>RhuK(mR9}8h;lj$&oteG$z z*9R|6_}YZ@SXW)$Rrjbm`qEF5^Ep!0cIzI!q&WwYZbSg34w~X&EJLsMLSs48RY7>! zKcw0_f0mjTAFqelPuyAlhTz4%^D@PXFIHFEAk<7W7kZNs|1%otU=h+Xt-rExhH zHCEd}WQ?;)xR=%?g4eyEN~+Nd$yd0 z%e#Fk|KK~!kU5K~pP4@SULrX#p(5tiBZtIWteF1bjVXXKz18@Gl(G^O&H4^Vp%u(B ze%fqu@yq`vZXZ_C!#$Xm7Z&hCqgY1~c~ZtI`$2h@t**o<&P2Si{CamyU*m zNf=$SNlkJ}jJKI4J+y?{{x}4VOHUHdPo8&p{u}oVJCwyr#W$L)1DFki;bXlMQf*BiamH-!j6H?nT!H>(QV8O91)CLG&@~U7bV^H|! zQ5~ReMi(@e!IR^UtU0!Tho_hld?LyM1VYxDUbN9ZI07n*f#xg4GD-YQ+~1kyNZDs^ zbWnesV04QhfPGM&6mcJ0q6fUxC^WQ-fqJ??p%%BKdFrTmxObakcMPE6bWO3@@^!Ow z&aC=^@3qV{Ah-Thozi$<67(imLm_2kx#EbnLJSzKXryk!3h99vi5WpNTcBM)u#L;T zd0qzt9;$qC7LvQTK@jwLehy#t<25^EHk|VZ3g|%2X^Il~)3zgr>g&UW&!0cSfa@N~ z1L2$cQ2#+JzXREI`|^T8{73frf<0V6Vxnl{Sax#2)1!dNJ-B`QR5rwn|2hp9ut8^Zzk+ zPQjr>;g*hV+qUf!+qQXPCnvUT+qP}nw(Vpxb??;7+^WGt_d`E*?Y*me@Ady{eQh;X zt8LR4d+9Q_`{huUzzJ8iSGK3ibxl7hE?M^1_?GKo{LL;`hi89nxH%PjyEc(} zWBSy_SdsiRY-wNk{>~al=_85e@nQN>CK5(84O;Ob(O`BTOD|>xv^apWr zXxBVlcC|P)T^4vOf&b*48!0)#!A^*0mxZ9HWv5ECLNU|5uo1+E^+NPG%M$>$W5pKD z6mw=v3D-MnqY&qzAv}+g3mm9~wV#7CwEt;W4tqUQ?cMMgez7Op>t(k1*O9YK$9R#i zjgzO`@vr8BPgeK*q_Z~`v}t_}ARF&Wje zW^kR5x+Rm0o$sK^k+9;}n*@ zCU-YlOn%(3O;vFe(u|9RKZC*tM`-4ot&nq})&*&LcUbVtm0)O&aj$}snhK`w`T5N9 z-k6QYQQexAVhatLu?I8*+H zBn%)Hsq$RP!AM*@CYn(8x0j`xwc>cLxLWfpm=ev$5YC*^r*?y+wt^+O7IoJS6Lqyw z321fixdCUh1xdLa0x07=&0{`I^gU|Du(L0(fhq3{lz?Uxys=LEw;;&9Xz;p}{So>d z9Nkr7+cj{G4kH5~5{N@DI>9b#Q*Cm<9&C~?!fQDYFW>^0ngDmoR4#1p5m&F-S3T<_ z#<|BTm{uNju0_&6WC1J?O#$&^01k3DGx^*ObY&gj9;APok6@-(vb!x{8wQzqwJFt( z;F0S$f?oOzS)*ML9_;?l(hZw04F6`0*Ee#(r}Cb+l4by4kow>yDot`9KnI0nv^^G| z=xexB{ z85eUVjlPeh*C{xDDOK5h89z#~@IN6W)df=4ixJp-@04CQq~X{!ebyP(d7GUEK;-cH z0VUy~twu3bS3Tc`;QI3#zn{sysH$$Af6#_`-{6m99?_%O5Ar7zbZY`3O0WQjob+qt zmUD|1(mFi_QC=%+*|zs;TBr(1IZC@|QNioIF zfeRx?YM*wRKk=Zyk&vee4Dlt0&HGbJ#TlyW;D_Rj7_ca%UEw=uiuW$hLW*}19T1Y`1LYB?sh>7cZefx<0=HT zK7}GLfh6~i%vXXEC|9y+|X3K!n8$F?0LyHOR9a-Zi@R4Ip zMp`o|={9+6S0QLxurSnjrSCRjap+s^;TnIWDKpzVl)yW!!_;!zGCf;i$HJhIwo64B z^?_X_$O$(uBU_Pr#+4B!mrelAww6|?!BP`!-7I6rR*+=dt+xb)*aJuuIwOO|;$AR{ zh1b-N>G3ZC{Ali03g%UCB4B3VF48CWj4Qq%+Pc2p9?<-|^^VSVDS^3NzQDR~EC4y- z;xg8XykHCYYHp(x^3=wof%$E98GoBNYgf%MzjyBLLyY|9U?%47W{fdPF^WX+d&bct z0WwCo2kSw+fu+J%*v`UTxY&2RVmOtUI@GUDQ{iLNnTqktpYY$9sANb9i17$EvlXPG zBsbd394{zsC#$GG%P$<1xi5(t!pZoqRp2PI@xmZl3jA#esA1-hap=FwMX#Vwooq+J zB0yujA(F4Sk4HzFk=qF!#ALE!K(7)}p7MLLRyI|%<&qHY?*S!B<~D_GT%&Enx(q+q7@^n%x402!q`^5QNr-N|Qu^95B;?Fc>jM z&43S2ogQ09*)B1>bpgTvj-jqC~zoivM?(!Wlpra0dC-8bYK|!rx_!=dJ^lqr4Whmv*9G*`vf5cvqx@O z<*kS;3Y@#>2CAj)nNJSi#5Zpv(NH7>OD-%6AZuz8FOI-P4!E-KNUF>(?=`y@c;Gd8 zE}B63a>>LoL(S?vvn79A6%mH#$uqs_#H@eQJU5#x$p(XR!qA25E>X5iYf?3~Pxp%5 z>!!?^Y6a71kFvK)K0fGouCBVFTxkw-g}GT_Nyin*+PB321YtqKZ9jba^Y0T)Y_Lsz zHj0`Wl4>ti{!xKM?GRfwssMqCT*?fuMY=@EY&uUMT()dnqA{!*M6`4M&&Qd+i5nSf>t!r4BjTdM_Pi$-XN~s{E(h6NXrvCdBUs5mBWs}(RoNIIT?n;4(MU%*6R!Vi zAj9nlmY~p%QL0Dnny6rlXdzgbZv^P5gGJvI*xmu~Mfq@S$tFe`Y{^BI8hBTDool>y z;h^WIdd)OcRQd#G!}Xs%$w!0#>{TTizno?BqTUDVeA{bYI__mOIfAE2(R40da)h`O zzvw~HUN|x|e}X5)heNtoL|(A*#o|Z&{s6JV*dvgxYvF82IbCv7V#4qB7LF@_IP2ELd}3Rt(u46 z9^H(DwlR~IpA+bdNSa?qp5Sl)r<7lFQ=Z_b8R~eHtOQ%rZ0R^;7 zaQIR90N&q=0^GR*Nj-lc6=7QHN`>XIO*Ndzh@8baotjQMrjvv5ruI(yzs{yv3Sru{ z#mphId-Bf5+uM1Ajta2rg-_<1>JGvhlhcy{>o+Y%Q^g!oD4FB*&c^8*==~gCL07ZX zSqvALSBP}x0QuNihKF1lB2gyFu>?pZT3nBLM=KXB;v7Wpa9PGuW04Uo62JfEDj%nG zwwZZT`WVCU7r9=Jg#eI#4yfN1JR-qiz*1D47PvB23ilJ3SmTx|5Ia=Z`NrS}KplS{ z8VlWvPk!X@$OeZJ>KJd1@$iv~-glnjY0H8eEp=>&(pCGa0%>%16Jxih!+8gF#3O#M z!$-<)<^864tJ$hHq{d#F@P~TIW;iG2WN+1YD=`(FQ4rpXHNS%L7nNbW#)Fu#VS4IIyan#b!N7fb-A=kGWoAF5^$9gAqB+^R; zxoU=89dm0!|BR9PX*M$=cjnCD@+F>Kg1!c|$eHlM~-c4?{7Ei&h1KHDM-!tJ=a z-P?~V=0h>XFjrBrtV<-FP`1n;JIC?Ei!+=G+uX#Tb|rgPE_Y@cOO2{yu#$(KZKOuT z&?cxe^mhAr&zy|4EL)Dd+r6Rz-otV`Px5)d=Q5UX@XA)U=4Xc)jI?-r>Pp&Dx_z{a z1v7~=8Ec_bFdyrn=9&K#bZJogEPwoTZtk66RPcaO&?5qMns>=g!L$TVa^m*=7mf#G zu8`kcj^K6fUFw=k`I_!=bG`o73p*wG27a)OWkyr8Uthq6p(kgIO*Fk;Whv2lZLFV- z+NE&j|A%&YPe9xi-S6kms-0CnKEXg7c&<7y5XYWmDWr(1`eE`SPaMHE2}5hs7Svf- zpO@M^id_sSFg_D@3qP#%UTk73#8Y4BNdj$B<*>z+>1wQ&4z1JBei7Gi4Dqt5MZ7bG z^L zTH4~W-Sq4dq#+IaA-S}oWbdy^p^!Fr8QdE6{4*R{Q7(b%3~)|5K^A@^DonAYN#N~^w;>3pSyQ>?{`~~YPAJGdVQDH$6VwGoW7RPkYdCMzPGr@Pn3ml*3;Nd zwD>01S1$OjxRXe0YX!Z1#vbTJ< zg==IyK9MuwU*fIOs^%QP1EyJ}D9Bt5PZw$Ncn-@UPSs~_RJor$4E1Mxw5crSDbuyq$RmMgmfXN+MfS*m^Qvfe z(Jg->NFc&(imLf^R9Rmxnp}t*H&4=lC1u${ly1yMV=)l_zuwODOeC(B>HqiA??wv- zc-*gX;^Ws`^?#%s*g3iz+1i;g(Yjjv{ZGT1^2Xmq1_bXHwMk;}!8}S8gB>VZ^s;j_ zmx+sUiQ+J=6*i+1i|30pj*M%?z(FaxgEYtK%}U9YAy@-DT$NS;{NVAo;!!Afq8*bY zdRgWR8q==kk)TU0V!Swi7Z<=Wk;Uqk;WCefI1K^p0{94?mw=Ud_&R4*E=z}+a?d6G zQS$uF6K17v@}kIa;|A3J@(^I&d}sL95`8cm=Ss0lOagS);PA#6i7bCj5tVY^T+1V3 zq)je=EA({n*7tvu>KyYxd`3}))Ziyr-3V;ajld>W9BQfsg0E$vi!K*|^0?%}8Co`Q zg<}mFPb)_;Nu@V-MovL&w`CTcW6?)ibq&@;d_yR0{0S*Ld^*}ybb-!sUAnu`q$z3> ztRE0}>OnG2(F?Xt(msLPpt!iOW5cL>W*bTM4)8Oi?#mpaQ7jl}wSS#`6}3cwDUfl@ zwbG&^z@=hbn%bq;Y@_H1g@?uy8G$iuZt8+hu_9@a9w)&*Syfrs2Ip8UvZGMEc<-P> ziPd(9uufHc!{tRPT}@db&;oWLCuB25Q47KOUQRpvC>0!B z)rVr`8j_iX*vNB^&yL)RIHy15M;9j9@ek{G#vowJeUWnHNz!!mqdw`xtl~ME$#4m^d5XynJws?P=SAfILffzYJDCfPB{;s#qU7H9=9+(aVg!#;qM;pr z?Bfga;_vwUFMLKBcL7KSH~;`S8UO%_|6?ou|GKLG1Kv@ot~Im30OLJVQ|q>uuW%jO zL80ZBUl-*J+^4mCyn%k2KJOIi_j-fVaWxKLk9cVzgEPX{9FvgvFQ?tXJIN_d!Q0aO z)0j>5#phY+oWPnlOL;ifmHbIo?HKNAD_K!T-h}Dm7o^nOM5xuUE>)c$HE}tH2W+Wj zTpXWesbs^`hWzHnq%pth7Sl#v%#bu~(X4aCR#Yb=vj=M-M;i00lu)*$tIBIi96t=< z#YwT!^;oMg@(`ALZCiIxq zKEE4Ny|$J$<*13d?%`NJ1r8$Nfl8k(n*xn0tGiHP#|KXyvEph0{(xgT1-@`vm%-E` z4=qNev*_9U;?9EqJKC=lcq0)j*7pZ)jA8MCcycEw^E8?C`+E*Jzi*p4Q!IgkKsx-1 zrLaWkLF5N$msZv^#oHMLJ+EO3`bShdfnLV4ZrMv(hVmdEH}#UbgRja@ARCZYa|2#9 zDYWbf$o-0MXOuSW%)FAdC(qo-nHs0M@d_O%hIser*b8?~1BKes^osg^X_Wf`h#oJ^l6oNa4wnZG8_KB-A) zzJ#Yq2AP&KsZ=n%r)b5}^Mu6YZxG<&)3d(&$kRR59J1Dbr{5lMMVBk^9zh2wv5asHyI%YC0Q|BMkE!F7HydU5oWncNC@Uxw3D4 zgz!ZIROb2kLLX@chz#mw*!Pfp{*w*MacvJsPSB&KiswFe&==nYU-jK>3!M~KI-T_^ zm%jE@uxd>`OXLMT4*+bH)PUdMYJGk7f`790w0})ZWTltx&I!+U7to8l5pvXWk(Wwg*5@>o<1WUJH6k$YTd^pEr@9IHhb@qB;%LkM{u}uD~r!OMP(_=vkGp6 zULxHRuqS-=;u7z%+fmqB94=1!L$yTb>`rYbMw$L(Y|^JU*`bKI39fB$TNAYPUcCTm zanIwSpu)w1w4?;dJUOf^l(Mh59y{S1y2Bay_>-U?>{aIHeWHPF7Eq>d;M2dp(d`DN{m8uq~mu}U8_%Epqch>&|{ECbJ z^or`kH>&c+Gzg*XZ-b3y!$IMKYtY6KnU-VMOA;-Twwe|mdZF-wtfV`sh963kkdn0i zas+#ldruPpy?o)RrGTO)nbli?E%rX%V&ZM(=!^bLc!%#Z00(bUDvsbSv2^SZLF^AF zf?+Rfw4f1Yd>UnYKqnLS2+QExd^&}8$f1SJm8bGAJ@4b^u4Ir7z|8Tlx4q3)j7cr*_6rq5D9m6M5yFkrKO)Xi!veq?%y8qgA>`-h^fz1uMY~>T1ix>qul8 zVK6^=l^n7^5uD%H&Y!%lpZxc)V$U3tp~XJ=F~H8D<@~!bKO*>B$v#u~KPi0wXj-3F zR&WBh>w5>D$h8~>imyYuG7)2C0Hu_g4~0VaraOp#*YEo?ksQ zL(ZOd#El~cITES*!#Zj;MR;n5BhUEV%@5rd;y4lldeNLqo9|=`?aqk_VTa=1r&UjO zFr-(2K8FV;`CRFi_}+ca;JqvXb^Ot-g%v~XN0F%gw|!*XofX#5m>tgW4D$PN7g6xS z`R=1HUSH3c6QFO-NQ5~^Ah@B^rx#oF-4^|T>Q0X##q;;e3`S+G7z{#Bq?r5{OS;&^ z7)82LX6YG->UI zC?r@kDr*Vt0)G)lN>2mp&fZIQx*Dg<8X8E7tF5tDQel!+j&-f)1JfYO?|!kS%BPUJ z{=hUuqTof0z02E^>r5I#`N6!2i2#I<+90v<+QyFtkB_IlDN+bjYe~if=w+;Ge&u76 z0;z!_j?Ntc>eVULl5@UqdYf$a3XO{@p@p6(OHE$+7>pXk4MP|XdHV!iNi8kp3fxrz z?(^lB>$HC-S0;u2E#*Sderr_HHUxVyt`KRKbg-Z=fZ{JHlK%Br+&@O-i>AuLzLQN% z;;-etY8ivc)DLgAl-=6%UhG3KsI#F@JDu_g4_@-9XTb3*mhj8;nABT{~qmWb_4vdAc$rZHn-$xnjIq7JCKhdt*_Q zc(dN|-dQtw8O#8S#;Q!nA~(%zJhrgZnlB4IA_VG-nGiKfp`rH`V=y=rm;EhBSWLJW zb~3_0N0ps-8x3NN$V~Vc!-G9hnCHFKpls-r+5ZW$J`Kw*jz6yepZ$z8gA^L~EK>K& zagv1tC5RNZ(I8F|X|a)tH}pkgd< zw)3g+#Hb9}87fz}CXU8@wp8nK^zvc3{pWUisGwub@UCC-`vm?XbO7sjp9-Bs{P};2R@Je6_gjG_%YZS`49i%mXsj{jFJCI4Efi zygW6pxe)uFj{SJgyDaUH272-Ijq?FdaPWnlpyl|%>{yJPd@{249D?-imQIGLIL0Ed zIcmzF89em>BBw3<7EpvECl3P`4c>ZrqDyCf;d?#SR=O164*Dy)YF4Q%wOGdotZ;Y&FJ|Q40q`mSlf@`WT*%KoO73Xzkx1~Doa+olCZEB;wVPap* zVhki05&Ee7?dAZ~Nzp{D@Ugw@=84Z{YlvwF8VyY#C0@<6dI)PQs)3L89hF5*Ikv{G zvXm4hRSGIeWzbq0ve}`LlUIb3a;n%%nSMD)hgep=m9FE+cv4)BliX)V^IA}Lcg7mw z=hyA;Yb*xEyU7ah4FrN@CT`Qb`Y2xIISNSP(}Qi^?TG~du)YfJ(lnP3b|k0TZjh7N zYS^l*&)Jl7jgnbuG_rTDL)Y0+tfq9dXR43vvBNc93_WY$)@B3-)8!;kaa|MPCS!9` zFW3q-u9DclV6LguW)Fi+2X}brN6p} zt|FtYBp~{MBycn_nHnY%KCRdX}W{ra1x%1If6qUq;5;c9OsG zr|mT!)8Uh=A{W|6HyT1jARGu{;rY1L{Qbp}1ei zY@2>#aJyhiWq2<7)E345987zE=kWNrPWddxPOf?7AHRQ2g(Ys{;$298@iLV@G|B#DE@4Enrw8 z&unj|4@kMJoSYk()E=c5H5$-jWSt;0pIt?6{rGO!}@ z)rL)3eR*o04ooQc?aI4nTk-IYfwJj55armr(Ecb4trNiY`X-L z;E-Kqr>T36Bu3-DNIxZxtCCWBN30@W)lFO@`gW#ZIzLylpZ~>_R)_;sv%~xwl~wZp zGw%QCOxx7dvb|(M_&40se-2%RlFS`i;pFSEutzj5!sCH_Q*D7n-@L#(QFD@!)+)=k zp$M|?2j$d`?aA{nHOYP;q30oC^)=MOe|ECM&c4EbN?-k31KC@1{Q8p1;rTgNiu$SP z>1tDb|D2g&6F%|$GA-J1lk?$yRPDK2x4NM!;(z)uvfI#^Ps!1}OL>3Luj;iKQP{kBV)|Nc_b+Zvo254ozqr}p+X8<_i38sTC4=R~nSN>+CzwpwQA zba)75(?eX<=nCte%j48qdEM4&-N5X^azm^FTMs_#N~x$$cZK`6&9-NWF79=k+-7|l z-?~8&>iJt->t>J-(FBwny8!kbdSgRh^XscN*z3!SXW*#`-V&u`2OhXXatS4MjUQU)nh~bBXfs+ zmwDa%Odk4en>4*e_oXJ@GHT1kDHg zBUwY}7yAA7R3iZDqyCWK_r;!; zBd!d)yHov0o+F-CS74ehE8G!!Y_gFbiX|GEH>;zY9(wt1M#q!#IFl$aAA zkZzpla;HL|vm~Qh5xW6V+Kga$!O8gkh-;uzOE~bnf{nWr2UQ|iZxYK$>|yfC;+-j*icOgidaOhNRIdLCzMvNs)ZMvulwzhroF)g_MOgx|gM1l!WGDVTiQD zjWyBXQkFLNIf+ACAtulet3$G`HwIcDdyTA5Mhk|c-ny?$A=0cx2_9X#&tj&nsJ*|7 z*u0R0ogRaU(wQSH4oCPr0q@_4|7&j;QL+^3Y5))c5f&%V+CkzBD&^?sWzp4|cZp&e z(?G@NevLv^E@8HqVDGlaR^!2OA5+8jCV4u|D{bb_CP5d2at~4k)8O*QxRdrHTxDc_ z-h%PY(n#b9wasf!q#+MvDA5{{hK!E%dhVK?pcE8aH||e{W-})g6|y(u^p7B-6WZX8 zvFk2Bg=Eod&s|-M8ZC{}-X_;?Y(rX^yb#F~T2?#U))e3L*b%THBI*#7CQFresI`G` zkyasZGrh_EvFNhsG$}`qO*OCc@iS%}At$2Nyn0E_fF85-@&(cvbjc04F~CTm(6~fu zF9zHaZ@g7E)5ho2LnO|~tFnX1=$Ss2^Djs8zxJL1TQY@l5lD8cNMWIMA0Im!HFOltWqQe_O1PPtYyHuf|QMU=uSnX(( zvjLBbw-ne0h^$EynN+ADZBU8~B-;c=PG-R*qqBj*TSWwPE&r42f$LQmYu#t_VnBv1 z5b%-Qu{2@K`N;MRU}bJmNb%REN2a49oHFt!{nv$kuFxLzywUm`B+8{{-# z6q3}+GFMXU6FwAhaXe|QWWwkoy1III72STl_Q8u*FiYCRj>{ia&gGn?Q@Q6-c4%C6 zDZ)tP=%j%O9e?=o70BezWlLS|{WT8;y$A74@y1e+{=D*rCgCX5IoL+f!7IcO$663< zWFnHORS#voDbH{q>_>@Q;9(bym(_IvWuQNM-aNH{vd8Zmt53B>p2#JA7EyNAL65po z=qUk&-|m$(9fWzfA9^AaiV;32^zGgAIrJZtb8YtaF@@0xv?-@BvWrs!*}Ikx{mTQ5 zQT2s=hR~cga6%`90=*Gz(AA}fc-9*ZXGuV|p4PV70;5OWkfVa>Gig-pS3OMMgZIah zKF3YU$)pjZGgfNzGZ2?CtfxgTNy7O94TVEGk9Tw_{UdfFV?g`6NS2tuV~WKV)Zg)Q z!mJ_`H(+l2dQ)B0Tfwp$yEtNPoN1e0^@%1c(Zu&zR`t$!(ru7qid+jXi@w)3G8JYz zN8IGHhqYynQfZ`_j=ksG7BzZjITQ_0#`b0uZR?DWTvC6~(Yd=Q+5a&1lya7J%!C)# zFNuWX0)EeHOAv?c3;-DEqzq-=*!4*Rn&ecYu_2xHK3+DZ6clUY@2-08Jg^FO{)1%W zkmh0t&D~i)`13s>bc}VVTCmxsXAmp_XBu9*Z^Me;Fg7Tp5?Kzp~b^B){aSdnzyD6v#p3bf&jvIB)S#-+#)Uj5{aQ{e*7({hoSSyqA&~uMMSp zsZ+G>J7{ zk!cn}4Yk%H<*IzW*#HOmRNb6Lai2A!L8wl(>^{qqpO2xWtqszveK zYApD#I61^#WzsiAm6M<240Ew@aPk_$6ekE3if84%%uB^CgZydrA=}t~u&tRSeOh)m zATy!N5Ok=X08wBcw4_Lh3W*?i{n#2%w^=c!$rG9zN+G#}M#A164Gfw%kPksB{u{h> z#&tGo0C?;tKBO^UeTvn`51smFTJlH#MmtklIr~$HKu;at>y2@N{Hr24iY|I-7pPSWQR2XeXzV$e!X^j;8rCZH2Docl*m{uo%!fqnJt<@6?Fm+ALY zMtq&eGmyB9E`Y{J+0c7x;un9Fz@uH6KNWSFH(qoFOlCH430ZFvXCgr;EBPt^mx^3k z$5m%cGRsVTHjVJZQLq|tX+QH^=GcEW? z-M-Qx3`?S?21bI!=X-RP<^snW0dswXlp;mDB*w8Ab72S zMaB&oO{pT0jCJ`{`!mXhX?rzedRIO&Z_^vTRIa%~c{ay}`PI|rQk!s&EVC7G$HVLZ zRI5^1w{YD!5(tQlFfdIYqJeyUqNoDACJsHzcTw$nTxo_^YdJaP2xPwpnk(slPY>hN zV-u@cVi$Brf@~4g7(kdv@g>}T%0EM@G52C3)SOm$&1C{`Rioiv`{0FAbl^PK{yIfw zM6ajk24ymFxxkP5EX(qW+~dY+siCBE%<)3zCLhGox7oyd=pG&RwS#8IXy*(-FYn5a z5I^IGWOjFVm=EFp8dt#9{b@U}@Q7@8 z|Mm1~P1&$B8)O9b8u@%|WL@KuNMs%mc^0*O=t|cEk}wvwn8BL(BF83VG9f;*AktF{ zx`O=FAA#epiBCD|0}|6}M@ZVhYYP-l~N3xPrT;srKe-~2*$Jf!}J5n;dnBRauG#+)#ew{`Q~Z% zc))qB*^$+CJb~Jr?jcV{Nh)8z^0s)qU7liLP~4f)z=<$^IZ3v>D*-cqzeHPp8Kz%^ zWQ8HnbSR$Jt2wh~G6X)+k0fRk2j~swhJium(Ng$)IG$mXj430;5x;Z${VF-}) zwPD*pE}6wKGTCo(P>9N81v)mG(JeoaKBDE!8<+~NvTAPb2lE}@D0-TW&_CttAf0NY zrt)2HDF=gS2ArJ$z&!@ zyf~tZt(+v+o&H9w0B>?^{`=7`Hb&p_hn#1fxM0#J%b9XQQx1e{D{e{5s_Jr(_LROh1l~$l>&NBX!_?G> zD_ctrPxr&_Pyl&M4s=IjaUzw%gDpm3kD(VG;XyKCbL`aSK-LX&;Pyxj+B$TaDNlGY z&q8T#=v9QX!AC^ei!}t5=Hu4Ka-rV2i2>;afda8JL5!L zo!Xl9o=FQv(-M7Q{gKuxSM-_#*O83nBopb|0TsqZy2~0@*U1Pd*V;%# z?3v(*t6QEG=Z%I;F0ktCWCPQ`#A$S@GYQ7%xRQQDZEkB)B^RVKG8~}q4Kr#U@Wq)^ zHjc1Ds1p|I9%2vJ+DU2kMWJ+4meVxwhKLN%7RVS3({t!(6W3?unXoRbmRy=*VwU2A zN)%->UQ?+*oGWRDgY=9q(-2aENJfzooG&o1f0CVgC(BA*M3@S3>@heE+8`?t9cL!pVP&2VS{Kr*;hO*$72%qp}CB*;ZSg$YS7b7 zL=CBwUA$nBXZD9pT=0Ot=^7M-p!71CmS0_`jt&b!GZ-dCJrVqb8>t}WrG~O zj>Saf=H03XHPx3AY1rp9-)5~)avfJ#4|Oc5(WS5&W)v?N?aUi4AyW6vpn*Y+1HvKd zNSBBJNNNZJq<>~kuAJFX7zNb#mVQL26IT-+R#D?0Ia+fM*w z4A@;~;)*9K#cYj7waPM92`RW(`o=b5FSruNdVUo{Hm_y}( zqb8S1CyOcCj~lXw*rkO#8$|=tSA4^+hKKk=@Cf}jsTFaHc3bZIu>jDcx3w^?NH9*{ zQdFWZ@&o0io9xn}^1^MJu9@mfaO?AdRaK}Vvbh<+`Rc=1e#S@gmGki-2h{<YjR89GNUK~DK@sG^nx+@v?5>#xfuF5U0NQ=(9z()_sDkiM>MNBzkxgk zFNOJ2*;+B+gHL!+og`-#Is~c>7C9;psKLjy_z2p0e}c(bN8WWD6op69aFQ81JL~2o z&+?F2#ZBrgklojq(&7=noY!qHvPkPURs@)nRBi5FGX&>Z>)C}W^G`-RFR_{nC2kVmD| zm#<#-VkST!BRBDxG_}G-`DhO$(JqRh`7d{*&-*!2TU~3zfvmqr!R+Yi@s)azrm5ym z^ZY0EU22eUp*W%TjR5~rNe zibwwy?gvC-TR37DYtM6^m>FX5Y#1w$GP1T^q8Qs}kH=_gxRC)eI%!(r0CpU#)Bf*^iXD+EM4qXxn5euwdFVvikQR*kW)(9$0Vfx@gxj3k09qKr zAI{1|QX5MQMgE)J9ba{Vg=u5egH|Q$W&WDsFy9|N0BV)%iit9^ZLG=D_;-?DG0Mr$ z#m6o8I{1!(vxME4mklSQBZ0yHuo^6Fs*D7MkKG-x#5x}lAdzMDy29FHW;oq%{`RSc zN--Ol38#86r5vBn_gh$KB4_q&s10|w%b4yN^JgM9ZaOTM?nzq^$V})NFN@)+ySdT4 zJ?u56;f<4nd}@az#n+b9d7NxT2e@W_(XBZXdr6-mZ>ewAP0i*+gfSAVT7s$;XMv69 zV(`4xCt5rs^)NHLD^mO=J55((6;68YS@m^3@1`7E3zC|?0<#I|gAB3NwcyACE>I{i zZMd*1qgRCF?Sxr~5U&YV_<@CWsCzG>h=q7YV2F`NYQ^;+DPX6~sD1^K1>U38=3Kh} zJG#ofv!dBz8p|!8cAm-&tytM(3`rr?zNmR|_^OX!(6&B7&a!;29Y(K8-?$hp z?Rgmc<(@~cmH7n+^l>dQ+@!b;1s33*Ug?f|^iTM>(%WyBvb}z}n*FCyHM?nU#NCc8 z@@e80_}tSxBib$93Mz?}>d-4TD>xy03f$dJP>X;2nH=7%0(>jWQ8U(1Jv$|Gr!dYg zA?yJ-sC-4Z+gWE4w()55Z6!P@^WwqU-1&t@d^*kcz zY|&%1TBU3g8`EAff9`jSh&ylZO;uSpZuvgVm{y3g@J(T7FaU%@8voa@Rx}x{N>zJ| zq6f5OdN$Mn4#I|slF0MKWBzk_?1j|ez=rmy4{2P98vc;EktG;$>{&mf2xM#WVi z?XVH5MJ@;F8_TpJmED3ufI#F5I4KN;V@bKd6u0i?3dSZxL3I`t_AgFpz0kL@=BO{B z6!oA$6{Hb-b8}{Ct`j`zpc!mJU#@_TAznXQwb7%U5#SLL`xR<_#P+A z0F3A$RtXwMRK?p2iVRej#EuwJSZ+Xj^$bvhK(M47aFF%IMFSP@_i7kVNn3<^F>Ce1 zYCd?4_qwPz(S?&k&O3&_$krLJw(Q%MZ7XLM1K(eG=xe}=Snw@HP_ zb>Tbi6u`0g`X%&6aQ;jpF-GJk#6k}H^JcvM?1pK6%+$ba@`+kmDopUSboFpY$3)=h z?Svkb%uC%(ZC5I42@6tWP)E+_fHS>gn~(3*Yzr)X?)|GTqPNwoW$<(%(C?G?*|B1j zHuwU`KdS%%@iF$O2f2aBl)fA3soPdq&;<9FDFcSfRPvyiW0LppP0!GW(ZjW|P$X6( z|BbSDiqbTQvP3IwJF_w?ZQH7}ZQHhO`%l}pZQHhOPW9?u)3+aHX5EML5U)GpJLg1v zXYWmK0l5z;^R!k~A)4xYi=(^zuGTdC^C)5oi{WWdBNBqqrluf{JcM62+&?PSFHc#f z2nN#9TPQnh$Q{{o&1Ly@_`DRlesIU0P+W&(n?id1CrW#xeCgj<{)}oE9i@`|APz4S zAuoBrE690utGukUtLoj2wxhZyiFrkU8<#aBK#J5+`-{KB>}A(i%oeud01xbgi7Bw7 ze`Gr4DnlFKb3H<%E8!p~Z*ldm%l5lM?hmaJ^Mv(d4lf6>U;eu}#~MY{8kSCRme2^l zHt-LHYkjLH>z4k7zFfeb)1zv+lg`+6Et!N2EY;7an`jS>S@G&l)M(rVNGgJ9M?Oc7 z?HXn^cj@J^1&rEg(P#_drqgIFJOV0J0C08wKrM^ji+f`)6bJLTLe>G?`|=U`JldKmmG=3!}@Nr{85!@;^8RkOf(zENg39QjI^M+4}=^t z=d#U4j{J8rd?fqjf#1E*pdKM2-Q=M**CRG`e~1`qV_ok;TCRU$LwCE#LugiH1PWBMHY^(N|KqAg(W2 z%8_?k3{A2^pBC*J9=F)CXS}NKKL2pjfn`Z{F}Fwf=fq)S6T+qmZQAqut_CSz(rwMU z)s%4WQL1QG&++gD8p!J=N`2)EINsv#Rz$RjR7o#KYeeMK%R42aqy-nEZ3Y&bsluqd z(M1CZAjyfIVBYR`uqP#(WkA``VGPLd*4^{eg(kIT`C00prk+RV;O&ojxIRS{I8mw< zYf(B;)8|nzk2fDXFGUOx{ici6Fa$Ch5+cTg3IgG>e=QU9pC6V|ZB!?}+QvsHvumP9 z58`qAoS^%ISmb89++yh=NG{8t=xL&$?+Z%>4E2vP=Cr02Y%Ryn_U#pv1qk3%fJWN zKoMOg%+8W&$*;epYj~$wCwc)l)HY11;YZ{1gxPMQNrPDVHe4sm1;GI!2cN6#90q5AhWd;1x*?*N;!7`=+b>iu)yuTg`KJ&`F!mCwToV|G;!JW z)(HNXW=PoAl2HD8LGd6(TiP;ym+K|8(|0-NW!7A_&a%eITN8YsNGwCYtKisnd46%_S z#OpEv{@BySs54y<)lxS+m*#E}b#&rkEmmwSRIAnYI=U8nW&Jbp4vK4$B_fI1p!#8J zXYi%pw}Y$ulp7X-^ataal?}Y}j-XR9J`(ajbF*s758&c$uR2q>-1-MG&owFe{)ZI@ zE;uOxV2&D*c9euFWbnc|Fq~>!L*9f0ZhWH43W%saM;SDYrYM`8ly!Ge`s@s)cP~9g z9=@E;Tnvs!#A+zfEtOHXmh=zY!UFE9%B}%Sh7(M}vM)sQkp6c#vY=>zc&;Z2DY*}( z%bhut;vfsR!^zZ@9waO#P%V?9h!4J0T!TVKo75Qo>kG%MCPz~=e8KV-ICBu8z^}(1 zTv${UU2GzJ@hh{u9x-eu+}F_+CWe?|iFJ#{WVCJ8;I&-%OcxS=zp(#~vZa zFp>gWop((r&MscEs_Mxtu(cNs+8~(gDl02VUl_3zr($4r$|;R6$)&}^!z+olYj!v= z@%=HL%Q??4^Q`LnQ`)CgsX#T#AnnHbo6!-VOXO@~9hQSYNcHY@V&ogiR1|-bUKXDL z?wxh{={}m_bm_ahUr_;B+V2;bV54x@tYO>FaD%S~q#kMz)cuM;8R-CSND^2PaI}A8 z68yyb{I||>viA3r`=Y6(^%5?l{BYC9YwBo5$|t7hvWxtI4COqO#lMHJ77&Q7m^B{ zvGjJ$^bsq;EF`>%^sJdQ!`F~IA$n={Og*}^R*ape!9d^j99tSm-=>a5-n^@)gI%0ItfV9>%}0aV|T&+fK}& z;aQo+CP(djT7Kywt~U}bDWmCwg*i?PHrI)E^#)N5MK-Ux+$IDTSdSqAK7Vccl=x{O-|;#gl#D@Jm07I(2~24$ONY3HfT&&)H7+qw3+X^e-b`t}=Z0?|iWM z76gxsy~#uags>XQ{)nxdM~SPi=<`4&IYx!T64fH~RZ^G+&r4A6?1I+GO^z;X?y)j2 zzN+EHFKj~iAl7W3O8{&6sb#)_JSTn>p-?c+j)EsDhXr;TCqmSlWSYt%0wX`uaYr+Y zFnPbubFH_#K&jv_kHrfiUVBdU5=c=BYU_KX=0Iy1$+V4sL3WwfjxE-0kc8q*u_Xf3 z!(OE9{YhQ0KZ$^JgwW3z9!XX2li;iC1jVYcTlIB>nw4h%!a)csj)W(Tbh`%bu2yc) ziz?2awIJJxn(DrOii{7FI_=ue0yC(m^AQKa6=!YyaRH;NL?>ydyHIMY(Hx&~dpII8 zm*UIu5y*$D!wg7?3CvwBbAR@z(g-d1r&v;Ag4JsIqcA-f7v1`op7T z&HqGmnAKFkuTXc3T46)+(HJkya|%68aY+ep~oVKTXUbromX6Iz3y?13f&k zjihrja)_n(P&cZYJ;hsh$R@v99eBt&mXyg<;^l$-oUcV~kU+Kl{2?RG(Ux^#C**j| zA9ZKj#zkE7|%M>YYC86-!r@WaI*c<#0NdvwImj>MQM{uB$%QO@kIM#e@1 z(TrLY8)FlKnj#AH=fQdFSkB|`f74Jq*Prf^X9ju5k~wSkkm^;iPhM)!AGy?{h%LyA z5=v9B=t8m);w&2%dUt?97pMpil%>K~oBr9)JSmar1RaSy0g3fN(3K|^76WnQ1v;4enz5FXk04WrukIz4 z8jGCMI+R04!_}ul&eVZ6TCXhLCl9e***IIyX*c(q`_*}v+U&Loxi6WoYV>jeM&-`w z`}M%FRI$9;OXB%X-2FuPvDe;N|8%nVFYeej>6q+#8Mac=`Rv7dMW}L#P8rKRjS- zsV}}SC}P5x2<(u3s{st@hsdAh6qHA4q~3n(l91j0bwp>UXK!!k)S@t+;r_0die4H@ zxiLnl{LaD9%|SuA=J(?tPH2XGGWs#OvEQ|b>&h6&hB>`Cpbj8ul?W9w zRTULmedLdyava^=Yg?;G;yNbh0oSsoqMvdG0~?cX4jNqaG`$OjPlN{n8{l3JU~>6i zf`|%Wh1oBES(mQ*$tWd*)nYPgoPw^*^4;DiFP5;4Ku8*-V@>{oM7( zhW`m#U(I;>wZ1Kk@aY69M9>eN&W}P*nKC}F`mWiOwX6IM945?fw;=0a5L8OzlWclXQqO4 z`ANk4v>76mUl-pre$#my;Q`^p&%&f~e2tl?6;h-ui%eFsd)z;7uCwH9iz)4n0gymf zQp&?Um$8|_9_rceivk$zWl1a-g_#j2j+?w^k;^p~l><=lu;NNow+6#!q>`{lmhP~& zD6=+XclYJe_xrp?4*<|;e?oxg3$+pprNC#w#YIx{dd-zAWI+X+l$KkqUh~@Y3ZMWS zqt6oW!3zEUYYBKkQuo;Xk7EKrC{dLQAj^pOmj2DO;6FtTmW(Ca*Er>~?II*ud|$Ne z>b&=i>sqNoaU);laj7%j(t6Z`eAHi(qnO3s?o+y`U&dU#d~afNJF znY$((uG#BkG&p%sx9KG{=5mOf_q@>;E^?IlA@Il zhQ!*4N+{;-7CcjPc;(GoOCzl8uN#Ww0yFeYom?7b?Pb=Z_NFb6eB}A3KeG9hVp2t= zL6oC$u}@9M8s;wN01Mu>tn?;p{HEIUh>8RK76HpsqJtyvr%^0&lka7Xb}W|E)y@$N zRTnPbF6?9unmdtD8;qrLZhe8$c?DL|>5aC?DTY4olr#kg?BNbo0}+GuBNz@VtO5-e z`}2s<7OsYr8R}xQGYCqd0mBjdEHAR#m^;I1XX<|fIc_}2`sVXHqnGSSvD8CFXX$d= zmh3j*lyDaZ)aXMI1R4cN9pSzj_l&0I6 z-w!;ZvE&feN7M=aqX-){sdhs)K90;@FLe7wQULBT0_9qOX!OWx&?^`vk}>Em8U>(8 z(G$bXf{JF}q}Q>hwfTdl>yq?TLhR2$0IJ|?kwAXd>g;oiLCs|nCfzb_!X_tTH3mUb z0uT5Fgq{)nG2YWQ%in8C8PI#EH8Lj+mh3kdHqcz+aQHMa^~^&-P)G>tlvSgX`*;IY ztVHm+1&Qd*GrwIrG8aB@kgxSh=tOz|VbU6(0>Dn_!)imX!5 zX^{!bI}4C*`r@>L^}wv##&}Mtc)ONx;7G@HNk~Z(y8-RnZ>^1G+nu9~sAH(zv{qb` z)zO7#l)V?Y{HVux43+XPPq;li%vvUs*-XHF^l++o5%J@F=qR-1 z+PT>QT(0P8Ql9y^##z&}!VEU=0W@3rh;#iZ(H^XP*;kiPAsEI-zlB}oDjp-l5>w48 z+ccN%M@<1+`ztvn7v>*YMufb#bLiC>g8ryA3G)*lwvK?DFp?B*ao-cH^+OwY9C4hl z9~4ysNN=Awkc-unBd>K)dhnm6)uqQ`IM6w+p8oM*e2!yy$g=WvN@N9ig3#@A5kyLW z!I%*3Pq!`J2WJBVRI~#y_Xo!XU=8ph65pwkG9$A1YiF-xP9RBFp|(0f4*d2{ zOCT3~%wcW-dlHd7IbH+&*~2J-gj8TS?a4C_9cKu0Ob&=IU!I%=U1{ibx_1X^AG(X> zs=!S+&B3QzTXz5)e>zyFIIeEr3jTtr5Cnt)a<+%}P7J2Q|yonf}$#=p07s zD3yp5dqhnE(vxC5oElu&&=z4PZAdO@KW#@_H*BG2r0=lPPzT-ePq7JSiOJ{Gp=2ZC z5DA75S~T|AIc2z#xxL~-lmf|(dXj{PZ{yNfzcN2^>uzBik^o3x6q0g7F*Rb?MiblrI6Xwjn8QYtHL2OGS9eNmjC*0bOBUxcR@mCw5E&8J;4^;6u9PHv7N+kt#V5U3U^%BcEZ55|6yVM z?qESvKbj#>@>}U=6@sVgi;VSMZ8TEkNh5~=cByYQUkgYaa=k9b5pDF`+I#PJy306-Gi32v5R}&O z`2H?_3-;Rwl&jL>o-*o+D0S7AwR^q59Qfud4hqi zw;MirdqF$DD7YavYc+y?KjBSd_h~0RVfI9maUcOSw1AvcUQJy+JZn@0yR;|+7H2kt z)zhHC^66izcqYO_FS1eb{xvvtA+M?SxuMUfgbbm?)_#xNuL*zd{&IXc6E}vxpTAR9 zl7uBM-H#`_&jJJW3)`#0C>bco-p zt4St%Z~&sW1rNqdCWqrD>0`1bJc57**j-qyM~66K-jMAk zIdK@gWcay@`e;Z_hxN7xIj*7?9^9~H%Ez_r~*B|NmAvxxIh+-UhG17XKme>w-Xztdfn{_h*qxp zSbjT+4?XJ{aSx&Oym(ni`!`eU%&~~+8XcN&S;HnlTK9Ten($}e>bH5idN-g%R%pJ~ zu3Dk1c5IN%%Dcx@x`qD5(`FM<)UX(o#QFCNY#U_O8WS6~UW6WntA61~iau4gLBcpUKjA__6H8ISnrea4 z8UX~2OLS@nIrM^6$d2UsXG}uc4+{hjs{|8MQ2+v9ldKpH5B>Wg9;dc#7C6Q8SXU>e zi`5N@mPv#&4COd5=h7S&sS2Ba%49elmvlX*}GL-H_ZQ%$v z1<`2`>vR5zt-i3CjeU|~l0v;Nn#mg(D~qA}AlkFe+j-}7#;v_V{|@Fh6kl{CkI;TU zNiR1f3f3HNNef8%>1TF#&Z1b+USJyGFRmhd}k zfAwFVvjnqx-1KEO+Fhy4!XUI_kr@Y$MkP1{rUE|#x&}Qjv>9EAcpaq$l!Enpl;{xP zX}gEfZ{_i^Cq8mLQTP}qwTI~(<#B}+mo}kXULMw@Uu`2~QTIj|{5j)d+GO6+&C^^u z>l7W#irbxQD6GG8ssi!vx67L&HrYqd8=SKQoOiwduyJ|b>NI&}$4LO%8^?_ez~q(4 z00uw{1kML{k`+*$f_{FXV1-M9$xlRlIAuIC3v#B*k8+YTHGZ(5cFs~vZ@2-DX$iLB zQJ*{hyTEvNup#4Nlhkuq4zW#!SO(p&BrzJMA6geeevhgL{~zo5|FC^lmR1aw{zn;o z`xp5CN7|^nzO~hVQGVqlWe?~PyFXOb)+eqBWW-xwgkXS`eX25k$$bL?U(GwgCKbujDqXiTlv+Mr>_NtrFFHOObdmKEWHFz_ct@) z48r2=p8kGkg0B;R%knv08Nbtu&TZ_q_p_yO3hMo5QTV2J)pgEM#lp~{$3L>3EKc}^ z4B7A;i_4PuU8~+!OjMJ_V3=10caO?>ef2Mcy=PZvyKg6@&?F;3tYd~xN;cKCWeJ** z@;U&U#sQkUm{H>Jqxg5{K9oRTd8TVn)R-U3M!y1o@Aj|%t`qvQD5Aa^%z_mEw&DC= z5dPn{;=gF5MR9#L{q%@JH*XOf&Bzht=XK@S33AjD0b&Y+bAyt0;ns)jN{<&8vyuqP zbd^S9cs*I_G(O4+hD@;%Ne`$ElsbADs;fc(Rfo#*Gn~jh*>p5>Kfd!UE3)Weqo5!Q z1+MzEsF7F!ztv1y6;_DQj@Ru-1QhC{_}X1vt&W&!H-!;9TlWRbyLocjjat_8wU%Pj zdW-_7`hoDugz0!crqV95R&>OAN0n<2(c8-yt};F9BqRqqaZnJ7vcRbU|51=* zJuvVv{()TkFKGVHKpQ%^+d0|NxSAOoThUnS8~*19pd33PGw>hw@!t_*R^if=^Mb@G zy}(d?AzdtWWZ?vNYR`q{@Bfr`=UmukJgBQ``owTyY&57gR(K4X3#Rr-9tlXNSS(#J-&$ zVV0hMj(M3UqPqjSW=8GiS+2+&1%Nb(( zp9r_!{Cwj4LwDf+2g3hbol!b&!e#*fAHrTkUi`2LR3r&4-eSq`t4jaI&fJg}48Z#k z_kFy@lUCr5x7$oj9{B+uVc`zUs{(3LTEL16EbRuNAKRn&5~7H@Vn@ zVnbZ>hB*ZndIs=W3Pq@GWL(9$a1s$*0NPobzvc(az%pk+C7a(G=}Nj^sGtxDD@L=;z)fvv)f5R0|x+hZgqxq5Ny zCZux4JwDvjIcU4dgkdVCZ>{TcuIz}wgWS%PSVOZ97=iVW`UMukrfpS+rl^mXPZuvQ zjBHd{3K9GoXUNR~+OC%oCc0aT$^7YVFnJ6W{b9vuFDUkS(CHxG|3tZ0qHY7^AHr$> zg6RKsj{hrt$I8kE@xu4tQf>Go`=?oVu=uy+^ICxAf!gk#0dxr{(w}Run`ePD0sC^l7)Y+aQG2cy`GX)ZVo}DH0&e%s2vsM~r$O;bVSMnO==wNu zv9a(~prHFdF>F1M;~?Yz^{Y_~=oj(-6T|;(&NnqB9rr~LyJu=n?@3&QQ&y(A%9J9& z+@--lfHI97QOxKQA;Zmrpg0a&PA>4edRH0T$v7`H<{uqBJi4!uuAG{tCcg+v=)=ib znX=RpHx)Tcyz%*F|PH8O4onj3kDXa(&O-9u1Iv?i?&HmXJ^3q%c(qkj&!$ z=xPpGhosVKVpQRbU3r>0-C8r~49ti%MTpq~Q^YfqPFW>@V9*L7!EA*>A|@C|=^}79 z^7rax#WX?rc3A0sBr%FmMmPXYt@wNU+s88R%?fDwH0MemF18{Q&l6Q z300+v)GG3r%S5$s<%Lt-NA3yXGpA_j;Kr+Ep)adH1x_o+{gWm-)!vQuJT1*AnOZ^5 zwt#6xcsmshN|U6ed6h%KB2KZ;@H@gkxDFKPLXOlY+oTDi=2KD~$_;zuY#6Lt$3BVY zlyI{DkJEjbg45Z8-nfSzYG-FaMA$dlC9}$90+fY^H=Esq5|TV_1LNKkqFpV-Kx$NF zU)8Bln7Tg7FaW-QW|$aT;20$2Q@y477F}I>USvcy|k`HP$hQlam2m{=myg=e5+d7!$uCVijPb-;5@??YWIC@0AGP zUK#paQ%65;5Uy%A+e?Wx`@yznWOJ#r?c=B+ztcCY!oCCBUPlupI;M-dS%A$?J(|xE zS6jExHcn6VWLz+&FSI9?qWq5WQ-tf9Ii^_%^}fIdch`6@T8yIN+r2|xL>cidx1OfJ zd=Ta%J|kV8>vFls+#y;t^&lbScx66uZS_MGrOg||AG7PnEISp@v^_Boa{_w*9a#&g z{L4N~d@euuA=FYfb;P3(8@WKp`K&_4EQol2Ul?v>marS?J)t(|_og&K%h@{Y6;~1g z?Fk4r(^lwvB}*xO4eAe_9o$Q5pp6&dT_^N;JK{N!9n;KUjx2}{Zycd8EQ*gYh^=>u z1gvMzFikb;rDP85+^rL;oD-)BQe;g<9leH&JFpzDt~;6Z7n`Euy7(LM6q=UiR4LT% zRjn0QmLsJ5Xxt^KHFJ8-#?$F^L78#4W_vAQgDv7N*fGDhZ$NQ6&0`;Y4;I+ACua0* z1<@NUp382}@1|>fwLBWP?C56%*oGG9aToW6wYLoDu${UsUbT3-X4(9}b%7iE(&y>C zG;;xMjQI(tOt$x7UZU<3U^dy_=03G=T*z#DIBjJ;0xnoqo6T0SrQ5GMbS#AiI_B*D zk#Ge?k_cCANFk& zq=~Q`LyC6Cwq?I7Z@GxuU|1~*0_kTcK+p|>P<#o|FS^;y#Dz)x;(Cy~T!PZ*vC9h1 z(W9gUH*yJnG=BW#C^Nu(fD@jXv7xe|YfW;X4tgPBV}xsboHuGm64G^F!;J@Z%^0!} zBQj`S&TxBn8C9**)&BUpL-qF3mEe;({Qw7v#t@`V7O!bvQia(&G;~xNHpUc6m_@tv z&9ud-$9ybDKtBuMMntTKXw9<{SF=q|C>Qz$(rZEPcO(sxzvYivqQxN*%pgPD`^{f`dw#! z5=KsWZOltNny%S_%q?lc8fn!Q&z2%+Gjch2%r zR>|-?s{8XWQPp5DqbXd$0}=(hXt_ES^_YHP5}o6j%Nge$FS4zrm)si8lVQK{OL~Q< zf`#VZ>*;K0$fV)U6z72KPMxBNP7hziOC1bXaBv}tDu?+m^FF%m^~xSk!7Y1;L)D6P z4zw}jR7Muf@f~i33Ko8=daymve%-qvIMxdcqn43ANMvIXiAyGrpJt#?B>fes)eA&+ zBGF&z`Vgl}%}&GbU%RRzvUQp3<{>0X0`5x)+EpZ2gp<3;HU6&r(>ens{!HO=E});F_$Bpt!bSb?BHD?gOv~^$8S;k(8-5OlPc{4j!J$ z>0mi*DL|D;%3*3XZI3*?Sp2Nu6WeWhsQ!gxLW;lX4pIk5T(o1Ab1GJxBF$r zx18S@j2|yVeot6LODxV5}q$` z+MYZbo%)E1Fb+0y@U5$Vh-A{iHK>b0l#l3}rIb8@q=1D&d1$z$T#<##l{ahPIV*mg z;V_8`)nj#tw##N%&({YZYVf*1*=WU)5J?$?mJwqbPL}L)!c!g^?hp3oFh@^*_e70@EzRvx-b5Fj^@pmD;44sysg*>k5!bfi@S1p8(zjmOZ0qi!c zdGM{lj0EZ)gVgg`NrE0idNT>cA%V?Z0+WqJyp1EAevbgZ5PZ9u$LgX>2bOLsp8H&k zdK2Qr{s)xvTkh!+^s*P$lCW@zS;z2VZ!SZal0)NGYDhH>C@zWlc>Ft{6hTKt^{tgL zSm4VthqUk1WwMDTH6W`x>321`bxU9!YRr^F!u8?YEzS7G_aEUw34&QlzikgD=)z+3 zJDGq;HRtbq$uh}RkV02K5;jFgFHT*b7X=K))r^+I%4b=WQVBN?Rai6_T&9 zJjxH+gDNT%;}~z9O~IX4if5BFUH~c3BZ>DZ1ZPec?-EP+(gdzC<->D2x?@k-(`|2s z*fd2_AX>r~0F#~IyJyqScn}cDK#59+A@UkMC-@fO3z%A=Dt=8C5IsGlt!2wf7d9g4 zo^#xqa(WpQ`$F+T7G)+Xra;kIM8`2ZyLcN+FVA|pH8eHuSTAD2BkeiNAg+rAxY(!~ z?^qd^c4UhlsynGhZxIL$WU?TEUc(`zU~!kgla{H%{;c?Pn+giy!CcoZ8i_#&Ow}&R z5h9mo(_AS-vYz$P3eu0feI;cSkxD=B^uc%N)$u03Misu z6XY@&WMy-mAlp%t;m-+;I;WVSJ>9;XV!+%3aE%QNvCb8YgA&AhF^ApSN4HgoNOQoK zb7zHPk>Ys%giCS2LDZA@>Sl8{?C>V-Z?MgNAp?uHATCT6>?ECnfwBmAGR#h&NQO@NJtKMKyOWheFe}vzVeb_G8|I?86Yf z?m6|#CpB4R7a0JOh^r{B2?WRdAKZbRKVdyZ@sz~TGG|6|$4`Elv^JUs@dfrYN*sAb z-KVgwTvl}WgKn6O9j^mT#(ifMT%CQ1COb`Rm;=g&ON8v_)oe&Tu$)^LEpl5#tted_ zZrL~RH_=UJ*_4g^J1rk9THnt6+}xO2p7Tt_v>qE-H3C}{9ejUBZ#aKa4foOzBCD?K zBi7T@)=4Sa*^RHpO~asapsH1WM+d2@+2~gmlRKNjfb!kYLa@P(zK@phs^Ir)r}Kmk zt%C{K|6%9{Df@}!Okc^`_fTJ@nT#mPLrR)#&Nc#9a{F98u)6cM=#6Zc<6Kxmk4B7> zZXDNsOuFOGPDnQfvBb-+=e4}hXmt-6>VmDysTFH0Al7Op7Fg1(U)mExE&?PIM}9Vd z-YVNzP6UILn41xLT9)Oj9`m+RMGj8WXuZ|R*0j_c_GaLLuK%_f*x~-Wr!vE!d!QLD-HqSXys zJ;%lfo7no5%K+(OCRy~r5p@)^eH2<__S=MDy`P{7QPuKl4@eHB$&mY{bSqz$*X^m# z80>cO2H5Q*v1Ijx4%}s`fmIoViwrqRvhr7*=s%gj>Foph+i{>7fu0BKkFt{5Ke&Nk zi;AnUI#FMXw9l69;W~c*u||l3|A;cI1sWh$lL+5tV2^sXSEHyIMw7OT=|{8K`=Xic z4}ZtVjXWk8V>ksin_j!+0s_BQqIih~f(=%;0*3X6*NJALw}CLfOuIxoFXM}%JNKPE}K=MfR!$6m}Zw;0&f4v_{(bW5GGj0gY(Q%OBf{AmOIf%a{i5FSh zuLj^ykeMFMDI>;JlaKMi*p_G6&f5ugUA+D$1N8^SeUWHX(ZLh?X_aTSAlskkQDL

    <>{U>&@NGDkdK&oZ~ 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 foWX{MzP$mdjt1jCE_)p9RJWKB134Z#2(e_aP literal 0 HcmV?d00001 From 16e0835dd09fd2baefa9017dd78b078c2983b5d3 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Tue, 29 Sep 2015 14:50:38 +0200 Subject: [PATCH 41/83] Ignore py.test cache --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8b5efe4f..8b448969 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ nosetests.xml .idea/ /*.egg-info/ +/.cache/ From e632a4690b1b58aa00c4602116139550a8929452 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Tue, 29 Sep 2015 17:21:36 +0200 Subject: [PATCH 42/83] Tests for #218 --- about_code_tool/tests/test_genattrib.py | 51 ++++- .../tests/testdata/genattrib/about_files.zip | Bin 0 -> 11646 bytes .../project/about_files/bootstrap.ABOUT | 16 ++ .../project/about_files/bootstrap.LICENSE | 176 +++++++++++++++ .../about_files/django_snippets.LICENSE | 9 + .../about_files/django_snippets_2413.ABOUT | 14 ++ .../about_files/elasticsearch-sources.ABOUT | 19 ++ .../project/about_files/elasticsearch.ABOUT | 22 ++ .../project/about_files/elasticsearch.LICENSE | 202 ++++++++++++++++++ .../project/about_files/elasticsearch.NOTICE | 5 + .../about_files/subdir/annotator.ABOUT | 14 ++ .../about_files/subdir/annotator.LICENSE | 25 +++ .../testdata/genattrib/project_filter.csv | 9 + .../tests/testdata/genattrib/test.zip | Bin 294713 -> 0 bytes 14 files changed, 555 insertions(+), 7 deletions(-) create mode 100644 about_code_tool/tests/testdata/genattrib/about_files.zip create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/bootstrap.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/bootstrap.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/django_snippets.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/django_snippets_2413.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/elasticsearch-sources.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/elasticsearch.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/elasticsearch.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/elasticsearch.NOTICE create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/subdir/annotator.ABOUT create mode 100644 about_code_tool/tests/testdata/genattrib/project/about_files/subdir/annotator.LICENSE create mode 100644 about_code_tool/tests/testdata/genattrib/project_filter.csv delete mode 100644 about_code_tool/tests/testdata/genattrib/test.zip diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 53340a16..c469ce40 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -90,6 +90,32 @@ def test_genattrib_basic(self): for ex in expected: self.assertTrue(ex in result) + def test_genattrib_basic_with_filter(self): + self.maxDiff = None + # note: this contains an about_files subdir that is the root of all ABOUT files in the "project" + about_dir = 'about_code_tool/tests/testdata/genattrib/project' + generated_attrib = get_temp_file('generated.html') + # note: all the about_fioles columns are paths starting with /about_files + filter_csv = 'about_code_tool/tests/testdata/genattrib/project_filter.csv' + args = [about_dir, generated_attrib, filter_csv] + options = None + genattrib_command_tester(args, options) + result = open(generated_attrib).read() + expected = [ + 'ElasticSearch 1.6.0', + 'bootstrap 2.3.2', + ] + for ex in expected: + self.assertTrue(ex in result, ex) + + not_expected = [ + 'Annotator 1.2.10', + 'component_4', + 'djangosnippets.org_2413 2011-04-12', + ] + for ex in not_expected: + self.assertFalse(ex in result, ex) + def test_genattrib_from_zipped_dir(self): self.maxDiff = None about_dir = 'about_code_tool/tests/testdata/genattrib/zipped_about.zip' @@ -108,23 +134,34 @@ def test_genattrib_from_zipped_dir(self): 'Groovy 2.4.0', ] for ex in expected: - self.assertTrue(ex in result) + self.assertTrue(ex in result, ex) + - def test_genattrib_from_zipped_dir_with_filter_list(self): + def test_genattrib_zip_with_filter(self): self.maxDiff = None - about_dir = 'about_code_tool/tests/testdata/genattrib/test.zip' + # note: this contains an about_files subdir that is the root of all ABOUT files in the "project" + about_dir = 'about_code_tool/tests/testdata/genattrib/about_files.zip' generated_attrib = get_temp_file('generated.html') - filter_list = 'about_code_tool/tests/testdata/genattrib/filter_list.csv' - args = [about_dir, generated_attrib, filter_list] + # note: all the about_fioles columns are paths starting with /about_files + filter_csv = 'about_code_tool/tests/testdata/genattrib/project_filter.csv' + args = [about_dir, generated_attrib, filter_csv] options = None genattrib_command_tester(args, options) result = open(generated_attrib).read() expected = [ + 'ElasticSearch 1.6.0', 'bootstrap 2.3.2', - 'Annotator 1.2.10', ] for ex in expected: - self.assertTrue(ex in result) + self.assertTrue(ex in result, ex) + + not_expected = [ + 'Annotator 1.2.10', + 'component_4', + 'djangosnippets.org_2413 2011-04-12', + ] + for ex in not_expected: + self.assertFalse(ex in result, ex) def genattrib_command_tester(args, options): parser = genattrib.get_parser() diff --git a/about_code_tool/tests/testdata/genattrib/about_files.zip b/about_code_tool/tests/testdata/genattrib/about_files.zip new file mode 100644 index 0000000000000000000000000000000000000000..802d0f8cb38e9e53b5e10c54cb38fbaff254b867 GIT binary patch literal 11646 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 h6@C. + +## MIT + +You may use the software under the terms of the MIT license, which can be +found in LICENSE-MIT, or, if this file is missing, +. diff --git a/about_code_tool/tests/testdata/genattrib/project_filter.csv b/about_code_tool/tests/testdata/genattrib/project_filter.csv new file mode 100644 index 00000000..fb5a1cd6 --- /dev/null +++ b/about_code_tool/tests/testdata/genattrib/project_filter.csv @@ -0,0 +1,9 @@ +"about_file","name","version","about_resource","spec_version","date","description","description_file","home_url","download_url","readme","readme_file","install","install_file","changelog","changelog_file","news","news_file","news_url","notes","notes_file","contact","owner","author","author_file","copyright","copyright_file","notice_file","notice_url","license_text_file","license_url","license_spdx","redistribute","attribute","track_changes","vcs_tool","vcs_repository","vcs_path","vcs_tag","vcs_branch","vcs_revision","checksum_sha1","checksum_md5","checksum_sha256","dje_component","dje_license_key","dje_organization","dje_license_name","dje_license","warnings","errors" +"/about_files/elasticsearch-sources.ABOUT","ElasticSearch","1.6.0","elasticsearch-1.6.0-src.tar.xz",,,,,"http://www.elasticsearch.org/","https://github.com/elasticsearch/elasticsearch/archive/v1.6.0.tar.gz",,,,,,,,,,"Source code for the pre-built binaries we use, pruned from docs and +tests to keep the size small enough.",,,"ElasticSearch and Shay Banon",,,"Copyright 2009-2014 Elasticsearch",,"elasticsearch.NOTICE",,"elasticsearch.LICENSE",,,,,,"git","https://github.com/elasticsearch/elasticsearch.git",,,,,,,,,,,,"apache-2.0",,"Field: about_resource, Value: elasticsearch-1.6.0-src.tar.xz, Message: File does not exist." +"/about_files/bootstrap.ABOUT","bootstrap","2.3.2","bootstrap-2.3.2.zip",,,"Sleek, intuitive, and powerful front-end framework for faster and easier web development.",,"http://twitter.github.com/bootstrap/","https://github.com/twbs/bootstrap/archive/v2.3.2.zip",,,,,,,,,,,,,"Twitter, Inc.",,,"Copyright 2012 Twitter, Inc.",,,,"bootstrap.LICENSE",,,,,,"git","https://github.com/twitter/bootstrap.git",,,"/tree/v2.3.2",,,,,,,,,"apache-2.0",,"Field: about_resource, Value: bootstrap-2.3.2.zip, Message: File does not exist." +"/about_files/elasticsearch.ABOUT","ElasticSearch","1.6.0","elasticsearch-1.6.0.zip",,,,,"http://www.elasticsearch.org/","https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.6.0.zip",,,,,,,,,,"This a prebuilt version working on all OSes. +The tar.gz works only with POSIX OSses and not Windows while the zip works on +all OS. See https://github.com/elasticsearch/elasticsearch/pull/2793 +ES contains a prebuilt binary of Apache-licensed Hyperic Sigar, Apache Lucene +and Apache Log4J as well as JNA which is LGPL-licensed.",,,"ElasticSearch and Shay Banon",,,"Copyright 2009-2015 Elasticsearch",,"elasticsearch.NOTICE",,"elasticsearch.LICENSE",,,,,,"git","https://github.com/elasticsearch/elasticsearch.git",,,,,,,,,,,,"apache-2.0",,"Field: about_resource, Value: elasticsearch-1.6.0.zip, Message: File does not exist." diff --git a/about_code_tool/tests/testdata/genattrib/test.zip b/about_code_tool/tests/testdata/genattrib/test.zip deleted file mode 100644 index 86b0428ae2d3ddafbd6a6e803722dc0e875b1a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294713 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 z 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

    pSJ?T{=V7_B<-~ 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

    <>{U>&@NGDkdK&oZ~ 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 foWX{MzP$mdjt1jCE_)p9RJWKB134Z#2(e_aP From 4f28ea4c8ab7d057661b28e1693040fa5bbfe799 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Thu, 8 Oct 2015 19:31:30 +0200 Subject: [PATCH 43/83] #221 test zip file with very deep path tree --- about_code_tool/tests/testdata/longpath.zip | Bin 0 -> 11656 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 about_code_tool/tests/testdata/longpath.zip diff --git a/about_code_tool/tests/testdata/longpath.zip b/about_code_tool/tests/testdata/longpath.zip new file mode 100644 index 0000000000000000000000000000000000000000..d132a38be739e25aaa5dfd7939ec7f4df04255ad GIT binary patch literal 11656 zcmeI2O=uHA6vwwsYooSWv67Qg@gN4bYw)O|RkSgwbQ=_F5t5L^MzPsY*N>_Ko|mhmN;ojmg8eoZNvhMo8R|KCm~>AzK@zMdhU z#KwH)1BH>FXPvT1Pk`pUO-uTxZYAqkr2HIrQC@|%25iR zZ>}(<#YC%GP?}w9eKShiR6E;J1k83u07c6EPD`PPD*iuF6nT%WAdez+$y!1wlAl^t zGDZ9g>x-w@Sh150ilMjmG(@phvb!~k$q&vkNwNFciFPT*x14R9g5ZZ+5Kv(JbRP@~ z7GGDzui?1BZ8P%#V!#8WXG02Z2y;{c4^=g)TF`FZJ5`l~9rU1?LHiec^9 z>^Prf-)B60_3`DjoP6hQKCjK`nRGmz)HCrL+T3hX9~nJ6apm&6==!DCvGD5Akt1v4 zLHXiVFe(Q(*59whj(t4-H8Q@Y$d8nWyrIaE3zLEPlj+#>v#aXr(!$ijtxRHBOFY-o ziEO{5M!ULC`^@8BcDvXZEc_aUM}Bu%mTSHY;$LIHGLwK-Q~=^&EHK5UfBN!C_2Fi& z1-cspv@EhIuTXJ1@~5apAucus6#c}eyh5F#{4&VG%{4=OY>YC$=3XqKMi3`sqe63y zXx<=R#+F}N)sog6;%02Fb~kX}u#tEs!Vd8>$|$u{28t93f;bulh1s8e_&V}_<_juc zLe%F((jcBjX`7vvh89F3i(F&*oXqxgm>-J7nMf|g*T#VJrLWfla%sXL&PL%cttFgh z0pe}6klJP`_GkfTqKyP`H<}slv%DFaEr`F-);BxZq8WrZ91Xtl+vvWbL7a)UXo)*5 zAI*#G9~k($j=Z(;W{tcpir0!vLtJhQIN%@baExh0BC-$hIohAu=|KB55D=#$h(y1m zLC}yuypBjx11>>Ag9C9p!pZM)9UK}ah~E*@!`&{%L<0tKJOW!D^nm>p&YNdJ5YHpJ z%{?BvDs;8?U#++vA^KT9$=BKZLm;=&&X1S1<9h?=aN$*PY{ literal 0 HcmV?d00001 From 1a183c42c3c5ee2edf2b11e31237eaacddd8dfd1 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 8 Oct 2015 11:32:34 -0700 Subject: [PATCH 44/83] Code refactoring --- about_code_tool/about.py | 82 ++++++++++++++++++------------------- about_code_tool/genabout.py | 3 +- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index a1694bc8..f7b8c77d 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -47,7 +47,6 @@ on_windows = 'win32' in sys.platform -UNC_PREFIX = u'\\\\?\\' __version__ = '2.0.4' @@ -505,6 +504,7 @@ def repr_problem(obj): 'ZLIB License', ) + def posix_path(path): """ Return a path using the posixpath separator given a path that may @@ -513,6 +513,30 @@ def posix_path(path): return path.replace(ntpath.sep, posixpath.sep) +UNC_PREFIX = u'\\\\?\\' +UNC_PREFIX_POSIX = posix_path(UNC_PREFIX) +UNC_PREFIXES = (UNC_PREFIX_POSIX, UNC_PREFIX,) + +def add_unc(location): + """ + Convert a location to an absolute Window UNC path to support long paths on + Windows. Return the location unchanged if not on Windows. See + https://msdn.microsoft.com/en-us/library/aa365247.aspx + """ + if on_windows and not location.startswith(UNC_PREFIXES): + return UNC_PREFIX + os.path.abspath(location) + return location + + +def remove_unc(location): + """ + Remove UNC prefix from location if present. + """ + if on_windows and location.startswith(UNC_PREFIXES): + return location[len(UNC_PREFIX):] + return location + + def is_about_file(path): """ Return True if the path represents a valid ABOUT file name. @@ -523,7 +547,7 @@ def is_about_file(path): def resource_name(resource_path): """ Return a resource name based on a posix path (either the filename or - directory name). Recurse to handle paths that ends with a path separator + directory name). Recurse to handle paths that ends with a path separator. """ left, right = posixpath.split(resource_path) if right: @@ -1117,8 +1141,7 @@ def check_invalid_chars(field_name, line): warnings = Warn(IGNORED, field_name, line, msg) return invalid_chars, warnings -def posix_unc_prefix(): - return posix_path(u'\\\\?\\') + class Collector(object): """ @@ -1162,13 +1185,7 @@ def collect(location): if on_windows: location = unicode(location) - """ - Convert a location to an absolute Window UNC path to support long paths - on Windows. Return the location unchanged if not on Windows. - See https://msdn.microsoft.com/en-us/library/aa365247.aspx - """ - if on_windows and not location.startswith(UNC_PREFIX): - location = UNC_PREFIX + os.path.abspath(location) + location = add_unc(location) location = os.path.expanduser(location) location = os.path.expandvars(location) location = os.path.normpath(location) @@ -1274,36 +1291,23 @@ def write_to_csv(self, output_path): def get_about_context(self, about_object): about_content = about_object.validated_fields - if '\n' in about_object.get_dje_license_name(): - msg = ('Multiple licenses is not supported. ' - 'Skipping License generation.') - if on_windows: - if (about_object.location.startswith(posix_unc_prefix()) - or about_object.location.startswith(UNC_PREFIX)): - about_object.location = about_object.location.strip(posix_unc_prefix()).strip(UNC_PREFIX) - err = Error(GENATTRIB, 'dje_license', - about_object.location, msg) + has_multiple_licenses = '\n' in about_object.get_dje_license_name() + if has_multiple_licenses: + msg = 'Multiple licenses is not supported. Skipping License generation.' + about_object.location = remove_unc(about_object.location) + err = Error(GENATTRIB, 'dje_license', about_object.location, msg) self.genattrib_errors.append(err) - lic_text = unicode(about_object.license_text(), - errors='replace') - notice_text = unicode(about_object.notice_text(), - errors='replace') + lic_text = unicode(about_object.license_text(), errors='replace') + notice_text = unicode(about_object.notice_text(), errors='replace') about_content['license_text'] = lic_text about_content['notice_text'] = notice_text # report error if no license_text is found - if not about_content.get('license_text')\ - and not about_content.get('notice_text')\ - and not '\n' in about_object.get_dje_license_name(): - msg = ('No license_text found. ' - 'Skipping License generation.') - if on_windows: - if (about_object.location.startswith(posix_unc_prefix()) - or about_object.location.startswith(UNC_PREFIX)): - about_object.location = about_object.location.strip(posix_unc_prefix()).strip(UNC_PREFIX) - err = Error(GENATTRIB, 'license_text_file', - about_object.location, msg) + if not lic_text and not notice_text and not has_multiple_licenses: + msg = 'No license_text found. Skipping License generation.' + about_object.location = remove_unc(about_object.location) + err = Error(GENATTRIB, 'license_text_file', about_object.location, msg) self.genattrib_errors.append(err) return about_content @@ -1358,9 +1362,7 @@ def generate_attribution(self, template_path=None, limit_to=None, verification=N break if not component_exist: - if on_windows: - if self.location.startswith(posix_unc_prefix()): - self.location = self.location.strip(posix_unc_prefix()) + self.location = remove_unc(self.location) loc = self.location + component msg = ('The requested ABOUT file: %r does not exist. ' 'No attribution generated for this file.' % loc) @@ -1411,9 +1413,7 @@ def check_paths(self, paths): for path in paths: path = posix_path(path) afp = join(self.location, path) - if on_windows: - if afp.startswith(posix_unc_prefix()): - afp = afp.strip(posix_unc_prefix()) + afp = remove_unc(afp) msg = ('The requested ABOUT file: %(afp)r does not exist. ' 'No attribution generated for this file.' % locals()) err = Error(GENATTRIB, 'about_file', path, msg) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 40f05261..98825ee8 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -626,8 +626,7 @@ def format_output(input_list): @staticmethod def write_output(output): for about_file_location, context in output: - if about.on_windows: - about_file_location = about.UNC_PREFIX + os.path.abspath(about_file_location) + about_file_location = about.add_unc(about_file_location) if _exists(about_file_location): os.remove(about_file_location) with open(about_file_location, 'wb') as output_file: From 3b3bd59b5e42d917e5909bbaf96b21666e13deec Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 8 Oct 2015 11:34:39 -0700 Subject: [PATCH 45/83] #221 Implement solution (append unc prefix) to fix the longpath issue when using genattrib.py in Windows OS. However, the test is still failing. --- about_code_tool/genattrib.py | 22 ++++++++++++++++++---- about_code_tool/tests/test_genattrib.py | 14 ++++++++++---- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index 75377c43..ca4e773d 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -25,14 +25,17 @@ import csv import errno import logging +import ntpath import optparse import os +import posixpath import sys from os.path import exists, dirname, join, abspath, isdir, basename, expanduser, normpath - +from about_code_tool.about import on_windows from about import Collector import genabout +import about LOG_FILENAME = 'error.log' @@ -147,16 +150,27 @@ def extract_zip(location): archive_base_name = os.path.basename(location).replace('.zip', '') base_dir = tempfile.mkdtemp() target_dir = os.path.join(base_dir, archive_base_name) + target_dir = about.add_unc(target_dir) os.makedirs(target_dir) + if target_dir.endswith((ntpath.sep, posixpath.sep)): + target_dir = target_dir[:-1] + with zipfile.ZipFile(location) as zipf: for info in zipf.infolist(): name = info.filename content = zipf.read(name) target = os.path.join(target_dir, name) - if not os.path.exists(os.path.dirname(target)): - os.makedirs(os.path.dirname(target)) - if not content and target.endswith(os.path.sep): + is_dir = target.endswith((ntpath.sep, posixpath.sep)) + if is_dir: + target = target[:-1] + parent = os.path.dirname(target) + if on_windows: + target = target.replace(posixpath.sep, ntpath.sep) + parent = parent.replace(posixpath.sep, ntpath.sep) + if not os.path.exists(parent): + os.makedirs(parent) + if not content and is_dir: if not os.path.exists(target): os.makedirs(target) if not os.path.exists(target): diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index c469ce40..1aef307c 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -19,7 +19,7 @@ import os import unittest -from about_code_tool import genattrib +from about_code_tool import genattrib, about from about_code_tool.tests.test_about import get_temp_file @@ -111,7 +111,7 @@ def test_genattrib_basic_with_filter(self): not_expected = [ 'Annotator 1.2.10', 'component_4', - 'djangosnippets.org_2413 2011-04-12', + 'djangosnippets.org_2413 2011-04-12', ] for ex in not_expected: self.assertFalse(ex in result, ex) @@ -136,7 +136,6 @@ def test_genattrib_from_zipped_dir(self): for ex in expected: self.assertTrue(ex in result, ex) - def test_genattrib_zip_with_filter(self): self.maxDiff = None # note: this contains an about_files subdir that is the root of all ABOUT files in the "project" @@ -158,11 +157,18 @@ def test_genattrib_zip_with_filter(self): not_expected = [ 'Annotator 1.2.10', 'component_4', - 'djangosnippets.org_2413 2011-04-12', + 'djangosnippets.org_2413 2011-04-12', ] for ex in not_expected: self.assertFalse(ex in result, ex) + def test_extract_deep_zip(self): + test_zip = 'about_code_tool/tests/testdata/longpath.zip' + extracted = genattrib.extract_zip(test_zip) + unc_extracted = about.add_unc(extracted) + for root, dirs, files in os.walk(unc_extracted): + self.assertTrue('non-supported_date_format.ABOUT' in files) + def genattrib_command_tester(args, options): parser = genattrib.get_parser() options, args = parser.parse_args(args, options) From 1f0f2d7863bb305b0ff0dde631f88eb4a180e3d1 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 8 Oct 2015 13:39:38 -0700 Subject: [PATCH 46/83] Fixed #221 Fixed the "test_extract_deep_zip" --- about_code_tool/tests/test_genattrib.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 1aef307c..b8d5ef15 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -141,7 +141,7 @@ def test_genattrib_zip_with_filter(self): # note: this contains an about_files subdir that is the root of all ABOUT files in the "project" about_dir = 'about_code_tool/tests/testdata/genattrib/about_files.zip' generated_attrib = get_temp_file('generated.html') - # note: all the about_fioles columns are paths starting with /about_files + # note: all the about_files columns are paths starting with /about_files filter_csv = 'about_code_tool/tests/testdata/genattrib/project_filter.csv' args = [about_dir, generated_attrib, filter_csv] options = None @@ -166,8 +166,11 @@ def test_extract_deep_zip(self): test_zip = 'about_code_tool/tests/testdata/longpath.zip' extracted = genattrib.extract_zip(test_zip) unc_extracted = about.add_unc(extracted) + all_files = [] for root, dirs, files in os.walk(unc_extracted): - self.assertTrue('non-supported_date_format.ABOUT' in files) + all_files.extend(files) + self.assertTrue('non-supported_date_format.ABOUT' in all_files) + def genattrib_command_tester(args, options): parser = genattrib.get_parser() From 851ed46b0e3198826817159ef3258fb437c84239 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 8 Oct 2015 13:49:54 -0700 Subject: [PATCH 47/83] Bump to version 2.1.0 --- about_code_tool/about.py | 2 +- about_code_tool/genabout.py | 2 +- about_code_tool/genattrib.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index f7b8c77d..d0d3dc2d 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -48,7 +48,7 @@ on_windows = 'win32' in sys.platform -__version__ = '2.0.4' +__version__ = '2.1.0' # See http://dejacode.org __about_spec_version__ = '1.0' diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 98825ee8..30a867e6 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -40,7 +40,7 @@ import about -__version__ = '2.0.4' +__version__ = '2.1.0' __copyright__ = """ Copyright (c) 2013-2015 nexB Inc. All rights reserved. diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index ca4e773d..797222a8 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -46,7 +46,7 @@ logger.addHandler(handler) file_logger = logging.getLogger(__name__ + '_file') -__version__ = '2.0.4' +__version__ = '2.1.0' __about_spec_version__ = '1.0.0' # See http://dejacode.org From cdf4001c34937841d523c426eb21f6fbaeab3461 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Fri, 9 Oct 2015 16:53:34 +0200 Subject: [PATCH 48/83] Refactorings and code simplifications * removed absolute imports that do not mesh weel with current call patterns * refactored common code in util module. * improved help and help texts duplication --- about_code_tool/about.py | 517 +++-------------------- about_code_tool/genabout.py | 532 ++++++++++-------------- about_code_tool/genattrib.py | 317 ++++++-------- about_code_tool/help.py | 58 +++ about_code_tool/licenses.py | 299 +++++++++++++ about_code_tool/tests/test_about.py | 434 ++++++++----------- about_code_tool/tests/test_genabout.py | 145 +++---- about_code_tool/tests/test_genattrib.py | 68 +-- about_code_tool/tests/test_tstutil.py | 112 +++++ about_code_tool/tests/tstutil.py | 66 +++ about_code_tool/util.py | 242 +++++++++++ setup.py | 4 +- 12 files changed, 1443 insertions(+), 1351 deletions(-) create mode 100644 about_code_tool/help.py create mode 100644 about_code_tool/licenses.py create mode 100644 about_code_tool/tests/test_tstutil.py create mode 100644 about_code_tool/tests/tstutil.py create mode 100644 about_code_tool/util.py diff --git a/about_code_tool/about.py b/about_code_tool/about.py index f7b8c77d..4be24d2f 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -26,7 +26,6 @@ from __future__ import print_function -from StringIO import StringIO import codecs from collections import namedtuple import csv @@ -35,40 +34,34 @@ import errno import httplib import logging -import ntpath import optparse import os -from os.path import basename, dirname, join, normpath, realpath -import posixpath +from os.path import basename +from os.path import dirname +from os.path import join +from os.path import normpath +from os.path import realpath import socket +from StringIO import StringIO import string import sys import urlparse +from help import __version_info__ +from help import __full_info__ +from help import VERBOSITY_HELP -on_windows = 'win32' in sys.platform - -__version__ = '2.0.4' - -# See http://dejacode.org -__about_spec_version__ = '1.0' +from licenses import SPDX_LICENSE_IDS +from licenses import COMMON_LICENSES +from util import ImprovedFormatter +from util import is_about_file +from util import canonical_path +from util import on_windows +from util import path_exists +from util import posix_path +from util import remove_unc -__copyright__ = """ -Copyright (c) 2013-2015 nexB Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -""" logger = logging.getLogger(__name__) handler = logging.StreamHandler() @@ -137,6 +130,7 @@ def repr_problem(obj): 'notes_file', ) + OWNERSHIP_FIELDS = ( 'contact', 'owner', @@ -218,345 +212,7 @@ def repr_problem(obj): ) -HEADER_ROW_FIELDS = (('about_file',) - + MANDATORY_FIELDS - + OPTIONAL_FIELDS) - - -# SPDX License Identifiers from http://spdx.org/licenses/ -# based on SPDX License List version 1.18 released on 2013-04-10 -SPDX_LICENSES = ( - 'AFL-1.1', - 'AFL-1.2', - 'AFL-2.0', - 'AFL-2.1', - 'AFL-3.0', - 'APL-1.0', - 'Aladdin', - 'ANTLR-PD', - 'Apache-1.0', - 'Apache-1.1', - 'Apache-2.0', - 'APSL-1.0', - 'APSL-1.1', - 'APSL-1.2', - 'APSL-2.0', - 'Artistic-1.0', - 'Artistic-2.0', - 'AAL', - 'BitTorrent-1.0', - 'BitTorrent-1.1', - 'BSL-1.0', - 'BSD-2-Clause', - 'BSD-2-Clause-FreeBSD', - 'BSD-2-Clause-NetBSD', - 'BSD-3-Clause', - 'BSD-3-Clause-Clear', - 'BSD-4-Clause', - 'BSD-4-Clause-UC', - 'CECILL-1.0', - 'CECILL-1.1', - 'CECILL-2.0', - 'CECILL-B', - 'CECILL-C', - 'ClArtistic', - 'CNRI-Python', - 'CNRI-Python-GPL-Compatible', - 'CPOL-1.02', - 'CDDL-1.0', - 'CDDL-1.1', - 'CPAL-1.0', - 'CPL-1.0', - 'CATOSL-1.1', - 'Condor-1.1', - 'CC-BY-1.0', - 'CC-BY-2.0', - 'CC-BY-2.5', - 'CC-BY-3.0', - 'CC-BY-ND-1.0', - 'CC-BY-ND-2.0', - 'CC-BY-ND-2.5', - 'CC-BY-ND-3.0', - 'CC-BY-NC-1.0', - 'CC-BY-NC-2.0', - 'CC-BY-NC-2.5', - 'CC-BY-NC-3.0', - 'CC-BY-NC-ND-1.0', - 'CC-BY-NC-ND-2.0', - 'CC-BY-NC-ND-2.5', - 'CC-BY-NC-ND-3.0', - 'CC-BY-NC-SA-1.0', - 'CC-BY-NC-SA-2.0', - 'CC-BY-NC-SA-2.5', - 'CC-BY-NC-SA-3.0', - 'CC-BY-SA-1.0', - 'CC-BY-SA-2.0', - 'CC-BY-SA-2.5', - 'CC-BY-SA-3.0', - 'CC0-1.0', - 'CUA-OPL-1.0', - 'D-FSL-1.0', - 'WTFPL', - 'EPL-1.0', - 'eCos-2.0', - 'ECL-1.0', - 'ECL-2.0', - 'EFL-1.0', - 'EFL-2.0', - 'Entessa', - 'ErlPL-1.1', - 'EUDatagrid', - 'EUPL-1.0', - 'EUPL-1.1', - 'Fair', - 'Frameworx-1.0', - 'FTL', - 'AGPL-1.0', - 'AGPL-3.0', - 'GFDL-1.1', - 'GFDL-1.2', - 'GFDL-1.3', - 'GPL-1.0', - 'GPL-1.0+', - 'GPL-2.0', - 'GPL-2.0+', - 'GPL-2.0-with-autoconf-exception', - 'GPL-2.0-with-bison-exception', - 'GPL-2.0-with-classpath-exception', - 'GPL-2.0-with-font-exception', - 'GPL-2.0-with-GCC-exception', - 'GPL-3.0', - 'GPL-3.0+', - 'GPL-3.0-with-autoconf-exception', - 'GPL-3.0-with-GCC-exception', - 'LGPL-2.1', - 'LGPL-2.1+', - 'LGPL-3.0', - 'LGPL-3.0+', - 'LGPL-2.0', - 'LGPL-2.0+', - 'gSOAP-1.3b', - 'HPND', - 'IPL-1.0', - 'Imlib2', - 'IJG', - 'Intel', - 'IPA', - 'ISC', - 'JSON', - 'LPPL-1.3a', - 'LPPL-1.0', - 'LPPL-1.1', - 'LPPL-1.2', - 'LPPL-1.3c', - 'Libpng', - 'LPL-1.02', - 'LPL-1.0', - 'MS-PL', - 'MS-RL', - 'MirOS', - 'MIT', - 'Motosoto', - 'MPL-1.0', - 'MPL-1.1', - 'MPL-2.0', - 'MPL-2.0-no-copyleft-exception', - 'Multics', - 'NASA-1.3', - 'Naumen', - 'NBPL-1.0', - 'NGPL', - 'NOSL', - 'NPL-1.0', - 'NPL-1.1', - 'Nokia', - 'NPOSL-3.0', - 'NTP', - 'OCLC-2.0', - 'ODbL-1.0', - 'PDDL-1.0', - 'OGTSL', - 'OLDAP-2.2.2', - 'OLDAP-1.1', - 'OLDAP-1.2', - 'OLDAP-1.3', - 'OLDAP-1.4', - 'OLDAP-2.0', - 'OLDAP-2.0.1', - 'OLDAP-2.1', - 'OLDAP-2.2', - 'OLDAP-2.2.1', - 'OLDAP-2.3', - 'OLDAP-2.4', - 'OLDAP-2.5', - 'OLDAP-2.6', - 'OLDAP-2.7', - 'OPL-1.0', - 'OSL-1.0', - 'OSL-2.0', - 'OSL-2.1', - 'OSL-3.0', - 'OLDAP-2.8', - 'OpenSSL', - 'PHP-3.0', - 'PHP-3.01', - 'PostgreSQL', - 'Python-2.0', - 'QPL-1.0', - 'RPSL-1.0', - 'RPL-1.1', - 'RPL-1.5', - 'RHeCos-1.1', - 'RSCPL', - 'Ruby', - 'SAX-PD', - 'SGI-B-1.0', - 'SGI-B-1.1', - 'SGI-B-2.0', - 'OFL-1.0', - 'OFL-1.1', - 'SimPL-2.0', - 'Sleepycat', - 'SMLNJ', - 'SugarCRM-1.1.3', - 'SISSL', - 'SPL-1.0', - 'Watcom-1.0', - 'NCSA', - 'VSL-1.0', - 'W3C', - 'WXwindows', - 'Xnet', - 'X11', - 'XFree86-1.1', - 'YPL-1.0', - 'YPL-1.1', - 'Zimbra-1.3', - 'Zlib', - 'ZPL-1.1', - 'ZPL-2.0', - 'ZPL-2.1', -) - - -# Maps lowercase id to standard ids with official case -SPDX_LICENSE_IDS = dict((name.lower(), name) for name in SPDX_LICENSES) - - -# Use DJE License Name -COMMON_LICENSES = ( - 'AES-128 v3.0 License', - 'Apache License 1.1', - 'Apache License 2.0', - 'Apple Attribution License 1997', - 'Apple Example Code License', - 'Apple Public Source License 2.0', - 'Arphic Public License', - 'Artistic License (Perl) 1.0', - 'Artistic License 2.0', - 'Bitstream Vera Font License', - 'Boost Software License 1.0', - 'Broadcom CFE License', - 'BSD-Modified', - 'BSD-Original', - 'BSD-Original-UC', - 'BSD-Simplified', - 'CMU Computing Services License', - 'Common Development and Distribution License 1.0', - 'Common Development and Distribution License 1.1', - 'Common Public License 1.0', - 'Creative Commons Attribution License 2.5', - 'Creative Commons Attribution Share Alike License 3.0', - 'Curl License', - 'FreeType Project License', - 'GNU General Public License 2.0', - 'GNU General Public License 2.0 with Bison exception', - 'GNU General Public License 2.0 with GLIBC exception', - 'GNU General Public License 3.0', - 'GNU Lesser General Public License 2.1', - 'GNU Library General Public License 2.0', - 'GPL 2.0 or later with Linking exception', - 'GPL 2.0 with Broadcom Linking exception', - 'Independent JPEG Group License', - 'ISC License (ISCL)', - 'Larabie Fonts EULA', - 'Libpng License', - 'Microsoft Limited Public License', - 'Microsoft Public License', - 'Microsoft Reciprocal License', - 'Microsoft TrueType Fonts EULA', - 'MIT License', - 'Mozilla Public License 1.1', - 'Net SNMP License', - 'Netscape Public License 1.1', - 'NTP License', - 'OpenSSL/SSLeay License', - 'Original SSLeay License with Windows exception', - 'RSA Data Security MD4', - 'RSA Data Security MD5', - 'SFL License Agreement', - 'SGI Free Software License B v2.0', - 'Sun RPC License', - 'TCL/TK License', - 'Tidy License', - 'University of Illinois/NCSA Open Source License', - 'X11 License', - 'ZLIB License', -) - - -def posix_path(path): - """ - Return a path using the posixpath separator given a path that may - contain posix or windows separators, converting \ to /. - """ - return path.replace(ntpath.sep, posixpath.sep) - - -UNC_PREFIX = u'\\\\?\\' -UNC_PREFIX_POSIX = posix_path(UNC_PREFIX) -UNC_PREFIXES = (UNC_PREFIX_POSIX, UNC_PREFIX,) - -def add_unc(location): - """ - Convert a location to an absolute Window UNC path to support long paths on - Windows. Return the location unchanged if not on Windows. See - https://msdn.microsoft.com/en-us/library/aa365247.aspx - """ - if on_windows and not location.startswith(UNC_PREFIXES): - return UNC_PREFIX + os.path.abspath(location) - return location - - -def remove_unc(location): - """ - Remove UNC prefix from location if present. - """ - if on_windows and location.startswith(UNC_PREFIXES): - return location[len(UNC_PREFIX):] - return location - - -def is_about_file(path): - """ - Return True if the path represents a valid ABOUT file name. - """ - return path.lower().endswith('.about') - - -def resource_name(resource_path): - """ - Return a resource name based on a posix path (either the filename or - directory name). Recurse to handle paths that ends with a path separator. - """ - left, right = posixpath.split(resource_path) - if right: - return right.strip() - elif left and left != '/': - # recurse for directories that end up with a / - return resource_name(left) - else: - return '' +HEADER_ROW_FIELDS = ('about_file',) + MANDATORY_FIELDS + OPTIONAL_FIELDS def check_network_connection(): @@ -1013,8 +669,7 @@ def get_row_data(self, updated_path, custom_keys): for field in MANDATORY_FIELDS + OPTIONAL_FIELDS: if field in self.validated_fields: row += [self.validated_fields[field]] - # The following code is to catch is the input contians any - # multiple licenses + # The following code is to catch if the input contains any multiple licenses if field in no_multi_license_fields: for lic_field in no_multi_license_fields: try: @@ -1180,30 +835,20 @@ def collect(location): ABOUT file or a directory tree containing ABOUT files. Locations are normalized using posix path separators. """ - # FIXME: we should not accept both a file and dir location as input paths = [] - if on_windows: - location = unicode(location) - location = add_unc(location) - location = os.path.expanduser(location) - location = os.path.expandvars(location) - location = os.path.normpath(location) - location = os.path.abspath(location) - + location = canonical_path(location) assert os.path.exists(location) - if location: - if os.path.isfile(location) and is_about_file(location): - paths.append(location) - else: - for root, _, files in os.walk(location): - for name in files: - if is_about_file(name): - paths.append(os.path.join(root, name)) - # normalize the paths to use posix path separators - paths = [posix_path(p) for p in paths] - return paths + if is_about_file(location): + paths.append(location) + else: + for root, _, files in os.walk(location): + for name in files: + if is_about_file(name): + paths.append(os.path.join(root, name)) + # always return posix paths + return [posix_path(p) for p in paths] @property def errors(self): @@ -1326,8 +971,7 @@ def generate_attribution(self, template_path=None, limit_to=None, verification=N return if not template_path: - template_path = join(dirname(realpath(__file__)), - "templates/default.html") + template_path = join(dirname(realpath(__file__)), 'templates/default.html') # FIXME: the template dir should be outside the code tree template_dir = dirname(template_path) @@ -1350,10 +994,9 @@ def generate_attribution(self, template_path=None, limit_to=None, verification=N for component in not_process_components: for about_object in self: # The about_object.location is the absolute path of the ABOUT - # file. The purpose of the following string partition is to + # file. The purpose of the following string partition is to # match the about_file's location with the input list. - about_relative_path = about_object.location.partition( - normpath(self.location))[2] + about_relative_path = about_object.location.partition(normpath(self.location))[2] if component == posix_path(about_relative_path): component_exist = True about_content = self.get_about_context(about_object) @@ -1364,8 +1007,7 @@ def generate_attribution(self, template_path=None, limit_to=None, verification=N if not component_exist: self.location = remove_unc(self.location) loc = self.location + component - msg = ('The requested ABOUT file: %r does not exist. ' - 'No attribution generated for this file.' % loc) + msg = 'The requested ABOUT file: %r does not exist. No attribution generated for this file.' % loc err = Error(GENATTRIB, 'about_file', loc, msg) self.genattrib_errors.append(err) else: @@ -1414,8 +1056,7 @@ def check_paths(self, paths): path = posix_path(path) afp = join(self.location, path) afp = remove_unc(afp) - msg = ('The requested ABOUT file: %(afp)r does not exist. ' - 'No attribution generated for this file.' % locals()) + msg = ('The requested ABOUT file: %(afp)r does not exist. No attribution generated for this file.' % locals()) err = Error(GENATTRIB, 'about_file', path, msg) self.genattrib_errors.append(err) @@ -1425,30 +1066,24 @@ def get_genattrib_errors(self): USAGE_SYNTAX = ( """ - Input can be a file or directory. - Output must be a file with a .csv extension. -""" -) - - -VERBOSITY_HELP = ( -""" -Print more or fewer verbose messages while processing ABOUT files: -0 - Do not print any warning or error messages, just a total count (default) -1 - Print error messages -2 - Print error and warning messages + can be a file or directory containing .ABOUT files. + must be a file with a .csv extension to save the inventory collected from .ABOUT files. """ ) ERROR = 0 OK = 1 + def main(parser, options, args): + """ + Main command line entry point. + """ overwrite = options.overwrite verbosity = options.verbosity if options.version: - print('ABOUT tool {0}\n{1}'.format(__version__, __copyright__)) + print(__full_info__) return ERROR if verbosity == 1: @@ -1465,7 +1100,7 @@ def main(parser, options, args): input_path, output_path = args output_path = os.path.abspath(output_path) - if not os.path.exists(input_path): + if not path_exists(input_path): print('Input path does not exist.') print() parser.print_help() @@ -1483,18 +1118,17 @@ def main(parser, options, args): parser.print_help() return errno.EINVAL - if os.path.exists(output_path) and not overwrite: - print('Output file already exists. Select a different file name ' - 'or use the --overwrite option.') + if path_exists(output_path) and not overwrite: + print('Output file already exists. Select a different file name or use the --overwrite option.') print() parser.print_help() return errno.EEXIST - if (not os.path.exists(output_path) - or (os.path.exists(output_path) and overwrite)): + if (not path_exists(output_path) + or (path_exists(output_path) and overwrite)): collector = Collector(input_path) collector.write_to_csv(output_path) - print("Completed.") + print('Completed.') if collector.errors: print('%d errors detected.' % len(collector.errors)) if collector.warnings: @@ -1506,61 +1140,24 @@ def main(parser, options, args): def get_parser(): - class MyFormatter(optparse.IndentedHelpFormatter): - def _format_text(self, text): - """ - Overridden to allow description to be printed without - modification. - """ - return text - - def format_option(self, option): - """ - Overridden to allow options help text to be printed without - modification. - """ - result = [] - opts = self.option_strings[option] - opt_width = self.help_position - self.current_indent - 2 - if len(opts) > opt_width: - opts = '%*s%s\n' % (self.current_indent, '', opts) - indent_first = self.help_position - else: # start help on same line as opts - opts = '%*s%-*s ' % (self.current_indent, '', - opt_width, opts) - indent_first = 0 - result.append(opts) - if option.help: - help_text = self.expand_default(option) - help_lines = help_text.split('\n') - # help_lines = textwrap.wrap(help_text, self.help_width) - result.append('%*s%s\n' % (indent_first, '', help_lines[0])) - result.extend(['%*s%s\n' % (self.help_position, '', line) - for line in help_lines[1:]]) - elif opts[-1] != '\n': - result.append('\n') - return ''.join(result) - + """ + Return a command line options parser. + """ parser = optparse.OptionParser( usage='%prog [options] input_path output_path', description=USAGE_SYNTAX, add_help_option=False, - formatter=MyFormatter(), + formatter=ImprovedFormatter(), ) - parser.add_option('-h', '--help', action='help', help='Display help') - parser.add_option( - '--version', action='store_true', - help='Display current version, license notice, and copyright notice') - parser.add_option('--overwrite', action='store_true', - help='Overwrite the output file if it exists') + parser.add_option('-h', '--help', action='help', help='Print this help message and exit.') + parser.add_option('--version', action='store_true', help='Print the current version and copyright notice and exit.') + parser.add_option('--overwrite', action='store_true', help='Overwrite the file at if it exists.') parser.add_option('--verbosity', type=int, help=VERBOSITY_HELP) return parser if __name__ == '__main__': - print('\n') - print('Running about-code-tool version ' + __version__) - print('\n') + print(__version_info__) parser = get_parser() options, args = parser.parse_args() sys.exit(main(parser, options, args)) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 98825ee8..1d7b5df2 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -13,10 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================ + """ -This is a tool to generate ABOUT files based on the input file. -The input file should be a csv format which contains information about the -file location, origin and license of the software components etc. +Generate ABOUT files based on CSV file. The input file contains data such as the +ABOUT file location, the origin and license of the software components etc. """ from __future__ import print_function @@ -28,35 +28,38 @@ import json import logging import optparse -from os import makedirs import os -from os.path import exists, dirname, join, abspath, isdir, normpath, basename, expanduser +from os import makedirs +from os.path import exists +from os.path import dirname +from os.path import join +from os.path import abspath +from os.path import isdir +from os.path import normpath +from os.path import basename +from os.path import expanduser import shutil import sys import urllib import urllib2 from urlparse import urljoin, urlparse -import about +from help import MAPPING_HELP +from help import VERBOSITY_HELP +from help import __version_info__ +from help import __full_info__ +from util import apply_mappings +from util import add_unc +from util import ImprovedFormatter +from util import get_mappings +from util import path_exists -__version__ = '2.0.4' - -__copyright__ = """ -Copyright (c) 2013-2015 nexB Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -""" +from about import OPTIONAL_FIELDS +from about import MANDATORY_FIELDS +from about import ERROR_WARN_FIELDS +from about import check_network_connection +from about import AboutFile LOG_FILENAME = 'error.log' @@ -68,9 +71,10 @@ logger.addHandler(handler) file_logger = logging.getLogger(__name__ + '_file') + ESSENTIAL_FIELDS = ('about_file',) -SUPPORTED_FIELDS = about.OPTIONAL_FIELDS + about.MANDATORY_FIELDS + ('about_file',) +SUPPORTED_FIELDS = OPTIONAL_FIELDS + MANDATORY_FIELDS + ESSENTIAL_FIELDS def repr_problem(obj): @@ -105,6 +109,7 @@ def repr_problem(obj): GENATTRIB = 'Attribution generation problem' NETWORK = 'Network problem' + # Handle different behaviors if ABOUT file already exists ACTION_DO_NOTHING_IF_ABOUT_FILE_EXIST = 0 ACTION_OVERWRITES_THE_CURRENT_ABOUT_FIELD_VALUE_IF_EXIST = 1 @@ -112,6 +117,45 @@ def repr_problem(obj): ACTION_REPLACE_THE_ABOUT_FILE_WITH_THE_CURRENT_GENERATED_FILE = 3 +def load_data_from_csv(location): + """ + Load data from CSV at location and return a list of About data dictionaries. + Keys are converted to lowercase. + """ + abouts = [] + with open(location, 'rU') as inp: + csvfile = csv.DictReader(inp) + for row in csvfile: + row_dict = {} + for key, value in row.items(): + row_dict[key.lower()] = value.strip() + abouts.append(row_dict) + return abouts + + +def get_unknown_fields(abouts, user_keys): + """ + Return a list of the non-supported fields given a list of About data + dictionaries and a list of user-defined keys in MAPPING.CONFIG. + """ + first = abouts[0] + return [field for field in first + if not field in SUPPORTED_FIELDS and not field in user_keys] + + +def has_duplicate_about_file_paths(abouts): + """ + Given a list of About data dictionaries, check if there are any + duplicated about_file paths. Return True if this is the case. + """ + seen = set() + for about in abouts: + about_file_path = about['about_file'] + if about_file_path in seen: + return True + seen.add(about_file_path) + + class GenAbout(object): def __init__(self): self.warnings = [] @@ -126,83 +170,23 @@ def get_duplicated_keys(input_file): lower_case_keys_row = [k.lower() for k in keys_row] return ([key for key in keys_row if lower_case_keys_row.count(key.lower()) > 1]) - @staticmethod - def get_input_list(input_file): - # FIXME: why use a static and not a regular function? - csvfile = csv.DictReader(open(input_file, 'rU')) - input_list = [] - for row in csvfile: - row_dict = {} - for key in row: - row_dict[key.lower()] = row[key].rstrip() - input_list.append(row_dict) - return input_list - - @staticmethod - def get_non_empty_rows_list(input_list): - # FIXME: why use a static and not a regular function? - copied_list = copy.deepcopy(input_list) - new_list = [] - for line in copied_list: - for key in line.keys(): - if line[key]: - new_list.append(line) - break - return new_list - - @staticmethod - def get_mapping_list(): - """ - Read the MAPPING.CONFIG - """ - # FIXME: why use a static and not a regular function? - self_path = abspath(dirname(__file__)) - mapping_list = {} - try: - with open(join(self_path, 'MAPPING.CONFIG'), 'rU') as file_in: - for line in file_in.readlines(): - if not line.startswith('#') and ':' in line: - about_spec_key = line.partition(':')[0] - user_spec_key = line.partition(':')[2].strip() - # Handle cases which keys contain spaces - if about_spec_key.endswith(' '): - about_spec_key = about_spec_key.strip() - about_spec_key = about_spec_key.replace(' ', '_') - mapping_list[about_spec_key.lower()] = user_spec_key.lower() - except Exception as e: - print(repr(e)) - print('The "MAPPING.CONFIG" file cannot be opened.') - sys.exit(errno.EACCES) - return mapping_list - - @staticmethod - def convert_input_list(input_list, mapping_list): - """ - Perform the key mapping - """ - # FIXME: why use a static and not a regular function? - copied_list = copy.deepcopy(input_list) - for copied_dict in copied_list: - for about_spec_key in mapping_list: - if mapping_list[about_spec_key] in copied_dict.keys(): - copied_dict[about_spec_key] = copied_dict.pop(mapping_list[about_spec_key]) - return copied_list - def validate(self, input_list): if not self.validate_mandatory_fields(input_list): - required_keys = about.MANDATORY_FIELDS + ('about_file',) + required_keys = MANDATORY_FIELDS + ('about_file',) print("Required keys not found.") print(required_keys) print("Use the '--mapping' option to map the input keys and verify the mapping information are correct.") print("OR correct the header keys from the input CSV.") sys.exit(errno.EINVAL) - if not self.validate_value_in_essential_fields(input_list): + + elif not self.validate_value_in_essential_fields(input_list): print("Some of the essential fields value are missing.") print(ESSENTIAL_FIELDS) print("Please check the input CSV.") print("No ABOUT file is created.") sys.exit(errno.EINVAL) - if self.validate_duplication(input_list): + + elif has_duplicate_about_file_paths(input_list): print("The input has duplicated 'about_file'.") print("Duplication is not supported. Please correct the input and rerun the tool.") print("No ABOUT file is created.") @@ -212,7 +196,7 @@ def validate(self, input_list): def validate_mandatory_fields(input_list): # FIXME: why use a static and not a regular function? for line in input_list: - for key in about.MANDATORY_FIELDS + ('about_file',): + for key in MANDATORY_FIELDS + ESSENTIAL_FIELDS: if not key in line.keys(): return False return True @@ -226,39 +210,21 @@ def validate_value_in_essential_fields(input_list): return False return True - @staticmethod - def validate_duplication(input_list): - # FIXME: why use a static and not a regular function? - check_duplication = [] - for line in input_list: - component = line['about_file'] - if component in check_duplication: - return True - check_duplication.append(component) - return False - - def get_only_supported_fields(self, input_list, ignored_keys_list): + def get_only_supported_fields(self, input_list, ignored_keys): copied_list = copy.deepcopy(input_list) for copied_dict in copied_list: for key in copied_dict.keys(): - if key in ignored_keys_list: + if key in ignored_keys: copied_dict.pop(key, None) - msg = 'The field(s) "%s" is/are not supported and will be ignored.' % ignored_keys_list - self.warnings.append(Warn(IGNORED, ignored_keys_list, '', msg)) + msg = 'Field(s) %r not supported and will be ignored.' % ignored_keys + self.warnings.append(Warn(IGNORED, ignored_keys, '', msg)) return copied_list - @staticmethod - def get_non_supported_fields(input_list, mapping_keys): - """ - Returns a list of the non-supported fields in a given line. - """ - # FIXME: why use a static and not a regular function? - first_line = input_list[0] - return [field for field in first_line.keys() if not field in SUPPORTED_FIELDS and not field in mapping_keys] def verify_files_existence(self, input_list, project_dir, file_in_project): """ - Verify the existence of the 'license text file' + Verify the existence of a file pointed to by ' _file' suffixed fields + such as 'license_text_file'. """ files_list = [] # Get all the dictionary keys @@ -273,42 +239,45 @@ def verify_files_existence(self, input_list, project_dir, file_in_project): # FIXME: this loop is too complex for line in input_list: for file_key in file_keys: - if line[file_key]: - file_path_list = [] - file_value = [] - file_location = line['about_file'] - if file_location.startswith('/'): - file_location = file_location.partition('/')[2] - about_parent_dir = dirname(file_location) - if file_in_project: - if '\n' in line[file_key]: - file_value = line[file_key].split('\n') - else: - file_value.append(line[file_key]) - for value in file_value: - if file_location.endswith('/'): - about_parent_dir = normpath(dirname(join(file_location, value))) - file_path_list.append(join(project_dir, dirname(file_location), value)) + if not line[file_key]: + continue + + file_path_list = [] + file_value = [] + file_location = line['about_file'] + if file_location.startswith('/'): + file_location = file_location.partition('/')[2] + about_parent_dir = dirname(file_location) + if file_in_project: + if '\n' in line[file_key]: + file_value = line[file_key].split('\n') else: - if '\n' in line[file_key]: - file_value = line[file_key].split('\n') - else: - file_value.append(line[file_key]) - for value in file_value: - file_path_list.append(join(project_dir, value)) + file_value.append(line[file_key]) + for value in file_value: + if file_location.endswith('/'): + about_parent_dir = normpath(dirname(join(file_location, value))) + file_path_list.append(join(project_dir, dirname(file_location), value)) + else: + if '\n' in line[file_key]: + file_value = line[file_key].split('\n') + else: + file_value.append(line[file_key]) + for value in file_value: + file_path_list.append(join(project_dir, value)) - for path in file_path_list: - if _exists(path): - files_list.append((path, about_parent_dir)) - else: - self.warnings.append(Warn(FILE, file_key, path, "File does not exist.")) + for path in file_path_list: + if path_exists(path): + files_list.append((path, about_parent_dir)) + else: + self.warnings.append(Warn(FILE, file_key, path, 'File does not exist.')) return files_list def request_license_data(self, url, username, api_key, license_key): """ + Return a dictionary of license data. + Send a request to a given API URL to gather license data for - license_key, authenticating through an api_key and username. Return a - python dictionary of results returned by the API. + license_key, authenticating through an api_key and username. """ payload = { 'username': username, @@ -327,31 +296,25 @@ def request_license_data(self, url, username, api_key, license_key): response = urllib2.urlopen(request) response_content = response.read() license_data = json.loads(response_content) - except urllib2.HTTPError as http_e: + except urllib2.HTTPError, http_e: # some auth problem if http_e.code == 401: - error_msg = ("Authorization denied. Invalid '--api_username' or '--api_key'." - " License data collection skipped.") - print() - print(error_msg) - print() + error_msg = ("Authorization denied. Invalid '--api_username' or '--api_key'. License data collection skipped.") + print('\n%(error_msg)s\n' % locals()) self.extract_dje_license_error = True - self.errors.append(Error(VALUE, 'username/api_key', - username + '/' + api_key, error_msg)) + self.errors.append(Error(VALUE, 'username/api_key', username + '/' + api_key, error_msg)) else: # FIXME: would this be only with a 404? - self.errors.append(Error(VALUE, 'dje_license_key', license_key, - "Invalid 'dje_license_key'")) - except urllib2.URLError: - if about.check_network_connection(): - error_msg = ("URL not reachable. Invalid '--api_url'." - " LICENSE generation is skipped.") - print("\n" + error_msg + "\n") + self.errors.append(Error(VALUE, 'dje_license_key', license_key, "Invalid 'dje_license_key'")) + except urllib2.URLError, url_e: + if check_network_connection(): + error_msg = ("URL not reachable. Invalid '--api_url'. LICENSE generation skipped.") + print('\n%(error_msg)s\n' % locals()) self.extract_dje_license_error = True self.errors.append(Error(VALUE, '--api_url', url, error_msg)) else: - error_msg = "Network problem. Please check the Internet connection. LICENSE generation is skipped." - print("\n" + error_msg + "\n") + error_msg = "Network problem. Please check your Internet connection. LICENSE generation skipped." + print('\n%(error_msg)s\n' % locals()) self.extract_dje_license_error = True self.errors.append(Error(NETWORK, 'Network', '', error_msg)) except ValueError: @@ -368,14 +331,14 @@ def copy_files(gen_location, files_list): # FIXME : why use a static and not a regular function? for file_path, component_path in files_list: output_file_path = join(gen_location, component_path) - if not _exists(output_file_path): + if not path_exists(output_file_path): makedirs(output_file_path) shutil.copy2(file_path, output_file_path) def write_licenses(self, license_context_list): for gen_license_path, license_context in license_context_list: try: - if not _exists(dirname(gen_license_path)): + if not path_exists(dirname(gen_license_path)): makedirs(dirname(gen_license_path)) with open(gen_license_path, 'wb') as output: output.write(license_context) @@ -389,12 +352,11 @@ def get_license_details_from_api(self, url, username, api_key, license_key): Returns the license_text of a given license_key using an API request. Returns an empty string if the text is not available. """ - license_data = self.request_license_data(url, username, - api_key, license_key) + license_data = self.request_license_data(url, username, api_key, license_key) license_name = license_data.get('name', '') license_text = license_data.get('full_text', '') license_key = license_data.get('key', '') - return [license_name, license_key, license_text] + return license_name, license_key, license_text def get_dje_license_list(self, gen_location, input_list, gen_license, dje_license_dict): # FIXME : this is too complex @@ -409,7 +371,7 @@ def get_dje_license_list(self, gen_location, input_list, gen_license, dje_licens about_parent_dir = dirname(file_location) license_text_file = line['license_text_file'] license_file = normpath(gen_location.rpartition('/')[0] + join(about_parent_dir, license_text_file)) - if not _exists(license_file): + if not path_exists(license_file): self.errors.append(Error(FILE, 'license_text_file', license_file, "The 'license_text_file' does not exist.")) else: if gen_license: @@ -436,9 +398,13 @@ def get_dje_license_list(self, gen_location, input_list, gen_license, dje_licens return license_output_list def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, api_key): + """ + Modify a list of About data dictionaries by adding license information + fetched from the DejaCode API. + """ dje_uri = urlparse(api_url) domain = '{uri.scheme}://{uri.netloc}/'.format(uri=dje_uri) - dje_lic_urn = urljoin(domain, "urn/?urn=urn:dje:license:") + dje_lic_urn = urljoin(domain, 'urn/?urn=urn:dje:license:') key_text_dict = {} license_dict = {} for line in input_list: @@ -446,29 +412,24 @@ def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, ap if line['dje_license_key']: if '\n' in line['dje_license_key']: line['dje_license_name'] = "" - self.errors.append(Error(VALUE, 'dje_license_key', - line['dje_license_key'], - "No multiple licenses or newline character are accepted.")) + self.errors.append(Error(VALUE, 'dje_license_key', line['dje_license_key'], "No multiple licenses or newline character are accepted.")) continue lic = line['dje_license_key'] if not lic in license_dict: detail_list = [] - detail = self.get_license_details_from_api(api_url, api_username, api_key, lic) - dje_key = detail[1] - line['dje_license_key'] = dje_key - license_dict[dje_key] = detail[0] - line['dje_license_name'] = detail[0] - license_context = detail [2] - line['dje_license_url'] = dje_lic_urn + dje_key - detail_list.append(dje_key) - detail_list.append(license_context) - key_text_dict[detail[0]] = detail_list + license_name, license_key, license_text = self.get_license_details_from_api(api_url, api_username, api_key, lic) + line['dje_license_key'] = license_key + license_dict[license_key] = license_name + line['dje_license_name'] = license_name + line['dje_license_url'] = dje_lic_urn + license_key + detail_list.append(license_key) + detail_list.append(license_text) + key_text_dict[license_name] = detail_list else: line['dje_license_name'] = license_dict[lic] line['dje_license_url'] = dje_lic_urn + lic except Exception: - err = Warn(VALUE, 'dje_license_key', '', - 'Missing "dje_license_key" for ' + line['about_file']) + err = Warn(VALUE, 'dje_license_key', '', 'Missing "dje_license_key" for ' + line['about_file']) self.warnings.append(err) return key_text_dict @@ -481,7 +442,7 @@ def process_dje_licenses(self, dje_license_list, dje_license_dict, output_path): if lic: license_key = dje_license_dict[lic][0] gen_license_path = join(output_path, gen_path, license_key) + '.LICENSE' - if not _exists(gen_license_path) and not self.extract_dje_license_error: + if not path_exists(gen_license_path) and not self.extract_dje_license_error: context = dje_license_dict[lic][1] if context: gen_path_context = [] @@ -523,7 +484,7 @@ def pre_generation(self, gen_location, input_list, action_num): self.errors.append(Error(VALUE, 'about_file_path', about_file_dir, msg)) continue - about_file_exist = _exists(about_file_location) + about_file_exist = path_exists(about_file_location) if about_file_exist: if action_num == ACTION_DO_NOTHING_IF_ABOUT_FILE_EXIST: msg = 'ABOUT file already existed. Generation is skipped.' @@ -532,7 +493,7 @@ def pre_generation(self, gen_location, input_list, action_num): continue # Overwrites the current ABOUT field value if it existed elif action_num == ACTION_OVERWRITES_THE_CURRENT_ABOUT_FIELD_VALUE_IF_EXIST: - about_object = about.AboutFile(about_file_location) + about_object = AboutFile(about_file_location) for field_name, value in about_object.parsed.items(): field_name = field_name.lower() if not field_name in line.keys() or not line[field_name]: @@ -540,7 +501,7 @@ def pre_generation(self, gen_location, input_list, action_num): # Keep the current field value and only add the "new" field # and field value elif action_num == ACTION_KEEP_CURRENT_FIELDS_UNCHANGED_AND_ONLY_ADD_NEW_FIELDS: - about_object = about.AboutFile(about_file_location) + about_object = AboutFile(about_file_location) for field_name, value in about_object.parsed.items(): field_name = field_name.lower() line[field_name] = value @@ -605,12 +566,11 @@ def format_output(input_list): for item in sorted(about_dict_list.iterkeys()): if item == 'about_file': continue - if not item in about.MANDATORY_FIELDS: + if not item in MANDATORY_FIELDS: # The purpose of the replace('\n', '\n ') is used to # format the continuation strings value = about_dict_list[item].replace('\n', '\n ') - if (value or item in about.MANDATORY_FIELDS) and not item\ - in about.ERROR_WARN_FIELDS and not item == 'about_resource': + if (value or item in MANDATORY_FIELDS) and not item in ERROR_WARN_FIELDS and not item == 'about_resource': # It will cause error if value has different coding try: value = unicode(value, errors='ignore') @@ -626,8 +586,8 @@ def format_output(input_list): @staticmethod def write_output(output): for about_file_location, context in output: - about_file_location = about.add_unc(about_file_location) - if _exists(about_file_location): + about_file_location = add_unc(about_file_location) + if path_exists(about_file_location): os.remove(about_file_location) with open(about_file_location, 'wb') as output_file: output_file.write(context) @@ -644,52 +604,48 @@ def warnings_errors_summary(self): file_logger.warning(warning_msg) -def _exists(location): - # FIXME: duplicated code with about.py - return location and exists(abspath(location)) +def filter_empty_values(abouts): + """ + Return a list of About data dictionaries without any empty value for all + key/value pairs. + """ + filtered = [] + for about in abouts: + about_items = [(key, value,) for key, value in about.items() if value and value.strip()] + if about_items: + filtered.append(dict(about_items)) + return filtered -USAGE_SYNTAX = """\ - Input must be a CSV file - Output must be a directory location where the ABOUT files should be generated -""" -VERBOSITY_HELP = """\ -Print more or fewer verbose messages while processing ABOUT files -0 - Do not print any warning or error messages, just a total count (default) -1 - Print error messages -2 - Print error and warning messages +USAGE_SYNTAX = """\ + must be a file with a .csv extension containing an inventory of ABOUT data. + must be a directory where ABOUT files should be generated. """ ACTION_HELP = """\ -Handle different behaviors if ABOUT files already existed -0 - Do nothing if ABOUT file existed (default) -1 - Overwrites the current ABOUT field value if existed -2 - Keep the current field value and only add the "new" field and field value -3 - Replace the ABOUT file with the current generation +Handle different behaviors if ABOUT files already exist: +0 - Do nothing if an ABOUT file exists (default). +1 - Merge and overwrite existing ABOUT files field values with new generated field/value. +2 - Merge and keep existing ABOUT files field value. Add new generated field/value. +3 - Overwrite existing ABOUT files with generated files. """ COPY_FILES_HELP = """\ -Copy the '*_file' from the project to the generated location -Project path - Project path +Copy the '*_file' from the COPY_FILES directory to the generated location. """ LICENSE_TEXT_LOCATION_HELP = """\ -Copy the 'license_text_file' from the directory to the generated location -License path - License text files path -""" - -MAPPING_HELP = """\ -Configure the mapping key from the MAPPING.CONFIG +Copy the 'license_text_file' from the LICENSE_TEXT_LOCATION directory to the generated location. """ EXTRACT_LICENSE_HELP = """\ -Extract License text and create .LICENSE side-by-side - with the .ABOUT from DJE License Library. -api_url - URL to the DJE License Library -api_username - The regular DJE username -api_key - Hash attached to your username which is used to authenticate - yourself in the API. Contact us to get the hash key. +Fetch and save license texts in .LICENSE files side-by-side with the +.ABOUT files using the DejaCode License Library API. +api_url - URL to the DejaCode License Library. +api_username - The DejaCode username. +api_key - Key attached to your username and used to authenticate + yourself in the API. Contact us to get an API key. Example syntax: genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' @@ -697,6 +653,9 @@ def _exists(location): def main(parser, options, args): + """ + Main commnad line entry point. + """ verbosity = options.verbosity action = options.action copy_files_path = options.copy_files @@ -710,10 +669,9 @@ def main(parser, options, args): api_key = '' gen_license = False dje_license_dict = {} - mapping_keys = [] if options.version: - print('ABOUT tool {0}\n{1}'.format(__version__, __copyright__)) + print(__full_info__) sys.exit(0) if verbosity == 1: @@ -732,18 +690,18 @@ def main(parser, options, args): if copy_files_path: # code to handle tilde character copy_files_path = os.path.abspath(expanduser(copy_files_path)) - if not _exists(copy_files_path): + if not path_exists(copy_files_path): print("The project path does not exist.") sys.exit(errno.EINVAL) if license_text_path: # code to handle tilde character license_text_path = os.path.abspath(expanduser(license_text_path)) - if not _exists(license_text_path): + if not path_exists(license_text_path): print("The license text path does not exist.") sys.exit(errno.EINVAL) - if mapping_config and not _exists('MAPPING.CONFIG'): + if mapping_config and not path_exists('MAPPING.CONFIG'): print("The file 'MAPPING.CONFIG' does not exist.") sys.exit(errno.EINVAL) @@ -808,25 +766,24 @@ def main(parser, options, args): file_handler = logging.FileHandler(log_path) file_logger.addHandler(file_handler) - input_list = gen.get_input_list(input_path) - input_list = gen.get_non_empty_rows_list(input_list) + input_data = load_data_from_csv(input_path) + input_data = filter_empty_values(input_data) + user_keys = [] if mapping_config: - mapping_list = gen.get_mapping_list() - input_list = gen.convert_input_list(input_list, mapping_list) - mapping_keys = mapping_list.keys() + mappings = get_mappings(location=None) + input_data = apply_mappings(input_data, mappings) + user_keys = mappings.values() - gen.validate(input_list) + gen.validate(input_data) - ignored_fields_list = gen.get_non_supported_fields(input_list, - mapping_keys) + ignored_fields_list = gen.get_unknown_fields(input_data, user_keys) if ignored_fields_list: - input_list = gen.get_only_supported_fields(input_list, - ignored_fields_list) + input_list = gen.get_only_supported_fields(input_data, ignored_fields_list) if copy_files_path: if not isdir(copy_files_path): - print("The '--copy_files' must be a directory.") + print("The COPY_FILES path must be a directory.") print("'--copy_files' is skipped.") else: licenses_in_project = True @@ -834,14 +791,13 @@ def main(parser, options, args): copy_files_path, licenses_in_project) if not license_list: - print("None of the file is found. '--copy_files' is ignored.") + print("None of the file was found. '--copy_files' is ignored.") else: gen.copy_files(output_path, license_list) if license_text_path: if not isdir(license_text_path): - print("The '--license_text_location' " - "must be a directory.") + print("The LICENSE_TEXT_LOCATION path must be a directory.") print("'--license_text_location' is skipped.") else: licenses_in_project = False @@ -849,7 +805,7 @@ def main(parser, options, args): license_text_path, licenses_in_project) if not license_list: - print("None of the file is found. '--copy_files' is ignored.") + print("None of the file was found. '--copy_files' is ignored.") else: gen.copy_files(output_path, license_list) @@ -863,8 +819,7 @@ def main(parser, options, args): break except Exception as e: print(repr(e)) - print("The input does not have the 'dje_license_key' " - "key which is required.") + print("The CSV does not contain the required column 'dje_license_key' ") sys.exit(errno.EINVAL) if gen_license: @@ -872,97 +827,46 @@ def main(parser, options, args): api_url = api_url.strip("'").strip("\"") api_username = api_username.strip("'").strip("\"") api_key = api_key.strip("'").strip("\"") - dje_license_dict = gen.pre_process_and_dje_license_dict(input_list, - api_url, - api_username, - api_key) - - dje_license_list = gen.get_dje_license_list(output_path, - input_list, - gen_license, - dje_license_dict) - components_list = gen.pre_generation(output_path, - input_list, - action_num) + dje_license_dict = gen.pre_process_and_dje_license_dict(input_list, api_url, api_username, api_key) + + dje_license_list = gen.get_dje_license_list(output_path, input_list, gen_license, dje_license_dict) + components_list = gen.pre_generation(output_path, input_list, action_num) formatted_output = gen.format_output(components_list) gen.write_output(formatted_output) if dje_license_list: - license_list_context = gen.process_dje_licenses(dje_license_list, - dje_license_dict, - output_path) + license_list_context = gen.process_dje_licenses(dje_license_list, dje_license_dict, output_path) gen.write_licenses(license_list_context) - print("Completed.") + print('Completed.') gen.warnings_errors_summary() print('Warnings: %s' % len(gen.warnings)) print('Errors: %s' % len(gen.errors)) def get_parser(): - - class MyFormatter(optparse.IndentedHelpFormatter): - def _format_text(self, text): - """ - Overridden to allow description to be printed without - modification - """ - return text - - def format_option(self, option): - """ - Overridden to allow options help text to be printed without - modification - """ - result = [] - opts = self.option_strings[option] - opt_width = self.help_position - self.current_indent - 2 - if len(opts) > opt_width: - opts = '%*s%s\n' % (self.current_indent, '', opts) - indent_first = self.help_position - else: # start help on same line as opts - opts = '%*s%-*s ' % (self.current_indent, '', opt_width, opts) - indent_first = 0 - result.append(opts) - if option.help: - help_text = self.expand_default(option) - help_lines = help_text.split('\n') - # help_lines = textwrap.wrap(help_text, self.help_width) - result.append('%*s%s\n' % (indent_first, '', help_lines[0])) - result.extend(['%*s%s\n' % (self.help_position, '', line) - for line in help_lines[1:]]) - elif opts[-1] != '\n': - result.append('\n') - return ''.join(result) - + """ + Return a command line options parser. + """ parser = optparse.OptionParser( usage='%prog [options] input_path output_path', description=USAGE_SYNTAX, add_help_option=False, - formatter=MyFormatter(), + formatter=ImprovedFormatter(), ) - parser.add_option('-h', '--help', action='help', help='Display help') - parser.add_option('--version', action='store_true', - help='Display version, license and copyright notice') - parser.add_option('--verbosity', type=int, - help=VERBOSITY_HELP) - parser.add_option('--action', type=int, - help=ACTION_HELP) - parser.add_option('--copy_files', type='string', - help=COPY_FILES_HELP) - parser.add_option('--license_text_location', type='string', - help=LICENSE_TEXT_LOCATION_HELP) - parser.add_option('--mapping', action='store_true', - help=MAPPING_HELP) - parser.add_option('--extract_license', type='string', nargs=3, - help=EXTRACT_LICENSE_HELP) + parser.add_option('-h', '--help', action='help', help='Print this help message and exit.') + parser.add_option('--version', action='store_true', help='Print the current version and copyright notice and exit.') + parser.add_option('--verbosity', type=int, help=VERBOSITY_HELP) + parser.add_option('--action', type=int, help=ACTION_HELP) + parser.add_option('--copy_files', type='string', help=COPY_FILES_HELP) + parser.add_option('--license_text_location', type='string', help=LICENSE_TEXT_LOCATION_HELP) + parser.add_option('--mapping', action='store_true', help=MAPPING_HELP) + parser.add_option('--extract_license', type='string', nargs=3, help=EXTRACT_LICENSE_HELP) return parser if __name__ == '__main__': - print('\n') - print('Running about-code-tool version ' + __version__) - print('\n') + print(__version_info__) parser = get_parser() options, args = parser.parse_args() main(parser, options, args) diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index ca4e773d..e3df1a6a 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -15,9 +15,10 @@ # ============================================================================ """ -This tool is used to generate component attribution based on a set of .ABOUT -files. Optionally, one could pass a subset list of specific components for set -of .ABOUT files to generate attribution. +Tool to generate component attribution based on a set of .ABOUTfiles. + +Optionally accepts a list (i.e. a subset) of ABOUT file paths to limit the +generated attribution to this subset. """ from __future__ import print_function @@ -25,17 +26,30 @@ import csv import errno import logging -import ntpath import optparse import os +from os.path import exists +from os.path import dirname +from os.path import join +from os.path import abspath +from os.path import isdir +from os.path import basename +from os.path import expanduser +from os.path import normpath import posixpath import sys -from os.path import exists, dirname, join, abspath, isdir, basename, expanduser, normpath -from about_code_tool.about import on_windows +from help import __version_info__ +from help import __full_info__ +from help import VERBOSITY_HELP +from help import MAPPING_HELP + from about import Collector -import genabout -import about + +from util import apply_mappings +from util import extract_zip +from util import ImprovedFormatter + LOG_FILENAME = 'error.log' @@ -46,139 +60,78 @@ logger.addHandler(handler) file_logger = logging.getLogger(__name__ + '_file') -__version__ = '2.0.4' - -__about_spec_version__ = '1.0.0' # See http://dejacode.org - -__copyright__ = """ -Copyright (c) 2013-2015 nexB Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -""" - -def component_subset_to_sublist(input_list): - sublist = [row["about_file"] for row in input_list - if "about_file" in row.keys()] - return sublist +def get_about_file_paths(abouts): + """ + Return a list of about_file paths given a list of About data dictionaries. + """ + return [row['about_file'] for row in abouts if 'about_file' in row] -def update_path_to_about(input_list): - output_list = [] - for row in input_list: - if not row.endswith('.ABOUT'): - if row.endswith('/'): - row += basename(dirname(row)) - output_list.append(row + '.ABOUT') +def as_about_paths(paths): + """ + Given a list of paths, return a list of paths that point all to .ABOUT files. + """ + normalized_paths = [] + for path in paths: + if path.endswith('.ABOUT'): + normalized_paths.append(path) else: - output_list.append(row) - return output_list - + if path.endswith('/'): + path += basename(dirname(path)) + normalized_paths.append(path + '.ABOUT') + return normalized_paths -def convert_dict_key_to_lower_case(input_list): - output_list = [] - for line in input_list: - lower_dict = {} - for key in line: - lower_dict[key.lower()] = line[key] - output_list.append(lower_dict) - return output_list +def lower_keys(dicts): + """ + Return a new a list of 'dicts' dictionaries such that all the keys are + lowercased. + """ + lowered_dicts = [] + for dct in dicts: + lowered = {} + for key, value in dct.items(): + lowered[key.lower()] = value + lowered_dicts.append(lowered) + return lowered_dicts -def check_about_file_existence_and_format(input_list): - try: - for row in input_list: - # Force the path to start with the '/' to map with the project - # structure - if not row['about_file'].startswith('/'): - row['about_file'] = '/' + row['about_file'] - return input_list - except Exception: - return [] +def has_about_file_keys(abouts): + """ + Return True if all dicts in a list of About dictionaries have an about_file key. + """ + return all(about.get('about_file') for about in abouts) -USAGE_SYNTAX = """\ - Input can be a file or directory. - Output of rendered template must be a file (e.g. .html). - Optional: - Component List must be a .csv file which has at least an "about_file" column. -""" +def normalize_about_file_paths(abouts): + """ + Update a list of About data dictionaries such that all 'about_file' paths are + absolute POSIX paths (i.e. prefixed with a POSIX / "slash"). + """ + for about in abouts: + about_file_path = about.get('about_file') + if about_file_path and not about_file_path.startswith(posixpath.sep): + about['about_file'] = '/' + about_file_path + return abouts -VERBOSITY_HELP = """\ -Print more or fewer verbose messages while processing ABOUT files -0 - Do not print any warning or error messages, just a total count (default) -1 - Print error messages -2 - Print error and warning messages +USAGE_SYNTAX = """\ + can be a file or directory containing ABOUT files. + is a file path to save the rendered attribution (e.g. .html). + is an optional .csv file with at least an "about_file" column to limit attribution generation to that list. """ TEMPLATE_LOCATION_HELP = """\ -Use the custom template for the Attribution Generation -""" - - -MAPPING_HELP = """\ -Configure the mapping key from the MAPPING.CONFIG +Optional path to a custom template to use for the generating the attribution. +Default to 'about_code_tool/templates/default.html' """ VERIFICATION_HELP = """\ -Create a verification CSV output for the attribution +Optional path to a verification CSV file created from the generated attribution. """ -def extract_zip(location): - """ - Extract a zip file at location in a temp directory and return the temporary - directory where the archive was extracted. - """ - import zipfile - import tempfile - if not zipfile.is_zipfile(location): - raise Exception('Incorrect zip file %(location)r' % locals()) - - archive_base_name = os.path.basename(location).replace('.zip', '') - base_dir = tempfile.mkdtemp() - target_dir = os.path.join(base_dir, archive_base_name) - target_dir = about.add_unc(target_dir) - os.makedirs(target_dir) - - if target_dir.endswith((ntpath.sep, posixpath.sep)): - target_dir = target_dir[:-1] - - with zipfile.ZipFile(location) as zipf: - for info in zipf.infolist(): - name = info.filename - content = zipf.read(name) - target = os.path.join(target_dir, name) - is_dir = target.endswith((ntpath.sep, posixpath.sep)) - if is_dir: - target = target[:-1] - parent = os.path.dirname(target) - if on_windows: - target = target.replace(posixpath.sep, ntpath.sep) - parent = parent.replace(posixpath.sep, ntpath.sep) - if not os.path.exists(parent): - os.makedirs(parent) - if not content and is_dir: - if not os.path.exists(target): - os.makedirs(target) - if not os.path.exists(target): - with open(target, 'wb') as f: - f.write(content) - return target_dir - - def main(parser, options, args): overwrite = options.overwrite verbosity = options.verbosity @@ -187,7 +140,7 @@ def main(parser, options, args): verification_location = options.verification_location if options.version: - print('ABOUT tool {0}\n{1}'.format(__version__, __copyright__)) + print(__full_info__) sys.exit(0) if verbosity == 1: @@ -197,24 +150,24 @@ def main(parser, options, args): if mapping_config: if not exists('MAPPING.CONFIG'): - print("The file 'MAPPING.CONFIG' does not exist.") + print("The 'MAPPING.CONFIG' file does not exist.") sys.exit(errno.EINVAL) if template_location: template_location = abspath(expanduser(template_location)) if not exists(template_location): - print('The defined template location does not exist.') + print('The TEMPLATE_LOCATION file does not exist.') parser.print_help() sys.exit(errno.EINVAL) if verification_location: verification_location = abspath(expanduser(verification_location)) if not verification_location.endswith('.csv'): - print('The verification output must ends with ".csv".') + print('The VERIFICATION_LOCATION path must end with ".csv".') parser.print_help() sys.exit(errno.EINVAL) if not exists(dirname(verification_location)): - print('The verification output directory does not exist.') + print('The VERIFICATION_LOCATION file parent directory does not exist.') parser.print_help() sys.exit(errno.EINVAL) @@ -241,7 +194,7 @@ def main(parser, options, args): sys.setdefaultencoding('utf-8') # @UndefinedVariable if not exists(input_path): - print('Input path does not exist.') + print(' does not exist.') parser.print_help() sys.exit(errno.EEXIST) @@ -250,24 +203,23 @@ def main(parser, options, args): input_path = extract_zip(input_path) if isdir(output_path): - print('Output must be a HTML file.') + print(' must be an HTML file, not a directory') parser.print_help() sys.exit(errno.EISDIR) # We only support HTML currently if not output_path.endswith('.html'): - print('Output must be a HTML file.') + print(' must be an HTML file.') parser.print_help() sys.exit(errno.EINVAL) if exists(output_path) and not overwrite: - print('Output file already exists. Select a different file name ' - 'or use the --overwrite option.') + print('A file at already exists. Select a different file name or use the --overwrite option.') parser.print_help() sys.exit(errno.EEXIST) if component_subset_path and not exists(component_subset_path): - print('Component Subset path does not exist.') + print(' CSV file does not exist.') parser.print_help() sys.exit(errno.EEXIST) @@ -276,38 +228,41 @@ def main(parser, options, args): outlist = None if not component_subset_path: sublist = None + else: - input_list = [] - with open(component_subset_path, "rU") as f: - input_dict = csv.DictReader(f) - for row in input_dict: - input_list.append(row) - updated_list = convert_dict_key_to_lower_case(input_list) + with open(component_subset_path, 'rU') as inp: + reader = csv.DictReader(inp) + abouts = [data for data in reader] + + abouts = lower_keys(abouts) + if mapping_config: - mapping_list = genabout.GenAbout().get_mapping_list() - updated_list = genabout.GenAbout().convert_input_list(updated_list, mapping_list) - if not check_about_file_existence_and_format(updated_list): + abouts = apply_mappings(abouts) + + if not has_about_file_keys(abouts): print('The required key "about_file" was not found.') - print('Please use the "--mapping" option to map the input ' - 'keys and verify the mapping information are correct.') + print('Please use the "--mapping" option to map the input keys and verify the mapping information are correct.') print('OR, correct the header keys from the component list.') parser.print_help() sys.exit(errno.EISDIR) - sublist = component_subset_to_sublist(updated_list) - outlist = update_path_to_about(sublist) + + abouts = normalize_about_file_paths(abouts) + + sublist = get_about_file_paths(abouts) + outlist = as_about_paths(sublist) attrib_str = collector.generate_attribution(template_path=template_location, limit_to=outlist, verification=verification_location) errors = collector.get_genattrib_errors() if attrib_str: try: - with open(output_path, "w") as f: + with open(output_path, 'w') as f: f.write(attrib_str) except Exception as e: - print("Problem occurs. Attribution was not generated.") + print('An error occurred. Attribution was not generated.') print(e) - print("Completed.") + print('Completed.') # Remove the previous log file if exist log_path = join(dirname(output_path), LOG_FILENAME) if exists(log_path): @@ -319,73 +274,35 @@ def main(parser, options, args): logger.error(error_msg) file_logger.error(error_msg) if errors: - print("%d errors detected." % len(errors)) + print('%d errors detected.' % len(errors)) else: # we should never reach this - assert False, "Unsupported option(s)." + assert False, 'Unsupported option(s).' def get_parser(): - class MyFormatter(optparse.IndentedHelpFormatter): - def _format_text(self, text): - """ - Overridden to allow description to be printed without - modification - """ - return text - - def format_option(self, option): - """ - Overridden to allow options help text to be printed without - modification - """ - result = [] - opts = self.option_strings[option] - opt_width = self.help_position - self.current_indent - 2 - if len(opts) > opt_width: - opts = "%*s%s\n" % (self.current_indent, "", opts) - indent_first = self.help_position - else: # start help on same line as opts - opts = "%*s%-*s " % (self.current_indent, "", opt_width, opts) - indent_first = 0 - result.append(opts) - if option.help: - help_text = self.expand_default(option) - help_lines = help_text.split('\n') - result.append("%*s%s\n" % (indent_first, "", help_lines[0])) - result.extend(["%*s%s\n" % (self.help_position, "", line) - for line in help_lines[1:]]) - elif opts[-1] != "\n": - result.append("\n") - return "".join(result) - + """ + Return a command line options parser. + """ parser = optparse.OptionParser( usage='%prog [options] input_path output_path [component_list]', description=USAGE_SYNTAX, add_help_option=False, - formatter=MyFormatter(), + formatter=ImprovedFormatter(), ) - parser.add_option("-h", "--help", action="help", help="Display help") - parser.add_option("-v", "--version", action="store_true", - help='Display current version, license notice, and copyright notice') - parser.add_option('--overwrite', action='store_true', - help='Overwrites the output file if it exists') - parser.add_option('--verbosity', type=int, - help=VERBOSITY_HELP) - parser.add_option('--template_location', type='string', - help=TEMPLATE_LOCATION_HELP) - parser.add_option('--mapping', action='store_true', - help=MAPPING_HELP) - parser.add_option('--verification_location', type='string', - help=VERIFICATION_HELP) + parser.add_option('-h', '--help', action='help', help='Print this help message and exit.') + parser.add_option('--version', action='store_true', help='Print the current version and copyright notice and exit') + parser.add_option('--overwrite', action='store_true', help='Overwrites the file if it exists.') + parser.add_option('--verbosity', type=int, help=VERBOSITY_HELP) + parser.add_option('--template_location', type='string', help=TEMPLATE_LOCATION_HELP) + parser.add_option('--mapping', action='store_true', help=MAPPING_HELP) + parser.add_option('--verification_location', type='string', help=VERIFICATION_HELP) return parser -if __name__ == "__main__": - print('\n') - print('Running about-code-tool version ' + __version__) - print('\n') +if __name__ == '__main__': + print(__version_info__) parser = get_parser() options, args = parser.parse_args() main(parser, options, args) diff --git a/about_code_tool/help.py b/about_code_tool/help.py new file mode 100644 index 00000000..c0d768b6 --- /dev/null +++ b/about_code_tool/help.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: utf8 -*- + +# ============================================================================ +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +from __future__ import print_function + + +__about_spec_version__ = '1.0' + +__version__ = '2.2.0' + +__copyright__ = """ +Copyright (c) 2013-2015 nexB Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +__version_info__ = 'AboutCode v {0}\n'.format(__version__) + + +__full_info__ = 'AboutCode tool v {0}\n{1}'.format(__version__, __copyright__) + + +VERBOSITY_HELP = """\ +Print more or less verbose messages while processing: +0 - Do not print warning or error messages, only a total count (default). +1 - Print error messages. +2 - Print error and warning messages. +""" + + +MAPPING_HELP = """\ +Load the about_code_tool/MAPPING.CONFIG file. This file contains a mapping between AboutCode keys +(or column names) and custom keys (or column names). +""" + diff --git a/about_code_tool/licenses.py b/about_code_tool/licenses.py new file mode 100644 index 00000000..f9de9331 --- /dev/null +++ b/about_code_tool/licenses.py @@ -0,0 +1,299 @@ +#!/usr/bin/env python +# -*- coding: utf8 -*- + +# ============================================================================ +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +from __future__ import print_function + + +# SPDX License Identifiers from http://spdx.org/licenses/ +# based on SPDX License List version 1.18 released on 2013-04-10 +SPDX_LICENSES = ( + 'AFL-1.1', + 'AFL-1.2', + 'AFL-2.0', + 'AFL-2.1', + 'AFL-3.0', + 'APL-1.0', + 'Aladdin', + 'ANTLR-PD', + 'Apache-1.0', + 'Apache-1.1', + 'Apache-2.0', + 'APSL-1.0', + 'APSL-1.1', + 'APSL-1.2', + 'APSL-2.0', + 'Artistic-1.0', + 'Artistic-2.0', + 'AAL', + 'BitTorrent-1.0', + 'BitTorrent-1.1', + 'BSL-1.0', + 'BSD-2-Clause', + 'BSD-2-Clause-FreeBSD', + 'BSD-2-Clause-NetBSD', + 'BSD-3-Clause', + 'BSD-3-Clause-Clear', + 'BSD-4-Clause', + 'BSD-4-Clause-UC', + 'CECILL-1.0', + 'CECILL-1.1', + 'CECILL-2.0', + 'CECILL-B', + 'CECILL-C', + 'ClArtistic', + 'CNRI-Python', + 'CNRI-Python-GPL-Compatible', + 'CPOL-1.02', + 'CDDL-1.0', + 'CDDL-1.1', + 'CPAL-1.0', + 'CPL-1.0', + 'CATOSL-1.1', + 'Condor-1.1', + 'CC-BY-1.0', + 'CC-BY-2.0', + 'CC-BY-2.5', + 'CC-BY-3.0', + 'CC-BY-ND-1.0', + 'CC-BY-ND-2.0', + 'CC-BY-ND-2.5', + 'CC-BY-ND-3.0', + 'CC-BY-NC-1.0', + 'CC-BY-NC-2.0', + 'CC-BY-NC-2.5', + 'CC-BY-NC-3.0', + 'CC-BY-NC-ND-1.0', + 'CC-BY-NC-ND-2.0', + 'CC-BY-NC-ND-2.5', + 'CC-BY-NC-ND-3.0', + 'CC-BY-NC-SA-1.0', + 'CC-BY-NC-SA-2.0', + 'CC-BY-NC-SA-2.5', + 'CC-BY-NC-SA-3.0', + 'CC-BY-SA-1.0', + 'CC-BY-SA-2.0', + 'CC-BY-SA-2.5', + 'CC-BY-SA-3.0', + 'CC0-1.0', + 'CUA-OPL-1.0', + 'D-FSL-1.0', + 'WTFPL', + 'EPL-1.0', + 'eCos-2.0', + 'ECL-1.0', + 'ECL-2.0', + 'EFL-1.0', + 'EFL-2.0', + 'Entessa', + 'ErlPL-1.1', + 'EUDatagrid', + 'EUPL-1.0', + 'EUPL-1.1', + 'Fair', + 'Frameworx-1.0', + 'FTL', + 'AGPL-1.0', + 'AGPL-3.0', + 'GFDL-1.1', + 'GFDL-1.2', + 'GFDL-1.3', + 'GPL-1.0', + 'GPL-1.0+', + 'GPL-2.0', + 'GPL-2.0+', + 'GPL-2.0-with-autoconf-exception', + 'GPL-2.0-with-bison-exception', + 'GPL-2.0-with-classpath-exception', + 'GPL-2.0-with-font-exception', + 'GPL-2.0-with-GCC-exception', + 'GPL-3.0', + 'GPL-3.0+', + 'GPL-3.0-with-autoconf-exception', + 'GPL-3.0-with-GCC-exception', + 'LGPL-2.1', + 'LGPL-2.1+', + 'LGPL-3.0', + 'LGPL-3.0+', + 'LGPL-2.0', + 'LGPL-2.0+', + 'gSOAP-1.3b', + 'HPND', + 'IPL-1.0', + 'Imlib2', + 'IJG', + 'Intel', + 'IPA', + 'ISC', + 'JSON', + 'LPPL-1.3a', + 'LPPL-1.0', + 'LPPL-1.1', + 'LPPL-1.2', + 'LPPL-1.3c', + 'Libpng', + 'LPL-1.02', + 'LPL-1.0', + 'MS-PL', + 'MS-RL', + 'MirOS', + 'MIT', + 'Motosoto', + 'MPL-1.0', + 'MPL-1.1', + 'MPL-2.0', + 'MPL-2.0-no-copyleft-exception', + 'Multics', + 'NASA-1.3', + 'Naumen', + 'NBPL-1.0', + 'NGPL', + 'NOSL', + 'NPL-1.0', + 'NPL-1.1', + 'Nokia', + 'NPOSL-3.0', + 'NTP', + 'OCLC-2.0', + 'ODbL-1.0', + 'PDDL-1.0', + 'OGTSL', + 'OLDAP-2.2.2', + 'OLDAP-1.1', + 'OLDAP-1.2', + 'OLDAP-1.3', + 'OLDAP-1.4', + 'OLDAP-2.0', + 'OLDAP-2.0.1', + 'OLDAP-2.1', + 'OLDAP-2.2', + 'OLDAP-2.2.1', + 'OLDAP-2.3', + 'OLDAP-2.4', + 'OLDAP-2.5', + 'OLDAP-2.6', + 'OLDAP-2.7', + 'OPL-1.0', + 'OSL-1.0', + 'OSL-2.0', + 'OSL-2.1', + 'OSL-3.0', + 'OLDAP-2.8', + 'OpenSSL', + 'PHP-3.0', + 'PHP-3.01', + 'PostgreSQL', + 'Python-2.0', + 'QPL-1.0', + 'RPSL-1.0', + 'RPL-1.1', + 'RPL-1.5', + 'RHeCos-1.1', + 'RSCPL', + 'Ruby', + 'SAX-PD', + 'SGI-B-1.0', + 'SGI-B-1.1', + 'SGI-B-2.0', + 'OFL-1.0', + 'OFL-1.1', + 'SimPL-2.0', + 'Sleepycat', + 'SMLNJ', + 'SugarCRM-1.1.3', + 'SISSL', + 'SPL-1.0', + 'Watcom-1.0', + 'NCSA', + 'VSL-1.0', + 'W3C', + 'WXwindows', + 'Xnet', + 'X11', + 'XFree86-1.1', + 'YPL-1.0', + 'YPL-1.1', + 'Zimbra-1.3', + 'Zlib', + 'ZPL-1.1', + 'ZPL-2.0', + 'ZPL-2.1', +) + + +# Maps lowercase id to standard ids with official case +SPDX_LICENSE_IDS = dict((name.lower(), name) for name in SPDX_LICENSES) + + +# Use DJE License Name +COMMON_LICENSES = ( + 'AES-128 v3.0 License', + 'Apache License 1.1', + 'Apache License 2.0', + 'Apple Attribution License 1997', + 'Apple Example Code License', + 'Apple Public Source License 2.0', + 'Arphic Public License', + 'Artistic License (Perl) 1.0', + 'Artistic License 2.0', + 'Bitstream Vera Font License', + 'Boost Software License 1.0', + 'Broadcom CFE License', + 'BSD-Modified', + 'BSD-Original', + 'BSD-Original-UC', + 'BSD-Simplified', + 'CMU Computing Services License', + 'Common Development and Distribution License 1.0', + 'Common Development and Distribution License 1.1', + 'Common Public License 1.0', + 'Creative Commons Attribution License 2.5', + 'Creative Commons Attribution Share Alike License 3.0', + 'Curl License', + 'FreeType Project License', + 'GNU General Public License 2.0', + 'GNU General Public License 2.0 with Bison exception', + 'GNU General Public License 2.0 with GLIBC exception', + 'GNU General Public License 3.0', + 'GNU Lesser General Public License 2.1', + 'GNU Library General Public License 2.0', + 'GPL 2.0 or later with Linking exception', + 'GPL 2.0 with Broadcom Linking exception', + 'Independent JPEG Group License', + 'ISC License (ISCL)', + 'Larabie Fonts EULA', + 'Libpng License', + 'Microsoft Limited Public License', + 'Microsoft Public License', + 'Microsoft Reciprocal License', + 'Microsoft TrueType Fonts EULA', + 'MIT License', + 'Mozilla Public License 1.1', + 'Net SNMP License', + 'Netscape Public License 1.1', + 'NTP License', + 'OpenSSL/SSLeay License', + 'Original SSLeay License with Windows exception', + 'RSA Data Security MD4', + 'RSA Data Security MD5', + 'SFL License Agreement', + 'SGI Free Software License B v2.0', + 'Sun RPC License', + 'TCL/TK License', + 'Tidy License', + 'University of Illinois/NCSA Open Source License', + 'X11 License', + 'ZLIB License', +) diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 458e28f8..ecc3c6d7 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -16,82 +16,45 @@ from __future__ import print_function +import os +from os.path import abspath +from os.path import dirname +from os.path import join +import re import string from StringIO import StringIO -import tempfile import unittest from unittest.case import skip -import os -import re -import stat -from os.path import abspath, dirname, join, split -from about_code_tool import about -from pip._vendor.distlib.wheel import to_posix -from about_code_tool.about import on_windows +from about_code_tool.about import Collector +from about_code_tool.about import AboutFile +from about_code_tool.about import check_invalid_chars +from about_code_tool.about import check_network_connection +from about_code_tool.about import IGNORED +from about_code_tool.about import FILE +from about_code_tool.about import VALUE +from about_code_tool.about import DATE +from about_code_tool.about import SPDX +from about_code_tool.about import is_about_file +from about_code_tool.about import ASCII +from about_code_tool.util import on_windows +from about_code_tool.util import UNC_PREFIX +from about_code_tool.util import posix_path + +from about_code_tool.tests.tstutil import get_temp_file TESTDATA_DIR = join(abspath(dirname(__file__)), 'testdata') -UNC_PREFIX = u'\\\\?\\' - - -def create_dir(location): - """ - Create directory or directory tree at location, ensuring it is readable - and writeable. - """ - if not os.path.exists(location): - os.makedirs(location) - os.chmod(location, stat.S_IRWXU | stat.S_IRWXG - | stat.S_IROTH | stat.S_IXOTH) - - -def build_temp_dir(prefix='test-about-code-'): - """ - Create and return a new unique empty directory created in base_dir. - """ - location = tempfile.mkdtemp(prefix=prefix) - create_dir(location) - return location - - -def get_temp_file(file_name='test-about-code-tempfile'): - """ - Return a unique new temporary file location to a non-existing - temporary file that can safely be created without a risk of name - collision. - """ - temp_dir = get_temp_dir() - location = os.path.join(temp_dir, file_name) - return location - - -def get_temp_dir(sub_dir_path=None): - """ - Create a unique new temporary directory location. Create directories - identified by sub_dir_path if provided in this temporary directory. - Return the location for this unique directory joined with the - sub_dir_path if any. - """ - new_temp_dir = build_temp_dir() - - if sub_dir_path: - # create a sub directory hierarchy if requested - new_temp_dir = os.path.join(new_temp_dir, sub_dir_path) - create_dir(new_temp_dir) - return new_temp_dir class CollectorTest(unittest.TestCase): def test_return_path_is_not_abspath_and_contains_subdirs_on_file(self): # Using a relative path for the purpose of this test - test_file = ('about_code_tool/tests/testdata/thirdparty' - '/django_snippets_2413.ABOUT') + test_file = 'about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT' output = get_temp_file() - collector = about.Collector(test_file) + collector = Collector(test_file) collector.write_to_csv(output) - expected = ('about_code_tool/tests/testdata/thirdparty' - '/django_snippets_2413.ABOUT') + expected = 'about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT' # FIXME: why [2]? what this test means? with open(output) as f: self.assertTrue(f.read().partition('\n')[2].startswith(expected)) @@ -100,7 +63,7 @@ def test_return_path_is_not_abspath_and_contains_subdirs_on_dir(self): # Using a relative path for the purpose of this test test_file = 'about_code_tool/tests/testdata/basic' output = get_temp_file() - collector = about.Collector(test_file) + collector = Collector(test_file) collector.write_to_csv(output) expected = '/basic' # FIXME: why [2]? what this test means? @@ -108,25 +71,26 @@ def test_return_path_is_not_abspath_and_contains_subdirs_on_dir(self): self.assertTrue(f.read().partition('\n')[2].startswith(expected)) def test_header_row_in_csv_output(self): - expected_header = ('about_file,name,version,about_resource,' - 'spec_version,date,description,description_file,' - 'home_url,download_url,readme,readme_file,install,install_file,' - 'changelog,changelog_file,news,news_file,news_url,notes,notes_file,' - 'contact,owner,author,author_file,copyright,copyright_file,' - 'notice_file,notice_url,license_text_file,license_url,license_spdx,' - 'redistribute,attribute,track_changes,vcs_tool,vcs_repository,' - 'vcs_path,vcs_tag,vcs_branch,vcs_revision,checksum_sha1,checksum_md5,' - 'checksum_sha256,dje_component,dje_license_key,dje_organization,' - 'dje_license_name,scm_branch,scm_repository,signature_gpg_file,' - 'redistribute_sources,dje_license,about_format,usage,' - 'license_text,notice,scm_path,scm_tool,scm_rev,scm_tag,organization,' - 'warnings,errors') + expected_header = ( + 'about_file,name,version,about_resource,' + 'spec_version,date,description,description_file,' + 'home_url,download_url,readme,readme_file,install,install_file,' + 'changelog,changelog_file,news,news_file,news_url,notes,notes_file,' + 'contact,owner,author,author_file,copyright,copyright_file,' + 'notice_file,notice_url,license_text_file,license_url,license_spdx,' + 'redistribute,attribute,track_changes,vcs_tool,vcs_repository,' + 'vcs_path,vcs_tag,vcs_branch,vcs_revision,checksum_sha1,checksum_md5,' + 'checksum_sha256,dje_component,dje_license_key,dje_organization,' + 'dje_license_name,scm_branch,scm_repository,signature_gpg_file,' + 'redistribute_sources,dje_license,about_format,usage,' + 'license_text,notice,scm_path,scm_tool,scm_rev,scm_tag,organization,' + 'warnings,errors' + ) test_file = 'about_code_tool/tests/testdata/basic' output = get_temp_file() - collector = about.Collector(test_file) + collector = Collector(test_file) collector.write_to_csv(output) - header_row = '' with open(output) as f: header_row = f.readline().replace('\n', '').replace('\r', '') header_row_array = header_row.split(',') @@ -137,50 +101,50 @@ def test_header_row_in_csv_output(self): def test_collect_can_collect_a_directory_tree(self): test_dir = 'about_code_tool/tests/testdata/DateTest' - expected = [(os.path.abspath('about_code_tool/tests/testdata/DateTest' - '/non-supported_date_format.ABOUT')), - (os.path.abspath('about_code_tool/tests/testdata/DateTest' - '/supported_date_format.ABOUT'))] - result = about.Collector.collect(test_dir) if on_windows: - expected = [(to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/DateTest' - '/non-supported_date_format.ABOUT'))), - (to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/DateTest' - '/supported_date_format.ABOUT')))] + expected = [ + (posix_path(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/DateTest/non-supported_date_format.ABOUT'))), + (posix_path(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/DateTest/supported_date_format.ABOUT'))) + ] + else: + expected = [ + (os.path.abspath('about_code_tool/tests/testdata/DateTest/non-supported_date_format.ABOUT')), + (os.path.abspath('about_code_tool/tests/testdata/DateTest/supported_date_format.ABOUT')) + ] + result = Collector.collect(test_dir) self.assertEqual(sorted(expected), sorted(result)) def test_collect_can_collect_a_single_file(self): - test_file = ('about_code_tool/tests/testdata/thirdparty' - '/django_snippets_2413.ABOUT') - expected = [os.path.abspath('about_code_tool/tests/testdata/thirdparty' - '/django_snippets_2413.ABOUT')] - result = about.Collector.collect(test_file) + test_file = ('about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT') if on_windows: - expected = [to_posix(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/thirdparty' - '/django_snippets_2413.ABOUT'))] + expected = [posix_path(UNC_PREFIX + os.path.abspath('about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT'))] + else: + expected = [os.path.abspath('about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT')] + result = Collector.collect(test_file) self.assertEqual(expected, result) def test_collect_can_collect_a_long_directory_tree(self): - test_dir = 'about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/' - expected = [os.path.abspath(('about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1' - '/non-supported_date_format.ABOUT'))] - result = about.Collector.collect(test_dir) + longpath = 'longpath1/' * 28 + test_dir = 'about_code_tool/tests/testdata/longpath/' + longpath if on_windows: # For some reasons, the os.path.abspath doesn't work if I have long # path in the parameter. Therefore, I just append to long path # after the os.path.abspath() - expected = [to_posix(UNC_PREFIX + os.path.abspath('about_code_tool') + '/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1' - '/non-supported_date_format.ABOUT')] + expected = [posix_path(UNC_PREFIX + os.path.abspath('about_code_tool') + '/tests/testdata/longpath/' + longpath + '/non-supported_date_format.ABOUT')] + else: + expected = [os.path.abspath(('about_code_tool/tests/testdata/longpath/' + longpath + 'non-supported_date_format.ABOUT'))] + + result = Collector.collect(test_dir) self.assertEqual(sorted(expected), sorted(result)) def test_collector_errors_encapsulation(self): test_file = 'about_code_tool/tests/testdata/DateTest' - collector = about.Collector(test_file) + collector = Collector(test_file) self.assertEqual(2, len(collector.errors)) def test_collector_warnings_encapsulation(self): test_file = 'about_code_tool/tests/testdata/allAboutInOneDir' - collector = about.Collector(test_file) + collector = Collector(test_file) # self.assertEqual(4, len(collector.warnings)) # No warning is thrown as all fields from ABOUT files are accepted. self.assertEqual(0, len(collector.warnings)) @@ -189,102 +153,57 @@ class ParserTest(unittest.TestCase): def test_valid_chars_in_field_name(self): name = string.digits + string.ascii_letters + '_' line = string.digits + string.ascii_letters + '_' - result, _warn = about.check_invalid_chars(name, line) + result, _warn = check_invalid_chars(name, line) expected = [] self.assertEqual(expected, result) def test_result_chars_in_field_name(self): name = '_$asafg:' line = '_$asafg: test' - result, _warn = about.check_invalid_chars(name, line) + result, _warn = check_invalid_chars(name, line) expected = ['$', ':'] self.assertEqual(expected, result) def test_result_space_in_field_name(self): name = '_ Hello' line = '_ Hello' - result, _warn = about.check_invalid_chars(name, line) + result, _warn = check_invalid_chars(name, line) expected = [' '] self.assertEqual(expected, result) def test_valid_chars_in_file_name(self): - about_obj = about.AboutFile() + about_obj = AboutFile() name = string.digits + string.ascii_letters + '_-.+' result = about_obj.invalid_chars_in_about_file_name(name) expected = [] self.assertEqual(expected, result) def test_result_chars_in_file_name(self): - about_obj = about.AboutFile() + about_obj = AboutFile() result = about_obj.invalid_chars_in_about_file_name('_$a+s/afg:') expected = [':'] self.assertEqual(expected, result) def test_result_chars_in_file_name_path(self): - about_obj = about.AboutFile() + about_obj = AboutFile() name = '%6571351()275612$/_$asafg:/' result = about_obj.invalid_chars_in_about_file_name(name) expected = [] self.assertEqual(expected, result) def test_result_chars_in_file_name_path2(self): - about_obj = about.AboutFile() + about_obj = AboutFile() name = '%6571351()275612$_$asafg:' result = about_obj.invalid_chars_in_about_file_name(name) expected = ['%', '(', ')', '$', '$', ':'] self.assertEqual(expected, result) def test_result_space_in_file_name(self): - about_obj = about.AboutFile() + about_obj = AboutFile() result = about_obj.invalid_chars_in_about_file_name('_ Hello') expected = [' '] self.assertEqual(expected, result) - def test_resource_name(self): - expected = 'first' - result = about.resource_name('some/things/first') - self.assertEqual(expected, result) - - def test_resource_name1(self): - expected = 'first' - result = about.resource_name('some/things/first/') - self.assertEqual(expected, result) - - def test_resource_name2(self): - expected = r'things\first' - result = about.resource_name(r'c:\some/things\first') - self.assertEqual(expected, result) - - def test_resource_name3(self): - expected = 'first' - result = about.resource_name(r'some\thi ngs//first') - self.assertEqual(expected, result) - - def test_resource_name4(self): - expected = r'\\' - result = about.resource_name(r'%6571351()275612$/_$asafg:/\\') - self.assertEqual(expected, result) - - def test_resource_name5(self): - expected = '_$asafg:' - result = about.resource_name('%6571351()2/75612$/_$asafg:') - self.assertEqual(expected, result) - - def test_resource_name_does_not_recurse_infinitely(self): - expected = '' - result = about.resource_name('/') - self.assertEqual(expected, result) - - def test_resource_name_does_not_recurse_infinitely2(self): - expected = '' - result = about.resource_name('/ / ') - self.assertEqual(expected, result) - - def test_resource_name_does_not_recurse_infinitely3(self): - expected = '' - result = about.resource_name(' / ') - self.assertEqual(expected, result) - def test_pre_process_when_user_forgets_colon(self): text_input = ''' about_resource: jquery.js @@ -300,12 +219,14 @@ def test_pre_process_when_user_forgets_colon(self): version: 1.2.3 date: 2013-01-02 ''' - expected_warnings = [(about.IGNORED, 'notes this is the first line.\n'), - (about.IGNORED, ' this is the second.\n',), - (about.IGNORED, ' this is the third.\n',)] - - about_obj = about.AboutFile() - result, warn = about.AboutFile.pre_process(about_obj, StringIO(text_input)) + expected_warnings = [ + (IGNORED, 'notes this is the first line.\n'), + (IGNORED, ' this is the second.\n',), + (IGNORED, ' this is the third.\n',) + ] + + about_obj = AboutFile() + result, warn = AboutFile.pre_process(about_obj, StringIO(text_input)) self.assertEqual(expected, result.read()) for i, w in enumerate(warn): self.assertEqual(expected_warnings[i][0], w.code) @@ -329,10 +250,10 @@ def test_user_forget_space_for_continuation_line(self): date: 2013-01-02 ''' - expected_warnings = [(about.IGNORED, 'this is the second.\n'), - (about.IGNORED, ' this is the third.\n')] - about_obj = about.AboutFile() - result, warn = about.AboutFile.pre_process(about_obj, StringIO(text_input)) + expected_warnings = [(IGNORED, 'this is the second.\n'), + (IGNORED, ' this is the third.\n')] + about_obj = AboutFile() + result, warn = AboutFile.pre_process(about_obj, StringIO(text_input)) self.assertEqual(expected, result.read()) for i, w in enumerate(warn): self.assertEqual(expected_warnings[i][0], w.code) @@ -347,9 +268,9 @@ def test_pre_process_with_invalid_chars_in_field_name(self): expected = '''about_resource: jquery.js name: jQuery ''' - about_obj = about.AboutFile() - result, warn = about.AboutFile.pre_process(about_obj, StringIO(text_input)) - self.assertEqual(about.IGNORED, warn[0].code) + about_obj = AboutFile() + result, warn = AboutFile.pre_process(about_obj, StringIO(text_input)) + self.assertEqual(IGNORED, warn[0].code) self.assertEqual('vers|ion', warn[0].field_name) self.assertEqual(expected, result.read()) @@ -363,33 +284,33 @@ def test_pre_process_with_spaces_left_of_colon(self): name: jQuery version: 1.2.3 ''' - about_obj = about.AboutFile() - result, _warn = about.AboutFile.pre_process(about_obj, + about_obj = AboutFile() + result, _warn = AboutFile.pre_process(about_obj, StringIO(text_input)) self.assertEqual(expected, result.read()) def test_handles_last_line_is_a_continuation_line(self): warnings = [] - warn = about.AboutFile.check_line_continuation(' Last line is a continuation line.', True) + warn = AboutFile.check_line_continuation(' Last line is a continuation line.', True) warnings.append(warn) self.assertEqual(warnings, ['']) def test_handles_last_line_is_not_a_continuation_line(self): warnings = [] - warn = about.AboutFile.check_line_continuation(' Last line is NOT a continuation line.', False) + warn = AboutFile.check_line_continuation(' Last line is NOT a continuation line.', False) warnings.append(warn) self.assertEqual(1, len(warnings)) def test_normalize_dupe_field_names(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/dupe_field_name.ABOUT')) - expected_warnings = [about.IGNORED, 'Apache HTTP Server'] + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/dupe_field_name.ABOUT')) + expected_warnings = [IGNORED, 'Apache HTTP Server'] self.assertEqual(1, len(about_file.warnings)) for w in about_file.warnings: self.assertEqual(expected_warnings[0], w.code) self.assertEqual(expected_warnings[1], w.field_value) def test_normalize_lowercase(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/upper_field_names.ABOUT')) + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/upper_field_names.ABOUT')) expected = {'name': 'Apache HTTP Server\nthis is a continuation', 'home_url': 'http://httpd.apache.org', 'download_url': 'http://archive.apache.org/dist/httpd/httpd-2.4.3.tar.gz', @@ -404,47 +325,47 @@ def test_normalize_lowercase(self): def test_validate_about_ref_testing_the_about_resource_field_is_present(self): test_file = join(TESTDATA_DIR, 'parser_tests/about_resource_field_present.ABOUT') - about_file = about.AboutFile(test_file) + about_file = AboutFile(test_file) expected = 'about_resource.c' self.assertEqual(about_file.about_resource, expected) def test_validate_about_ref_no_about_ref_key(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/.ABOUT')) + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/.ABOUT')) # We do not need 'about_resource' now, so no error should be thrown. - # expected_errors = [about.VALUE, 'about_resource'] + # expected_errors = [VALUE, 'about_resource'] self.assertEqual(0, len(about_file.errors)) '''for w in about_file.errors: self.assertEqual(expected_errors[0], w.code) self.assertEqual(expected_errors[1], w.field_name)''' def test_validate_about_resource_error_thrown_when_file_referenced_by_about_file_does_not_exist(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_about_ref.ABOUT')) - expected_errors = [about.FILE, 'about_resource'] + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_about_ref.ABOUT')) + expected_errors = [FILE, 'about_resource'] self.assertEqual(1, len(about_file.errors)) for w in about_file.errors: self.assertEqual(expected_errors[0], w.code) self.assertEqual(expected_errors[1], w.field_name) def test_validate_mand_fields_name_and_version_and_about_resource_present(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_mand.ABOUT')) - expected_errors = [(about.VALUE, 'name'), - (about.VALUE, 'version'), ] + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_mand.ABOUT')) + expected_errors = [(VALUE, 'name'), + (VALUE, 'version'), ] self.assertEqual(2, len(about_file.errors)) for i, w in enumerate(about_file.errors): self.assertEqual(expected_errors[i][0], w.code) self.assertEqual(expected_errors[i][1], w.field_name) - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_mand_values.ABOUT')) - expected_errors = [(about.VALUE, 'name'), - (about.VALUE, 'version')] + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_mand_values.ABOUT')) + expected_errors = [(VALUE, 'name'), + (VALUE, 'version')] self.assertEqual(2, len(about_file.errors)) for i, w in enumerate(about_file.errors): self.assertEqual(expected_errors[i][0], w.code) self.assertEqual(expected_errors[i][1], w.field_name) def test_validate_optional_file_field_value(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'parser_tests/about_file_ref.c.ABOUT')) - expected_warnings = [about.VALUE, 'notice_file'] + about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/about_file_ref.c.ABOUT')) + expected_warnings = [VALUE, 'notice_file'] self.assertEqual(1, len(about_file.warnings)) for w in about_file.warnings: self.assertEqual(expected_warnings[0], w.code) @@ -454,95 +375,95 @@ def test_validate_optional_file_field_value(self): class UrlCheckTest(unittest.TestCase): @skip('# FIXME: we should use a mock HTTP server AND NEVER do live HTTP requests') def test_check_url__with_network(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url('http://www.google.com', True)) self.assertTrue(about_file.check_url('http://www.google.co.uk/', True)) @skip('# FIXME: we should use a mock HTTP server AND NEVER do live HTTP requests') def test_check_url__with_network__not_starting_with_www(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url('https://nexb.com', True)) self.assertTrue(about_file.check_url('http://archive.apache.org/dist/httpcomponents/commons-httpclient/2.0/source/commons-httpclient-2.0-alpha2-src.tar.gz', True)) - if about.check_network_connection(): + if check_network_connection(): self.assertFalse(about_file.check_url('http://nothing_here.com', True)) @skip('# FIXME: we should use a mock HTTP server AND NEVER do live HTTP requests') def test_check_url__with_network__not_starting_with_www_and_spaces(self): # TODO: this does work yet as we do not have a solution for now (URL with spaces) - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url(u'http://de.wikipedia.org/wiki/Elf (Begriffsklärung)', True)) @skip('# FIXME: we should use a mock HTTP server AND NEVER do live HTTP requests') def test_check_url__with_network__no_schemes(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertFalse(about_file.check_url('google.com', True)) self.assertFalse(about_file.check_url('www.google.com', True)) self.assertFalse(about_file.check_url('', True)) @skip('# FIXME: we should use a mock HTTP server AND NEVER do live HTTP requests') def test_check_url__with_network__not_reachable(self): - about_file = about.AboutFile() - if about.check_network_connection(): + about_file = AboutFile() + if check_network_connection(): self.assertFalse(about_file.check_url('http://www.google', True)) @skip('# FIXME: we should use a mock HTTP server AND NEVER do live HTTP requests') def test_check_url__with_network__empty_URL(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertFalse(about_file.check_url('http:', True)) def test_check_url__without_network(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url('http://www.google.com', False)) def test_check_url__without_network__not_starting_with_www(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url('https://nexb.com', False)) self.assertTrue(about_file.check_url('http://archive.apache.org/dist/httpcomponents/commons-httpclient/2.0/source/commons-httpclient-2.0-alpha2-src.tar.gz', False)) self.assertTrue(about_file.check_url('http://de.wikipedia.org/wiki/Elf (Begriffsklärung)', False)) self.assertTrue(about_file.check_url('http://nothing_here.com', False)) def test_check_url__without_network__no_schemes(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertFalse(about_file.check_url('google.com', False)) self.assertFalse(about_file.check_url('www.google.com', False)) self.assertFalse(about_file.check_url('', False)) def test_check_url__without_network__not_ends_with_com(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url('http://www.google', False)) def test_check_url__without_network__ends_with_slash(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_url('http://www.google.co.uk/', False)) def test_check_url__without_network__empty_URL(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertFalse(about_file.check_url('http:', False)) class ValidateTest(unittest.TestCase): def test_is_valid_about_file(self): - self.assertTrue(about.is_about_file('test.About')) - self.assertTrue(about.is_about_file('test2.aboUT')) - self.assertFalse(about.is_about_file('no_about_ext.something')) + self.assertTrue(is_about_file('test.About')) + self.assertTrue(is_about_file('test2.aboUT')) + self.assertFalse(is_about_file('no_about_ext.something')) def test_validate_is_ascii_key(self): - about_file = about.AboutFile() + about_file = AboutFile() self.assertTrue(about_file.check_is_ascii('abc')) self.assertTrue(about_file.check_is_ascii('123')) self.assertTrue(about_file.check_is_ascii('!!!')) self.assertFalse(about_file.check_is_ascii(u'測試')) def test_validate_is_ascii_value(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'filesfields/non_ascii_field.about')) - expected_errors = [about.ASCII] + about_file = AboutFile(join(TESTDATA_DIR, 'filesfields/non_ascii_field.about')) + expected_errors = [ASCII] self.assertEqual(1, len(about_file.errors)) self.assertEqual(about_file.errors[0].code, expected_errors[0]) def test_validate_spdx_licenses(self): test_file = join(TESTDATA_DIR, 'spdx_licenses/incorrect_spdx.about') - about_file = about.AboutFile(test_file) - expected_errors = [about.SPDX] + about_file = AboutFile(test_file) + expected_errors = [SPDX] self.assertEqual(1, len(about_file.errors)) for w in about_file.errors: self.assertEqual(expected_errors[0], w.code) @@ -550,8 +471,8 @@ def test_validate_spdx_licenses(self): def test_validate_spdx_licenses1(self): test_file = join(TESTDATA_DIR, 'spdx_licenses/invalid_multi_format_spdx.ABOUT') - about_file = about.AboutFile(test_file) - expected_errors = [about.SPDX] + about_file = AboutFile(test_file) + expected_errors = [SPDX] self.assertEqual(1, len(about_file.errors)) for w in about_file.errors: self.assertEqual(expected_errors[0], w.code) @@ -559,8 +480,8 @@ def test_validate_spdx_licenses1(self): def test_validate_spdx_licenses2(self): test_file = join(TESTDATA_DIR, 'spdx_licenses/invalid_multi_name.ABOUT') - about_file = about.AboutFile(test_file) - expected_errors = [about.SPDX] + about_file = AboutFile(test_file) + expected_errors = [SPDX] # The test case is: license_spdx: Something and SomeOtherThings self.assertEqual(1, len(about_file.errors)) for w in about_file.errors: @@ -568,8 +489,8 @@ def test_validate_spdx_licenses2(self): def test_validate_spdx_licenses3(self): test_file = join(TESTDATA_DIR, 'spdx_licenses/lower_case_spdx.ABOUT') - about_file = about.AboutFile(test_file) - expected_warnings = [about.SPDX] + about_file = AboutFile(test_file) + expected_warnings = [SPDX] self.assertEqual(1, len(about_file.warnings)) for w in about_file.warnings: self.assertEqual(expected_warnings[0], w.code) @@ -577,15 +498,15 @@ def test_validate_spdx_licenses3(self): def test_validate_not_supported_date_format(self): test_file = join(TESTDATA_DIR, 'DateTest/non-supported_date_format.ABOUT') - about_file = about.AboutFile(test_file) - expected_warnings = [about.DATE] + about_file = AboutFile(test_file) + expected_warnings = [DATE] self.assertEqual(1, len(about_file.warnings)) for w in about_file.warnings: self.assertEqual(expected_warnings[0], w.code) def test_validate_supported_date_format(self): test_file = join(TESTDATA_DIR, 'DateTest/supported_date_format.ABOUT') - about_file = about.AboutFile(test_file) + about_file = AboutFile(test_file) self.assertEqual(0, len(about_file.warnings)) def test_remove_blank_lines_and_field_spaces(self): @@ -601,9 +522,9 @@ def test_remove_blank_lines_and_field_spaces(self): ''' msg = 'field with spaces: This is a test case for field with spaces\n' - expected_warnings = [(about.IGNORED, msg)] - about_obj = about.AboutFile() - result, warn = about.AboutFile.pre_process(about_obj, + expected_warnings = [(IGNORED, msg)] + about_obj = AboutFile() + result, warn = AboutFile.pre_process(about_obj, StringIO(text_input)) self.assertEqual(expected, result.read()) for i, w in enumerate(warn): @@ -623,11 +544,10 @@ def test_remove_blank_lines_and_no_colon_fields(self): about_resource: about.py ''' - expected_warnings = [(about.IGNORED, 'test\n'), - (about.IGNORED, 'test with no colon\n')] - about_obj = about.AboutFile() - result, warn = about.AboutFile.pre_process(about_obj, - StringIO(text_input)) + expected_warnings = [(IGNORED, 'test\n'), + (IGNORED, 'test with no colon\n')] + about_obj = AboutFile() + result, warn = AboutFile.pre_process(about_obj, StringIO(text_input)) self.assertEqual(expected, result.read()) for i, w in enumerate(warn): @@ -636,11 +556,11 @@ def test_remove_blank_lines_and_no_colon_fields(self): def test_generate_attribution_with_custom_template(self): expected = (u'notice_text:' - 'version:2.4.3' - 'about_resource:httpd-2.4.3.tar.gz' - 'name:Apache HTTP Serverlicense_text:') + u'version:2.4.3' + u'about_resource:httpd-2.4.3.tar.gz' + u'name:Apache HTTP Serverlicense_text:') test_file = join(TESTDATA_DIR, 'attrib/attrib.ABOUT') - collector = about.Collector(test_file) + collector = Collector(test_file) template = join(TESTDATA_DIR, 'attrib/test.template') result = collector.generate_attribution(template, limit_to=['']) self.assertEqual(expected, result) @@ -649,7 +569,7 @@ def test_generate_attribution_with_default_template(self): f = open(join(TESTDATA_DIR, 'attrib/attrib.html')) expected = f.read() test_file = join(TESTDATA_DIR, 'attrib/attrib.ABOUT') - collector = about.Collector(test_file) + collector = Collector(test_file) result = collector.generate_attribution(limit_to=['']) # Strip all the white spaces self.assertEqual(re.sub(r'\s+', '', expected), re.sub(r'\s+', '', result)) @@ -658,18 +578,18 @@ def test_generate_attribution_with_limit_to(self): f = open(join(TESTDATA_DIR, 'attrib/attrib.html')) expected = f.read() test_file = join(TESTDATA_DIR, 'attrib/') - collector = about.Collector(test_file) + collector = Collector(test_file) result = collector.generate_attribution(limit_to=['/attrib.ABOUT']) # Strip all the white spaces self.assertEqual(re.sub(r'\s+', '', expected), re.sub(r'\s+', '', result)) def test_generate_attribution_verification(self): expected = (u'name,version,copyright,dje_license_name\n' - 'Apache HTTP Server,2.4.3,,') + u'Apache HTTP Server,2.4.3,,') test_file = join(TESTDATA_DIR, 'attrib/attrib.ABOUT') - collector = about.Collector(test_file) + collector = Collector(test_file) test_path = get_temp_file('test.csv') - result = collector.generate_attribution(limit_to=[''], verification=test_path) + collector.generate_attribution(limit_to=[''], verification=test_path) with open(test_path, 'rU') as f: self.assertEqual(f.read().rstrip(), expected) @@ -680,68 +600,68 @@ def test_license_text_extracted_from_license_text_file(self): * Email Test@tester.com for any questions''' test_file = join(TESTDATA_DIR, 'attrib/license_text.ABOUT') - about_file = about.AboutFile(test_file) + about_file = AboutFile(test_file) result = about_file.license_text() self.assertEqual(expected, result) def test_notice_text_extacted_from_notice_text_file(self): expected = '''Test component is released to Public Domain.''' test_file = join(TESTDATA_DIR, 'attrib/license_text.ABOUT') - about_file = about.AboutFile(test_file) + about_file = AboutFile(test_file) result = about_file.notice_text() self.assertEqual(result, expected) def test_license_text_returns_empty_string_when_no_field_present(self): expected = '' test_file = join(TESTDATA_DIR, 'attrib/no_text_file_field.ABOUT') - about_file = about.AboutFile(test_file) + about_file = AboutFile(test_file) result = about_file.license_text() self.assertEqual(result, expected) def test_notice_text_returns_empty_string_when_no_field_present(self): test_file = join(TESTDATA_DIR, 'attrib/no_text_file_field.ABOUT') - about_file = about.AboutFile(test_file) + about_file = AboutFile(test_file) result = about_file.notice_text() expected = '' self.assertEqual(result, expected) def test_license_text_returns_empty_string_when_ref_file_doesnt_exist(self): expected = '' - test_file = join(TESTDATA_DIR, - 'attrib/missing_notice_license_files.ABOUT') - about_file = about.AboutFile(test_file) + test_file = join(TESTDATA_DIR, 'attrib/missing_notice_license_files.ABOUT') + about_file = AboutFile(test_file) result = about_file.license_text() self.assertEqual(result, expected) def test_notice_text_returns_empty_string_when_ref_file_doesnt_exist(self): expected = '' - test_file = join(TESTDATA_DIR, - 'attrib/missing_notice_license_files.ABOUT') - about_file = about.AboutFile(test_file) + test_file = join(TESTDATA_DIR, 'attrib/missing_notice_license_files.ABOUT') + about_file = AboutFile(test_file) result = about_file.notice_text() self.assertEqual(result, expected) -class OtherTest(unittest.TestCase): +class MiscTest(unittest.TestCase): def test_get_custom_field_keys(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'basic/basic.about')) + about_file = AboutFile(join(TESTDATA_DIR, 'basic/basic.about')) result = about_file.get_custom_field_keys() - expected = ['scm_branch', 'scm_repository', 'signature_gpg_file', - 'redistribute_sources', 'dje_license', - 'about_format', 'usage', - # These two keys are removed from the spec and therefore - # become a custom keys - 'license_text', 'notice', - 'scm_path', 'scm_tool', 'scm_rev', 'scm_tag', - 'organization'] + expected = [ + 'scm_branch', 'scm_repository', 'signature_gpg_file', + 'redistribute_sources', 'dje_license', + 'about_format', 'usage', + # These two keys are removed from the spec and therefore + # become a custom keys + 'license_text', 'notice', + 'scm_path', 'scm_tool', 'scm_rev', 'scm_tag', + 'organization' + ] self.assertEqual(result, expected) def test_get_about_name(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'basic/simple.about')) + about_file = AboutFile(join(TESTDATA_DIR, 'basic/simple.about')) result = about_file.get_about_name() self.assertEqual(result, 'simple') def test_get_dje_license_name(self): - about_file = about.AboutFile(join(TESTDATA_DIR, 'basic/simple.about')) + about_file = AboutFile(join(TESTDATA_DIR, 'basic/simple.about')) result = about_file.get_dje_license_name() self.assertEqual(result, 'Apache License 2.0') diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 87abae55..607bccf7 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -19,102 +19,71 @@ import os import unittest -from os.path import abspath, dirname, join +from os.path import abspath +from os.path import dirname +from os.path import join -import test_about from about_code_tool import genabout +from about_code_tool.tests.tstutil import get_temp_dir + +from about_code_tool.tests import test_about + TESTDATA_DIR = join(abspath(dirname(__file__)), 'testdata') GEN_LOCATION = join(TESTDATA_DIR, 'test_files_for_genabout') class GenAboutTest(unittest.TestCase): - def test_get_input_list(self): - gen = genabout.GenAbout() + def test_load_data_from_csv(self): test_file = join(TESTDATA_DIR, 'test_files_for_genabout/about.csv') - expected = [{'about_file': 'about.ABOUT', - 'about_resource': '.', - 'name': 'ABOUT tool', - 'version': '0.8.1'}] - - result = gen.get_input_list(test_file) + expected = [ + { + 'about_file': 'about.ABOUT', + 'about_resource': '.', + 'name': 'ABOUT tool', + 'version': '0.8.1' + } + ] + result = genabout.load_data_from_csv(test_file) self.assertEqual(expected, result) - def test_get_input_with_trailing_spaces(self): - gen = genabout.GenAbout() + def test_load_data_from_csv_with_trailing_spaces(self): test_file = join(TESTDATA_DIR, 'test_files_for_genabout/about_with_trailling_spaces.csv') expected = [{'about_file': 'about.c', 'about_resource': '.', 'name': 'ABOUT tool', 'version': '0.8.1'}] - result = gen.get_input_list(test_file) + result = genabout.load_data_from_csv(test_file) self.assertEqual(expected, result) - def test_get_input_list_covert_all_keys_to_lower(self): - gen = genabout.GenAbout() - test_input = join(TESTDATA_DIR, 'test_files_for_genabout' - '/about_key_with_upper_case.csv') - + def test_load_data_from_csv_does_converts_all_keys_to_lower(self): + test_input = join(TESTDATA_DIR, 'test_files_for_genabout/about_key_with_upper_case.csv') expected = [{'about_file': 'about.ABOUT', 'about_resource': '.', 'name': 'ABOUT tool', 'version': '0.8.1'}] - - result = gen.get_input_list(test_input) + result = genabout.load_data_from_csv(test_input) self.assertEqual(expected, result) - def test_get_non_empty_rows_list(self): - gen = genabout.GenAbout() - test_fields = [{'about_file': '/about.ABOUT', - 'about_resource': '.', - 'name': 'ABOUT tool', - 'version': '0.8.1'}, - {'about_file': '', - 'about_resource': '', - 'name': '', - 'version': ''}] + def test_filter_empty_values(self): + test_abouts = [ + {'about_file': '/about.ABOUT', + 'about_resource': '.', + 'name': 'ABOUT tool', + 'version': '0.8.1'}, + {'about_file': '', + 'about_resource': '', + 'name': '', + 'version': ''} + ] expected = [{'about_file': '/about.ABOUT', 'about_resource': '.', 'name': 'ABOUT tool', 'version': '0.8.1'}] - result = gen.get_non_empty_rows_list(test_fields) - self.assertEqual(result, expected) - - def test_get_mapping_list(self): - gen = genabout.GenAbout() - expected = {'about_file': 'directory/filename', - 'version': 'confirmed version', - 'name': 'component', - 'copyright': 'confirmed copyright', - 'confirmed_license': 'confirmed license'} - - result = gen.get_mapping_list() - self.assertEqual(result, expected) - - def test_convert_input_list(self): - gen = genabout.GenAbout() - mappings = {'about_file': 'Directory/Filename', - 'version': 'Confirmed Version', - 'about_resource': 'file_name', - 'name': 'Component'} - - test_fields = [{'file_name': 'opensans', - 'ignore field': 'i', - 'Component': 'OpenSans Fonts', - 'Confirmed Version': '1', - 'Directory/Filename': - '/extension/streamer/opensans/'}] - - expected = [{'about_file': '/extension/streamer/opensans/', - 'name': 'OpenSans Fonts', - 'ignore field': 'i', - 'version': '1', - 'about_resource': 'opensans'}] - - result = gen.convert_input_list(test_fields, mappings) + result = genabout.filter_empty_values(test_abouts) self.assertEqual(result, expected) def test_validate_value_in_essential_missing_about_file(self): @@ -156,8 +125,7 @@ def test_validate_value_in_essential_fields_no_missing(self): 'version': '0.8.1'}] self.assertTrue(gen.validate_value_in_essential_fields(test_fields)) - def test_validate_duplication_with_duplicates(self): - gen = genabout.GenAbout() + def test_has_duplicate_about_file_paths_with_duplicates(self): test_fields = [{'about_file': '/about.ABOUT', 'about_resource': '.', 'name': 'ABOUT tool', 'version': '0.8.1'}, @@ -166,11 +134,10 @@ def test_validate_duplication_with_duplicates(self): 'name': 'ABOUT tool', 'version': ''}] - result = gen.validate_duplication(test_fields) + result = genabout.has_duplicate_about_file_paths(test_fields) self.assertTrue(result) - def test_validate_duplication_with_no_duplicates(self): - gen = genabout.GenAbout() + def test_has_duplicate_about_file_paths_with_no_duplicates(self): test_fields = [{'about_file': '/about.ABOUT', 'about_resource': '.', 'name': 'ABOUT tool', @@ -180,7 +147,7 @@ def test_validate_duplication_with_no_duplicates(self): 'name': 'ABOUT tool', 'version': ''}] - result = gen.validate_duplication(test_fields) + result = genabout.has_duplicate_about_file_paths(test_fields) self.assertFalse(result) def test_get_duplicated_keys_have_dup(self): @@ -192,8 +159,7 @@ def test_get_duplicated_keys_have_dup(self): def test_get_duplicated_keys_have_dup_diff_case(self): gen = genabout.GenAbout() - test_file = join(TESTDATA_DIR, 'test_files_for_genabout' - '/dup_keys_with_diff_case.csv') + test_file = join(TESTDATA_DIR, 'test_files_for_genabout/dup_keys_with_diff_case.csv') expected = ['copyright', 'Copyright'] result = gen.get_duplicated_keys(test_file) @@ -224,28 +190,26 @@ def test_validate_mandatory_fields_missing_about_resource(self): result = gen.validate_mandatory_fields(test_fields) self.assertTrue(result) - def test_get_non_supported_fields_no_mapping(self): - gen = genabout.GenAbout() - test_fields = [{'about_file': '', + def test_get_unknown_fields_with_no_user_keys(self): + test_abouts = [{'about_file': '', 'name': 'OpenSans Fonts', 'non_supported field': 'TEST', 'version': '1', 'about_resource': 'opensans'}] - mapping_keys = [] - result = gen.get_non_supported_fields(test_fields, mapping_keys) + user_keys = [] + result = genabout.get_unknown_fields(test_abouts, user_keys) expected = ['non_supported field'] self.assertEqual(expected, result) - def test_get_non_supported_fields_with_mapping(self): - gen = genabout.GenAbout() + def test_get_unknown_fields__with_user_keys(self): test_fields = [{'about_file': '', 'name': 'OpenSans Fonts', 'non_supported field': 'TEST', 'version': '1', 'about_resource': 'opensans'}] - mapping_keys = ['non_supported field'] - result = gen.get_non_supported_fields(test_fields, mapping_keys) + user_keys = ['non_supported field'] + result = genabout.get_unknown_fields(test_fields, user_keys) expected = [] self.assertEqual(expected, result) @@ -262,8 +226,7 @@ def test_get_only_supported_fields(self): 'name': 'ABOUT tool', 'version': '0.8.1'}] - results = gen.get_only_supported_fields(test_fields, - ['non_supported']) + results = gen.get_only_supported_fields(test_fields, ['non_supported']) self.assertEqual(expected, results) def test_get_dje_license_list_no_gen_license_with_no_license_text_file(self): @@ -679,7 +642,7 @@ def test_copy_files_test_path_not_endswith_slash(self): # FIXME: this is using the files at the root, not testfiles gen = genabout.GenAbout() test = [('apache-2.0.LICENSE', '.')] - test_dir = test_about.get_temp_dir() + test_dir = get_temp_dir() gen.copy_files(test_dir, test) expected = ['apache-2.0.LICENSE'] self.assertEqual(expected, os.listdir(test_dir)) @@ -689,7 +652,7 @@ def test_copy_files_test_path_endswith_slash(self): # FIXME: this is using the files at the root, not testfiles test = [('apache-2.0.LICENSE', '.')] expected = ['apache-2.0.LICENSE'] - test_dir = test_about.get_temp_dir() + '/' + test_dir = get_temp_dir() + '/' gen.copy_files(test_dir, test) self.assertEqual(expected, os.listdir(test_dir)) @@ -705,14 +668,10 @@ def test_write_licenses(self): def test_process_dje_licenses(self): gen = genabout.GenAbout() test_license_list = [('/', 'test')] - test_license_dict = {'test': [u'test_key', - u'This is a test license.']} + test_license_dict = {'test': [u'test_key', u'This is a test license.']} test_path = '/test' - expected = [[join(u'/test', 'test_key.LICENSE'), - 'This is a test license.']] - result = gen.process_dje_licenses(test_license_list, - test_license_dict, - test_path) + expected = [[join(u'/test', 'test_key.LICENSE'), 'This is a test license.']] + result = gen.process_dje_licenses(test_license_list, test_license_dict, test_path) self.assertEqual(result, expected) def test_update_about_resource_about_file_and_field_exist(self): diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index b8d5ef15..99b4ab5f 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -19,9 +19,10 @@ import os import unittest -from about_code_tool import genattrib, about +from about_code_tool import genattrib from about_code_tool.tests.test_about import get_temp_file +from about_code_tool.util import add_unc TESTS_DIR = os.path.abspath(os.path.dirname(__file__)) @@ -29,47 +30,64 @@ GEN_LOCATION = os.path.join(TESTDATA_DIR, 'test_files_for_genabout') +def check_about_file_existence_and_format(input_list): + try: + for row in input_list: + # Force the path to start with the '/' to map with the project + # structure + if not row['about_file'].startswith('/'): + row['about_file'] = '/' + row['about_file'] + return input_list + except Exception: + return [] + class GenAttribTest(unittest.TestCase): def test_convert_dict_key_to_lower_case(self): - test = [{'Directory': '/test/', 'file_name': 'test.c'}] - expected = [{'directory': '/test/', 'file_name': 'test.c'}] - result = genattrib.convert_dict_key_to_lower_case(test) + test = [{'Directory': '/Test/', 'filE_name': 'tesT.c'}] + expected = [{'directory': '/Test/', 'file_name': 'tesT.c'}] + result = genattrib.lower_keys(test) self.assertEqual(expected, result) - def test_check_no_about_file_existence(self): + def test_has_about_file_keys(self): test = [{'Directory': '/test/', 'file_name': '/test.c'}] - result = genattrib.check_about_file_existence_and_format(test) + result = genattrib.has_about_file_keys(test) self.assertFalse(result) - def test_check_have_about_file_existence(self): + def test_normalize_about_file_paths(self): test = [{'Directory': '/test/', 'about_file': '/test.ABOUT'}] - result = genattrib.check_about_file_existence_and_format(test) + result = genattrib.normalize_about_file_paths(test) self.assertEqual(test, result) - def test_check_no_about_file_not_start_with_slash(self): + def test_normalize_about_file_paths_does_not_change_other_paths(self): test = [{'Directory': '/test/', 'file_name': 'test.c'}] - result = genattrib.check_about_file_existence_and_format(test) - self.assertFalse(result) + result = genattrib.normalize_about_file_paths(test) + self.assertEqual(test, result) - def test_check_have_about_file_not_start_with_slash(self): + def test_normalize_about_file_paths_updates_about_file_paths(self): test = [{'Directory': '/test/', 'about_file': 'test.ABOUT'}] expected = [{'Directory': '/test/', 'about_file': '/test.ABOUT'}] - result = genattrib.check_about_file_existence_and_format(test) + result = genattrib.normalize_about_file_paths(test) self.assertEqual(expected, result) - def test_update_path_to_about(self): - test = ['/test/test1.ABOUT', '/test/test2/', 'test/test3.c'] - expected = ['/test/test1.ABOUT', - '/test/test2/test2.ABOUT', - 'test/test3.c.ABOUT'] - result = genattrib.update_path_to_about(test) + def test_as_about_paths(self): + test = [ + '/test/test1.ABOUT', + '/test/test2/', + 'test/test3.c' + ] + expected = [ + '/test/test1.ABOUT', + '/test/test2/test2.ABOUT', + 'test/test3.c.ABOUT' + ] + result = genattrib.as_about_paths(test) self.assertEqual(expected, result) - def test_component_subset_to_sublist(self): + def test_get_about_file_paths(self): test = [{'about_file': '/tmp/', 'notes': 'test'}, {'about_file': '/tmp/t1/', 'dje_license': 'bsd-new'}] expected = ['/tmp/', '/tmp/t1/'] - result = genattrib.component_subset_to_sublist(test) + result = genattrib.get_about_file_paths(test) self.assertEqual(expected, result) def test_genattrib_basic(self): @@ -165,10 +183,10 @@ def test_genattrib_zip_with_filter(self): def test_extract_deep_zip(self): test_zip = 'about_code_tool/tests/testdata/longpath.zip' extracted = genattrib.extract_zip(test_zip) - unc_extracted = about.add_unc(extracted) - all_files = [] - for root, dirs, files in os.walk(unc_extracted): - all_files.extend(files) + unc_extracted = add_unc(extracted) + all_files = set() + for _, _, files in os.walk(unc_extracted): + all_files.update(files) self.assertTrue('non-supported_date_format.ABOUT' in all_files) diff --git a/about_code_tool/tests/test_tstutil.py b/about_code_tool/tests/test_tstutil.py new file mode 100644 index 00000000..191dfd3e --- /dev/null +++ b/about_code_tool/tests/test_tstutil.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python +# -*- coding: utf8 -*- + +# ============================================================================ +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +from __future__ import print_function + +import unittest + +from about_code_tool import util + + +class UtilTest(unittest.TestCase): + + def test_get_mappings(self): + expected = { + 'component': 'name', + 'confirmed copyright': 'copyright', + 'confirmed license': 'confirmed_license', + 'confirmed version': 'version', + 'directory/filename': 'about_file' + } + + result = util.get_mappings() + self.assertEqual(expected, result) + + def test_apply_mappings(self): + mappings = { + 'Directory/Filename': 'about_file', + 'Confirmed Version': 'version', + 'file_name': 'about_resource', + 'Component': 'name' + } + + test_fields = [ + { + 'file_name': 'opensans', + 'ignore field': 'i', + 'Component': 'OpenSans Fonts', + 'Confirmed Version': '1', + 'Directory/Filename': '/extension/streamer/opensans/', + } + ] + + expected = [ + { + 'about_resource': 'opensans', + 'ignore field': 'i', + 'name': 'OpenSans Fonts', + 'version': '1', + 'about_file': '/extension/streamer/opensans/', + } + ] + + result = util.apply_mappings(test_fields, mappings) + self.assertEqual(expected, result) + + def test_util_resource_name(self): + expected = 'first' + result = util.resource_name('some/things/first') + self.assertEqual(expected, result) + + def test_util_resource_name1(self): + expected = 'first' + result = util.resource_name('some/things/first/') + self.assertEqual(expected, result) + + def test_util_resource_name2(self): + expected = r'things\first' + result = util.resource_name(r'c:\some/things\first') + self.assertEqual(expected, result) + + def test_util_resource_name3(self): + expected = 'first' + result = util.resource_name(r'some\thi ngs//first') + self.assertEqual(expected, result) + + def test_util_resource_name4(self): + expected = r'\\' + result = util.resource_name(r'%6571351()275612$/_$asafg:/\\') + self.assertEqual(expected, result) + + def test_util_resource_name5(self): + expected = '_$asafg:' + result = util.resource_name('%6571351()2/75612$/_$asafg:') + self.assertEqual(expected, result) + + def test_util_resource_name_does_not_recurse_infinitely(self): + expected = '' + result = util.resource_name('/') + self.assertEqual(expected, result) + + def test_util_resource_name_does_not_recurse_infinitely2(self): + expected = '' + result = util.resource_name('/ / ') + self.assertEqual(expected, result) + + def test_util_resource_name_does_not_recurse_infinitely3(self): + expected = '' + result = util.resource_name(' / ') + self.assertEqual(expected, result) diff --git a/about_code_tool/tests/tstutil.py b/about_code_tool/tests/tstutil.py new file mode 100644 index 00000000..c83501f8 --- /dev/null +++ b/about_code_tool/tests/tstutil.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# -*- coding: utf8 -*- + +# ============================================================================ +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +from __future__ import print_function + +import os +import stat +import tempfile + + +def create_dir(location): + """ + Create directory or directory tree at location, ensuring it is readable + and writeable. + """ + if not os.path.exists(location): + os.makedirs(location) + os.chmod(location, stat.S_IRWXU | stat.S_IRWXG | stat.S_IROTH | stat.S_IXOTH) + + +def build_temp_dir(prefix='test-about-code-'): + """ + Create and return a new unique empty directory created in base_dir. + """ + return tempfile.mkdtemp(prefix=prefix) + + +def get_temp_file(file_name='test-about-code-tempfile'): + """ + Return a unique new temporary file location to a non-existing + temporary file that can safely be created without a risk of name + collision. + """ + temp_dir = get_temp_dir() + location = os.path.join(temp_dir, file_name) + return location + + +def get_temp_dir(sub_dir_path=None): + """ + Create a unique new temporary directory location. Create directories + identified by sub_dir_path if provided in this temporary directory. + Return the location for this unique directory joined with the + sub_dir_path if any. + """ + new_temp_dir = build_temp_dir() + + if sub_dir_path: + # create a sub directory hierarchy if requested + new_temp_dir = os.path.join(new_temp_dir, sub_dir_path) + create_dir(new_temp_dir) + return new_temp_dir + diff --git a/about_code_tool/util.py b/about_code_tool/util.py new file mode 100644 index 00000000..a09a7fc4 --- /dev/null +++ b/about_code_tool/util.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python +# -*- coding: utf8 -*- + +# ============================================================================ +# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ + +from __future__ import print_function + +import os +import sys +import ntpath +import posixpath +import optparse +from os.path import dirname +from os.path import abspath +from os.path import join +import errno + + +""" +Utility functions +""" + + +on_windows = 'win32' in sys.platform + + +def is_about_file(path): + """ + Return True if the path represents a valid ABOUT file name. + """ + return path.lower().endswith('.about') + + +def path_exists(location): + """ + Return True if the path exists. + """ + return location and os.path.exists(abspath(location)) + + +def canonical_path(location): + """ + Return a fully resolved absolute (possible UNC'ed) path for location. + """ + # path need to be unicode on Windows to ensure proper operations + if on_windows: + location = unicode(location) + + location = os.path.expanduser(location) + location = os.path.expandvars(location) + location = add_unc(location) + location = os.path.normpath(location) + location = os.path.abspath(location) + return location + +def posix_path(path): + """ + Return a path using POSIX path separators given a path that may + contain POSIX or windows separators, converting \ to /. + """ + return path.replace(ntpath.sep, posixpath.sep) + + +UNC_PREFIX = u'\\\\?\\' +UNC_PREFIX_POSIX = posix_path(UNC_PREFIX) +UNC_PREFIXES = (UNC_PREFIX_POSIX, UNC_PREFIX,) + +def add_unc(location): + """ + Convert a location to an absolute Window UNC path to support long paths on + Windows. Return the location unchanged if not on Windows. See + https://msdn.microsoft.com/en-us/library/aa365247.aspx + """ + if on_windows and not location.startswith(UNC_PREFIXES): + return UNC_PREFIX + os.path.abspath(location) + return location + + +def remove_unc(location): + """ + Return location with leading UNC prefix removed if present. + """ + if on_windows and location.startswith(UNC_PREFIXES): + return location[len(UNC_PREFIX):] + return location + + +def extract_zip(location): + """ + Extract a zip file at location in a temp directory and return the temporary + directory where the archive was extracted. + """ + import zipfile + import tempfile + if not zipfile.is_zipfile(location): + raise Exception('Incorrect zip file %(location)r' % locals()) + + archive_base_name = os.path.basename(location).replace('.zip', '') + base_dir = tempfile.mkdtemp() + target_dir = os.path.join(base_dir, archive_base_name) + target_dir = add_unc(target_dir) + os.makedirs(target_dir) + + if target_dir.endswith((ntpath.sep, posixpath.sep)): + target_dir = target_dir[:-1] + + with zipfile.ZipFile(location) as zipf: + for info in zipf.infolist(): + name = info.filename + content = zipf.read(name) + target = os.path.join(target_dir, name) + is_dir = target.endswith((ntpath.sep, posixpath.sep)) + if is_dir: + target = target[:-1] + parent = os.path.dirname(target) + if on_windows: + target = target.replace(posixpath.sep, ntpath.sep) + parent = parent.replace(posixpath.sep, ntpath.sep) + if not os.path.exists(parent): + os.makedirs(parent) + if not content and is_dir: + if not os.path.exists(target): + os.makedirs(target) + if not os.path.exists(target): + with open(target, 'wb') as f: + f.write(content) + return target_dir + + +class ImprovedFormatter(optparse.IndentedHelpFormatter): + """ + Improved formatter. + """ + def _format_text(self, text): + """ + Overridden to allow description to be printed without + modification. + """ + return text + + def format_option(self, option): + """ + Overridden to allow options help text to be printed without + modification. + """ + result = [] + opts = self.option_strings[option] + opt_width = self.help_position - self.current_indent - 2 + if len(opts) > opt_width: + opts = '%*s%s\n' % (self.current_indent, '', opts) + indent_first = self.help_position + else: # start help on same line as opts + opts = '%*s%-*s ' % (self.current_indent, '', + opt_width, opts) + indent_first = 0 + result.append(opts) + if option.help: + help_text = self.expand_default(option) + help_lines = help_text.split('\n') + # help_lines = textwrap.wrap(help_text, self.help_width) + result.append('%*s%s\n' % (indent_first, '', help_lines[0])) + result.extend(['%*s%s\n' % (self.help_position, '', line) + for line in help_lines[1:]]) + elif opts[-1] != '\n': + result.append('\n') + return ''.join(result) + + +def get_mappings(location=None): + """ + Return a mapping of user key names to About key names by reading the + MAPPING.CONFIG file from location or the directory of this source file if + location was not provided. + """ + if not location: + location = abspath(dirname(__file__)) + mappings = {} + try: + with open(join(location, 'MAPPING.CONFIG'), 'rU') as mapping_file: + for line in mapping_file: + if not line or not line.strip() or line.strip().startswith('#'): + continue + + if ':' in line: + line = line.lower() + key, sep, value = line.partition(':') + about_key = key.strip().replace(' ', '_') + user_key = value.strip() + mappings[user_key] = about_key + + except Exception as e: + print(repr(e)) + print('Cannot open or process MAPPING.CONFIG file at %(location)r.' %locals()) + # this is rather brutal + sys.exit(errno.EACCES) + + return mappings + + +def apply_mappings(abouts, mappings=None): + """ + Given a list of About data dictionaries and a dictionary of mappings, + return a new About data dictionaries list where the keys have been + replaced by the About mapped_abouts key if present. + """ + mappings = mappings or get_mappings() + mapped_abouts = [] + for about in abouts: + mapped_about = {} + for key, value in about.items(): + # we default to the key if the key is not in the mappings + mapped = mappings.get(key, key) + mapped_about[mapped] = value + mapped_abouts.append(mapped_about) + return mapped_abouts + + +def resource_name(resource_path): + """ + Return a resource name based on a posix path (either the filename or + directory name). Recurse to handle paths that ends with a path separator. + """ + left, right = posixpath.split(resource_path) + if right: + return right.strip() + elif left and left != '/': + # recurse for directories that end up with a / + return resource_name(left) + else: + return '' + diff --git a/setup.py b/setup.py index 712e0a37..2a54c0a0 100644 --- a/setup.py +++ b/setup.py @@ -5,12 +5,12 @@ from setuptools import setup -from about_code_tool import about +import about_code_tool.help setup( name='about-code-tool', - version=about.__version__, + version=about_code_tool.help.__version__, description=('Document the provenance (origin and license) of ' 'third-party software. Collect inventories, generate ' 'attribution docs.'), From 05fef35e2d0ae33c81487e1b255587c83decebc4 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Fri, 9 Oct 2015 17:09:26 +0200 Subject: [PATCH 49/83] Improved CLI error messages --- about_code_tool/about.py | 14 ++++++------- about_code_tool/genabout.py | 40 ++++++++++++++++++------------------ about_code_tool/genattrib.py | 22 ++++++++++---------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 4be24d2f..4e8d372b 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -1077,7 +1077,7 @@ def get_genattrib_errors(self): def main(parser, options, args): """ - Main command line entry point. + Main commnand line entry point. """ overwrite = options.overwrite verbosity = options.verbosity @@ -1092,7 +1092,7 @@ def main(parser, options, args): handler.setLevel(logging.WARNING) if not len(args) == 2: - print('Input and Output paths are required.') + print('ERROR: and are required.') print() parser.print_help() return errno.EEXIST @@ -1101,25 +1101,25 @@ def main(parser, options, args): output_path = os.path.abspath(output_path) if not path_exists(input_path): - print('Input path does not exist.') + print('ERROR: does not exist.') print() parser.print_help() return errno.EEXIST if os.path.isdir(output_path): - print('Output must be a file, not a directory.') + print('ERROR: must be a file, not a directory.') print() parser.print_help() return errno.EISDIR if not output_path.endswith('.csv'): - print('Output file name must end with ".csv".') + print('ERROR: must be a CSV file ending with ".csv".') print() parser.print_help() return errno.EINVAL if path_exists(output_path) and not overwrite: - print('Output file already exists. Select a different file name or use the --overwrite option.') + print('ERROR: file already exists. Select a different file name or use the --overwrite option.') print() parser.print_help() return errno.EEXIST @@ -1136,7 +1136,7 @@ def main(parser, options, args): return OK else: # we should never reach this - assert False, 'Unsupported option(s).' + assert False, 'ERROR: Unsupported option(s).' def get_parser(): diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 1d7b5df2..dd3feee9 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -654,7 +654,7 @@ def filter_empty_values(abouts): def main(parser, options, args): """ - Main commnad line entry point. + Main commnand line entry point. """ verbosity = options.verbosity action = options.action @@ -684,25 +684,25 @@ def main(parser, options, args): if action in valid_actions: action_num = action else: - print('Invalid action: should be 0, 1, 2 or 3') + print('ERROR: Invalid action: must be one of: 0, 1, 2 or 3') sys.exit(errno.EINVAL) if copy_files_path: # code to handle tilde character copy_files_path = os.path.abspath(expanduser(copy_files_path)) if not path_exists(copy_files_path): - print("The project path does not exist.") + print("ERROR: The COPY_FILES path does not exist.") sys.exit(errno.EINVAL) if license_text_path: # code to handle tilde character license_text_path = os.path.abspath(expanduser(license_text_path)) if not path_exists(license_text_path): - print("The license text path does not exist.") + print("ERROR: LICENSE_TEXT_LOCATION path does not exist.") sys.exit(errno.EINVAL) if mapping_config and not path_exists('MAPPING.CONFIG'): - print("The file 'MAPPING.CONFIG' does not exist.") + print("ERROR: The file 'MAPPING.CONFIG' does not exist.") sys.exit(errno.EINVAL) if extract_license: @@ -712,7 +712,7 @@ def main(parser, options, args): gen_license = True if not len(args) == 2: - print('Input and Output paths are required.') + print('ERROR: and are required.') print() parser.print_help() sys.exit(errno.EEXIST) @@ -724,25 +724,25 @@ def main(parser, options, args): output_path += '/' if not exists(input_path): - print('Input path does not exist.') + print('ERROR: file does not exist.') print() parser.print_help() sys.exit(errno.EEXIST) if not exists(output_path): - print('Output path does not exist.') + print('ERROR: directory does not exist.') print() parser.print_help() sys.exit(errno.EEXIST) if not isdir(output_path): - print('Output must be a directory, not a file.') + print('ERROR: must be a directory, not a file.') print() parser.print_help() sys.exit(errno.EISDIR) if not input_path.endswith('.csv'): - print("Input file name must be a CSV file ends with '.csv'") + print("ERROR: file must be a CSV file ends with '.csv'") print() parser.print_help() sys.exit(errno.EINVAL) @@ -751,8 +751,8 @@ def main(parser, options, args): dup_keys = gen.get_duplicated_keys(input_path) if dup_keys: - print('The input file contains duplicated keys. ' - 'Duplicated keys are not allowed.') + print('ERROR: The CSV file contains duplicated column keys. ' + 'Duplicated column keys are not allowed.') print(dup_keys) print() print('Please fix the input file and re-run the tool.') @@ -783,35 +783,35 @@ def main(parser, options, args): if copy_files_path: if not isdir(copy_files_path): - print("The COPY_FILES path must be a directory.") - print("'--copy_files' is skipped.") + print("WARNING: The COPY_FILES path must be a directory.") + print("'--copy_files' option ignored.") else: licenses_in_project = True license_list = gen.verify_files_existence(input_list, copy_files_path, licenses_in_project) if not license_list: - print("None of the file was found. '--copy_files' is ignored.") + print("WARNING: No file found. '--copy_files' is ignored.") else: gen.copy_files(output_path, license_list) if license_text_path: if not isdir(license_text_path): - print("The LICENSE_TEXT_LOCATION path must be a directory.") - print("'--license_text_location' is skipped.") + print("WARNING: The LICENSE_TEXT_LOCATION path must be a directory.") + print("'--license_text_location' option ignored.") else: licenses_in_project = False license_list = gen.verify_files_existence(input_list, license_text_path, licenses_in_project) if not license_list: - print("None of the file was found. '--copy_files' is ignored.") + print("WARNING: No file found. '--copy_files' option ignored.") else: gen.copy_files(output_path, license_list) if extract_license: if not api_url or not api_username or not api_key: - print("Missing argument for --extract_license") + print("ERROR: Missing argument for --extract_license") sys.exit(errno.EINVAL) for line in input_list: try: @@ -819,7 +819,7 @@ def main(parser, options, args): break except Exception as e: print(repr(e)) - print("The CSV does not contain the required column 'dje_license_key' ") + print("ERROR: The CSV does not contain the required column 'dje_license_key' ") sys.exit(errno.EINVAL) if gen_license: diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index e3df1a6a..74eac6cc 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -150,29 +150,29 @@ def main(parser, options, args): if mapping_config: if not exists('MAPPING.CONFIG'): - print("The 'MAPPING.CONFIG' file does not exist.") + print("ERROR: The 'MAPPING.CONFIG' file does not exist.") sys.exit(errno.EINVAL) if template_location: template_location = abspath(expanduser(template_location)) if not exists(template_location): - print('The TEMPLATE_LOCATION file does not exist.') + print('ERROR: The TEMPLATE_LOCATION file does not exist.') parser.print_help() sys.exit(errno.EINVAL) if verification_location: verification_location = abspath(expanduser(verification_location)) if not verification_location.endswith('.csv'): - print('The VERIFICATION_LOCATION path must end with ".csv".') + print('ERROR: The VERIFICATION_LOCATION file path must end with ".csv".') parser.print_help() sys.exit(errno.EINVAL) if not exists(dirname(verification_location)): - print('The VERIFICATION_LOCATION file parent directory does not exist.') + print('ERROR: The VERIFICATION_LOCATION file parent directory does not exist.') parser.print_help() sys.exit(errno.EINVAL) if not len(args) >= 2 or not len(args) < 4: - print('The number of arguments is incorrect.\n') + print('ERROR: The number of arguments is incorrect.') parser.print_help() sys.exit(errno.EEXIST) @@ -194,7 +194,7 @@ def main(parser, options, args): sys.setdefaultencoding('utf-8') # @UndefinedVariable if not exists(input_path): - print(' does not exist.') + print('ERROR: does not exist.') parser.print_help() sys.exit(errno.EEXIST) @@ -203,23 +203,23 @@ def main(parser, options, args): input_path = extract_zip(input_path) if isdir(output_path): - print(' must be an HTML file, not a directory') + print('ERROR: must be an HTML file, not a directory') parser.print_help() sys.exit(errno.EISDIR) # We only support HTML currently if not output_path.endswith('.html'): - print(' must be an HTML file.') + print('ERROR: must be an HTML file.') parser.print_help() sys.exit(errno.EINVAL) if exists(output_path) and not overwrite: - print('A file at already exists. Select a different file name or use the --overwrite option.') + print('ERROR: A file at already exists. Select a different file name or use the --overwrite option.') parser.print_help() sys.exit(errno.EEXIST) if component_subset_path and not exists(component_subset_path): - print(' CSV file does not exist.') + print('ERROR: the CSV file does not exist.') parser.print_help() sys.exit(errno.EEXIST) @@ -240,7 +240,7 @@ def main(parser, options, args): abouts = apply_mappings(abouts) if not has_about_file_keys(abouts): - print('The required key "about_file" was not found.') + print('ERROR: The required column key "about_file" was not found in the CSV file.') print('Please use the "--mapping" option to map the input keys and verify the mapping information are correct.') print('OR, correct the header keys from the component list.') parser.print_help() From 5f2a8f252be6424bb26aa75f27e2b89fe9c4c67b Mon Sep 17 00:00:00 2001 From: pombredanne Date: Fri, 9 Oct 2015 23:02:40 +0200 Subject: [PATCH 50/83] Fixed the filtering of dicts with empty values. --- about_code_tool/genabout.py | 54 +++++++++++++++----------- about_code_tool/tests/test_genabout.py | 31 ++++++++++----- 2 files changed, 52 insertions(+), 33 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index dd3feee9..ede3e317 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -163,8 +163,8 @@ def __init__(self): self.extract_dje_license_error = False @staticmethod - # FIXME: why use a static and not a regular function? def get_duplicated_keys(input_file): + # FIXME: why use a static and not a regular function? csv_context = csv.reader(open(input_file, 'rU')) keys_row = csv_context.next() lower_case_keys_row = [k.lower() for k in keys_row] @@ -173,40 +173,49 @@ def get_duplicated_keys(input_file): def validate(self, input_list): if not self.validate_mandatory_fields(input_list): required_keys = MANDATORY_FIELDS + ('about_file',) - print("Required keys not found.") + print('ERROR: Required column/keys not found in the CSV.') print(required_keys) print("Use the '--mapping' option to map the input keys and verify the mapping information are correct.") - print("OR correct the header keys from the input CSV.") + print("OR correct the column names in the CSV.") sys.exit(errno.EINVAL) elif not self.validate_value_in_essential_fields(input_list): - print("Some of the essential fields value are missing.") + print("ERROR: Some of the essential column/fields value are missing in the CSV.") print(ESSENTIAL_FIELDS) - print("Please check the input CSV.") - print("No ABOUT file is created.") + print("Please check the the CSV.") + print("No ABOUT file was generated.") sys.exit(errno.EINVAL) elif has_duplicate_about_file_paths(input_list): - print("The input has duplicated 'about_file'.") - print("Duplication is not supported. Please correct the input and rerun the tool.") - print("No ABOUT file is created.") + print("ERROR: The CSV has duplicated 'about_file' values.") + print("Duplication is not supported. Please correct the the CSV and rerun the tool.") + print("No ABOUT file was generated.") sys.exit(errno.EINVAL) @staticmethod - def validate_mandatory_fields(input_list): + def validate_mandatory_fields(abouts): + """ + Given a list of About data dictionaries, validate the presence of + mandatory fields. Return True if they are present. + """ # FIXME: why use a static and not a regular function? - for line in input_list: + + for about in abouts: for key in MANDATORY_FIELDS + ESSENTIAL_FIELDS: - if not key in line.keys(): + if not key in about: return False return True @staticmethod - def validate_value_in_essential_fields(input_list): + def validate_value_in_essential_fields(abouts): + """ + Given a list of About data dictionaries, validate the presence of + essential fields. Return True if they are present. + """ # FIXME: why use a static and not a regular function? - for line in input_list: + for about in abouts: for key in ESSENTIAL_FIELDS: - if not line[key]: + if not about.get(key): return False return True @@ -604,16 +613,15 @@ def warnings_errors_summary(self): file_logger.warning(warning_msg) -def filter_empty_values(abouts): +def filter_dicts_of_empty_values(abouts): """ - Return a list of About data dictionaries without any empty value for all - key/value pairs. + Return a list of About data dictionaries filtering dictionaries composed + entirely of empty values. """ filtered = [] for about in abouts: - about_items = [(key, value,) for key, value in about.items() if value and value.strip()] - if about_items: - filtered.append(dict(about_items)) + if any(v and v.strip() for v in about.values()): + filtered.append(dict(about)) return filtered @@ -767,7 +775,7 @@ def main(parser, options, args): file_logger.addHandler(file_handler) input_data = load_data_from_csv(input_path) - input_data = filter_empty_values(input_data) + input_data = filter_dicts_of_empty_values(input_data) user_keys = [] if mapping_config: @@ -777,7 +785,7 @@ def main(parser, options, args): gen.validate(input_data) - ignored_fields_list = gen.get_unknown_fields(input_data, user_keys) + ignored_fields_list = get_unknown_fields(input_data, user_keys) if ignored_fields_list: input_list = gen.get_only_supported_fields(input_data, ignored_fields_list) diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 607bccf7..71956225 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -24,9 +24,7 @@ from os.path import join from about_code_tool import genabout - from about_code_tool.tests.tstutil import get_temp_dir - from about_code_tool.tests import test_about @@ -66,7 +64,7 @@ def test_load_data_from_csv_does_converts_all_keys_to_lower(self): result = genabout.load_data_from_csv(test_input) self.assertEqual(expected, result) - def test_filter_empty_values(self): + def test_filter_dicts_of_empty_values(self): test_abouts = [ {'about_file': '/about.ABOUT', 'about_resource': '.', @@ -83,8 +81,23 @@ def test_filter_empty_values(self): 'name': 'ABOUT tool', 'version': '0.8.1'}] - result = genabout.filter_empty_values(test_abouts) - self.assertEqual(result, expected) + result = genabout.filter_dicts_of_empty_values(test_abouts) + self.assertEqual(expected, result) + + def test_filter_dicts_of_empty_values_does_not_filter_data_with_value(self): + test_abouts = [{'asaszname': '', 'version': '1'}] + result = genabout.filter_dicts_of_empty_values(test_abouts) + self.assertEqual(test_abouts, result) + + def test_filter_dicts_of_empty_values_does_filter_data_with_empty_string_values(self): + test_abouts = [{'asaszname': '', 'version': ''}] + result = genabout.filter_dicts_of_empty_values(test_abouts) + self.assertEqual([], result) + + def test_filter_dicts_of_empty_values_does_filter_data_with_space_only_values(self): + test_abouts = [{'asaszname': ' ', 'version': ' '}] + result = genabout.filter_dicts_of_empty_values(test_abouts) + self.assertEqual([], result) def test_validate_value_in_essential_missing_about_file(self): gen = genabout.GenAbout() @@ -523,15 +536,13 @@ def test_format_output(self): def test_format_output_with_continuation(self): gen = genabout.GenAbout() - test_fields = [[join(TESTDATA_DIR, - 'test_files_for_genabout/about.py.ABOUT'), + test_fields = [[join(TESTDATA_DIR, 'test_files_for_genabout/about.py.ABOUT'), {'about_file': '/about.py.ABOUT', 'version': '0.8.1', 'about_resource': '.', 'name': 'ABOUT Tool', 'readme': 'This is a readme test with \nline continuation.'}]] - expected = [[join(TESTDATA_DIR, - 'test_files_for_genabout/about.py.ABOUT'), + expected = [[join(TESTDATA_DIR, 'test_files_for_genabout/about.py.ABOUT'), 'about_resource: .\nname: ABOUT Tool\n' 'version: 0.8.1\n\n' 'readme: This is a readme test with \n line continuation.\n']] @@ -672,7 +683,7 @@ def test_process_dje_licenses(self): test_path = '/test' expected = [[join(u'/test', 'test_key.LICENSE'), 'This is a test license.']] result = gen.process_dje_licenses(test_license_list, test_license_dict, test_path) - self.assertEqual(result, expected) + self.assertEqual(expected, result) def test_update_about_resource_about_file_and_field_exist(self): gen = genabout.GenAbout() From 2dd08c4c2df08ade9bb9f7843de5bcd40cdc5949 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Fri, 9 Oct 2015 23:02:55 +0200 Subject: [PATCH 51/83] Refined help texts --- about_code_tool/help.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/about_code_tool/help.py b/about_code_tool/help.py index c0d768b6..ce0bc917 100644 --- a/about_code_tool/help.py +++ b/about_code_tool/help.py @@ -37,22 +37,22 @@ limitations under the License. """ -__version_info__ = 'AboutCode v {0}\n'.format(__version__) +__version_info__ = 'AboutCode v{0}\n'.format(__version__) -__full_info__ = 'AboutCode tool v {0}\n{1}'.format(__version__, __copyright__) +__full_info__ = 'AboutCode tool v{0}\n{1}'.format(__version__, __copyright__) VERBOSITY_HELP = """\ -Print more or less verbose messages while processing: +Control warning and errors printed while processing: 0 - Do not print warning or error messages, only a total count (default). -1 - Print error messages. +1 - Print only error messages. 2 - Print error and warning messages. """ MAPPING_HELP = """\ -Load the about_code_tool/MAPPING.CONFIG file. This file contains a mapping between AboutCode keys -(or column names) and custom keys (or column names). +Load the about_code_tool/MAPPING.CONFIG file. This file contains a mapping between +known AboutCode key/column names and custom key/column name used in your CSVs files. """ From 436796cfd5488e8680dac13dee2a4f4a19d24450 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Fri, 9 Oct 2015 23:03:22 +0200 Subject: [PATCH 52/83] Ensured that configure also installs self. --- etc/conf/base.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/conf/base.txt b/etc/conf/base.txt index c05dea4b..cc5e4c51 100644 --- a/etc/conf/base.txt +++ b/etc/conf/base.txt @@ -7,3 +7,5 @@ pip==1.5.6 # used for templating jinja2==2.7.3 MarkupSafe==0.23 + +-e . \ No newline at end of file From 5be73461dd673ed59ac499bc54da71c9b5066666 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 12 Oct 2015 16:44:30 +0200 Subject: [PATCH 53/83] Fixed #223 tests * now dealing with paths bigger than Win32 can support alright --- about_code_tool/tests/test_about.py | 31 +++++++++++------- about_code_tool/tests/test_genattrib.py | 2 +- .../testdata/{ => longpath}/longpath.zip | Bin .../longpath1/non-supported_date_format.ABOUT | 4 --- 4 files changed, 21 insertions(+), 16 deletions(-) rename about_code_tool/tests/testdata/{ => longpath}/longpath.zip (100%) delete mode 100644 about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index ecc3c6d7..4f810ee2 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -43,11 +43,14 @@ from about_code_tool.util import posix_path from about_code_tool.tests.tstutil import get_temp_file +from about_code_tool.util import extract_zip TESTDATA_DIR = join(abspath(dirname(__file__)), 'testdata') class CollectorTest(unittest.TestCase): + maxDiff = None + def test_return_path_is_not_abspath_and_contains_subdirs_on_file(self): # Using a relative path for the purpose of this test test_file = 'about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT' @@ -123,19 +126,22 @@ def test_collect_can_collect_a_single_file(self): result = Collector.collect(test_file) self.assertEqual(expected, result) - def test_collect_can_collect_a_long_directory_tree(self): + def test_collect_can_collect_a_directory_tree_with_long_and_deep_paths(self): + test_zip = 'about_code_tool/tests/testdata/longpath/longpath.zip' + test_dir = extract_zip(test_zip) + + longpath = 'longpath1/' * 28 - test_dir = 'about_code_tool/tests/testdata/longpath/' + longpath - if on_windows: - # For some reasons, the os.path.abspath doesn't work if I have long - # path in the parameter. Therefore, I just append to long path - # after the os.path.abspath() - expected = [posix_path(UNC_PREFIX + os.path.abspath('about_code_tool') + '/tests/testdata/longpath/' + longpath + '/non-supported_date_format.ABOUT')] - else: - expected = [os.path.abspath(('about_code_tool/tests/testdata/longpath/' + longpath + 'non-supported_date_format.ABOUT'))] + expected = 'longpath/' + longpath + 'non-supported_date_format.ABOUT' - result = Collector.collect(test_dir) - self.assertEqual(sorted(expected), sorted(result)) + result = Collector.collect(test_dir)[0] + def rel_path(pth): + p = posix_path(pth) + return p.partition('/longpath/')[2] + print() + print(result) + print(rel_path(result)) + self.assertEqual(expected, rel_path(result)) def test_collector_errors_encapsulation(self): test_file = 'about_code_tool/tests/testdata/DateTest' @@ -149,7 +155,10 @@ def test_collector_warnings_encapsulation(self): # No warning is thrown as all fields from ABOUT files are accepted. self.assertEqual(0, len(collector.warnings)) + class ParserTest(unittest.TestCase): + maxDiff = None + def test_valid_chars_in_field_name(self): name = string.digits + string.ascii_letters + '_' line = string.digits + string.ascii_letters + '_' diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 99b4ab5f..8ff39003 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -181,7 +181,7 @@ def test_genattrib_zip_with_filter(self): self.assertFalse(ex in result, ex) def test_extract_deep_zip(self): - test_zip = 'about_code_tool/tests/testdata/longpath.zip' + test_zip = 'about_code_tool/tests/testdata/longpath/longpath.zip' extracted = genattrib.extract_zip(test_zip) unc_extracted = add_unc(extracted) all_files = set() diff --git a/about_code_tool/tests/testdata/longpath.zip b/about_code_tool/tests/testdata/longpath/longpath.zip similarity index 100% rename from about_code_tool/tests/testdata/longpath.zip rename to about_code_tool/tests/testdata/longpath/longpath.zip diff --git a/about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT b/about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT deleted file mode 100644 index 11211ca2..00000000 --- a/about_code_tool/tests/testdata/longpath/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/longpath1/non-supported_date_format.ABOUT +++ /dev/null @@ -1,4 +0,0 @@ -name: distribute -version: 1.1 -about_resource: distribute_setup.py -date:01/08/2013 \ No newline at end of file From 937e570c1394bcc0aced0c312bd2f728cdc02776 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 12 Oct 2015 16:44:43 +0200 Subject: [PATCH 54/83] Updated configure script --- etc/configure.py | 149 ++++++++++++++++++++++++++++++----------------- 1 file changed, 97 insertions(+), 52 deletions(-) diff --git a/etc/configure.py b/etc/configure.py index c4b2bbf5..2d01ac40 100644 --- a/etc/configure.py +++ b/etc/configure.py @@ -33,7 +33,7 @@ - python scripts execution - shell scripts execution -On posix, posix Python and shell scripts are executed before mac or linux +On posix, posix Python and shell scripts are executed before mac or linux scripts. The base scripts or packages are always installed first before platform- @@ -78,6 +78,7 @@ raise Exception('Unsupported OS/platform') platform_names = tuple() + # common file basenames for requirements and scripts base = ('base',) @@ -96,29 +97,45 @@ shell_scripts = ('win.bat',) -def call(cmd): +def call(cmd, root_dir): """ Run a `cmd` command (as a list of args) with all env vars.""" cmd = ' '.join(cmd) - if subprocess.Popen(cmd, shell=True, env=dict(os.environ)).wait() != 0: + if subprocess.Popen(cmd, shell=True, env=dict(os.environ), cwd=root_dir).wait() != 0: print() - print('Failed to execute command:\n%(cmd)s' % locals()) + print('Failed to execute command:\n%(cmd)s. Aborting...' % locals()) sys.exit(1) +def find_pycache(root_dir): + """ + Yield __pycache__ directory paths found in root_dir as paths relative to + root_dir. + """ + for top, dirs, _files in os.walk(root_dir): + for d in dirs: + if d == '__pycache__': + dir_path = os.path.join(top, d) + dir_path = dir_path.replace(root_dir, '', 1) + dir_path = dir_path.strip(os.path.sep) + yield dir_path + + def clean(root_dir): """ - Remove cleanable directories and files. + Remove cleanable directories and files in root_dir. """ print('* Cleaning ...') - cleanable = '''build bin lib include Scripts + cleanable = '''build bin lib Lib include Include Scripts local django_background_task.log - develop-eggs eggs parts .installed.cfg + develop-eggs eggs parts .installed.cfg .Python .cache - .settings pip-selfcheck.json '''.split() + # also clean __pycache__ if any + cleanable.extend(find_pycache(root_dir)) + for d in cleanable: try: loc = os.path.join(root_dir, d) @@ -130,19 +147,23 @@ def clean(root_dir): except: pass -def build_pip_dirs_args(paths, option='--extra-search-dir='): + +def build_pip_dirs_args(paths, root_dir, option='--extra-search-dir='): """ - Return an iterable of pip command line arguments for the `option` pip - command line option using a list of `paths` to directories. + Return an iterable of pip command line options for `option` of pip using a + list of `paths` to directories. """ for path in paths: + if not os.path.isabs(path): + path = os.path.join(root_dir, path) if os.path.exists(path): yield option + path -def create_virtualenv(std_python, root_dir, tpp_dirs): + +def create_virtualenv(std_python, root_dir, tpp_dirs, quiet=False): """ Create a virtualenv in `root_dir` using the `std_python` Python - executable. One of the tpp_dirs must contain a vendored virtualenv.py and + executable. One of the `tpp_dirs` must contain a vendored virtualenv.py and virtualenv dependencies such as setuptools and pip packages. @std_python: Path or name of the Python executable to use. @@ -155,22 +176,28 @@ def create_virtualenv(std_python, root_dir, tpp_dirs): vendored Python distributions that pip will use to find required components. """ - print() print("* Configuring Python ...") # search virtualenv.py in the tpp_dirs. keep the first found venv_py = None for tpd in tpp_dirs: - venv = os.path.join(tpd, 'virtualenv.py') + venv = os.path.join(root_dir, tpd, 'virtualenv.py') if os.path.exists(venv): venv_py = venv break - # TODO: error out if venv_py not found + + # error out if venv_py not found + if not venv_py: + print("Configuration Error ... aborting.") + exit(1) + vcmd = [std_python, venv_py, '--never-download'] + if quiet: + vcmd += ['--quiet'] # third parties may be in more than one directory - vcmd.extend(build_pip_dirs_args(tpp_dirs)) + vcmd.extend(build_pip_dirs_args(tpp_dirs, root_dir)) # we create the virtualenv in the root_dir vcmd.append(root_dir) - call(vcmd) + call(vcmd, root_dir) def activate(root_dir): @@ -181,36 +208,43 @@ def activate(root_dir): exec(code, dict(__file__=activate_this)) -def install_3pp(configs, root_dir, tpp_dirs): - """ Install requirements with pip.""" - print() +def install_3pp(configs, root_dir, tpp_dirs, quiet=False): + """ + Install requirements from requirement files found in `configs` with pip, + using the vendored components in `tpp_dirs`. + """ print("* Installing components ...") - for req_file in get_conf_files(configs, requirements): - pcmd = ['pip', 'install', '--no-allow-external', + requirement_files = get_conf_files(configs, root_dir, requirements) + for req_file in requirement_files: + pcmd = ['pip', 'install', '--no-allow-external', '--use-wheel', '--no-index'] - pcmd.extend(build_pip_dirs_args(tpp_dirs, '--find-links=')) + if quiet: + pcmd += ['--quiet'] + pip_dir_args = list(build_pip_dirs_args(tpp_dirs, root_dir, '--find-links=')) + pcmd.extend(pip_dir_args) req_loc = os.path.join(root_dir, req_file) pcmd.extend(['-r' , req_loc]) - call(pcmd) + call(pcmd, root_dir) def run_scripts(configs, root_dir, configured_python): - """ Run py_script and sh_script scripts.""" - print() + """ + Run Python scripts and shell scripts found in `configs`. + """ print("* Configuring ...") # Run Python scripts for each configurations - for py_script in get_conf_files(configs, python_scripts): + for py_script in get_conf_files(configs, root_dir, python_scripts): cmd = [configured_python, os.path.join(root_dir, py_script)] - call(cmd) + call(cmd, root_dir) # Run sh_script scripts for each configurations - for sh_script in get_conf_files(configs, shell_scripts): + for sh_script in get_conf_files(configs, root_dir, shell_scripts): # we source the scripts on posix cmd = ['.'] if on_win: cmd = [] - cmd = cmd + [os.path.join(root_dir, sh_script)] - call(cmd) + cmd = cmd + [os.path.join(root_dir, sh_script)] + call(cmd, root_dir) def chmod_bin(directory): @@ -224,16 +258,18 @@ def chmod_bin(directory): os.chmod(os.path.join(path, f), rwx) -def get_conf_files(config_dir_paths, file_names=requirements): +def get_conf_files(config_dir_paths, root_dir, file_names=requirements): """ - Based on config_dir_paths return a list of collected path-prefixed file - paths matching names in a file_names tuple. Returned paths are posix - paths. + Return a list of collected path-prefixed file paths matching names in a + file_names tuple, based on config_dir_paths, root_dir and the types of + file_names requested. Returned paths are posix paths. @config_dir_paths: Each config_dir_path is a relative from the project root to a config dir. This script should always be called from the project root dir. + @root_dir: The project absolute root dir. + @file_names: get requirements, python or shell files based on list of supported file names provided as a tuple of supported file_names. @@ -247,10 +283,10 @@ def get_conf_files(config_dir_paths, file_names=requirements): """ # collect files for each requested dir path collected = [] - for config_dir_path in config_dir_paths: - if not os.path.exists(config_dir_path): - print('Configurtaion directory %(config_dir_path)s ' + abs_config_dir_path = os.path.join(root_dir, config_dir_path) + if not os.path.exists(abs_config_dir_path): + print('Configuration directory %(config_dir_path)s ' 'does not exists. Skipping.' % locals()) continue # Support args like enterprise or enterprise/dev @@ -259,19 +295,18 @@ def get_conf_files(config_dir_paths, file_names=requirements): current = None for path in paths: if not current: - current = (path, os.path.abspath(path),) + current = (path, os.path.join(root_dir, path),) else: base_path, base_loc = current current = (os.path.join(base_path, path), os.path.join(base_loc, path),) - path, loc = current # we iterate on known filenames to ensure the defined precedence # is respected (posix over mac, linux), etc for n in file_names: for f in os.listdir(loc): if f == n: - f_loc = os.path.join(path, f) + f_loc = os.path.join(loc, f) if f_loc not in collected: collected.append(f_loc) @@ -292,6 +327,9 @@ def get_conf_files(config_dir_paths, file_names=requirements): bin_dir = os.path.join(root_dir, 'bin') standard_python = sys.executable + # you must create a CONFIGURE_QUIET env var if you want to run quietly + run_quiet = 'CONFIGURE_QUIET' in os.environ + if on_win: configured_python = os.path.join(bin_dir, 'python.exe') scripts_dir = os.path.join(root_dir, 'Scripts') @@ -300,30 +338,34 @@ def get_conf_files(config_dir_paths, file_names=requirements): os.makedirs(scripts_dir) if not os.path.exists(bin_dir): cmd = ('mklink /J %(bin_dir)s %(scripts_dir)s' % locals()).split() - call(cmd) + call(cmd, root_dir) else: configured_python = os.path.join(bin_dir, 'python') scripts_dir = bin_dir - # get requested configuration paths and install components and run scripts + # Get requested configuration paths to collect components and scripts later configs = [] for path in args[:]: - if os.path.exists(path): - configs.append(path) + if not os.path.isabs(path): + abs_path = os.path.join(root_dir, path) + if os.path.exists(abs_path): + configs.append(path) else: print() print('WARNING: Skipping missing Configuration directory:\n' ' %(path)s does not exist.' % locals()) print() - # one or more third-party directories may exist - # as environment variables prefixed with TPP_DIR + # Collect vendor directories from environment variables: one or more third- + # party directories may exist as environment variables prefixed with TPP_DIR thirdparty_dirs = [] for envvar, path in os.environ.items(): if not envvar.startswith('TPP_DIR'): continue - if os.path.exists(path): - thirdparty_dirs.append(path) + if not os.path.isabs(path): + abs_path = os.path.join(root_dir, path) + if os.path.exists(abs_path): + thirdparty_dirs.append(path) else: print() print('WARNING: Skipping missing Python thirdparty directory:\n' @@ -332,10 +374,13 @@ def get_conf_files(config_dir_paths, file_names=requirements): ' set %(envvar)s=%(path)s' % locals()) print() + # Finally execute our three steps: venv, install and scripts if not os.path.exists(configured_python): - create_virtualenv(standard_python, root_dir, thirdparty_dirs) + create_virtualenv(standard_python, root_dir, thirdparty_dirs, quiet=run_quiet) activate(root_dir) - install_3pp(configs, root_dir, thirdparty_dirs,) + install_3pp(configs, root_dir, thirdparty_dirs, quiet=run_quiet) run_scripts(configs, root_dir, configured_python) chmod_bin(bin_dir) + print("* Configuration completed.") + print() From 8395d0c80ef06ccc9d926c393c8a074722206b8a Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 12 Oct 2015 17:44:44 +0200 Subject: [PATCH 55/83] #224 appveyor config --- appveyor.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..d0ad0cdd --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,9 @@ +version: '{build}' + +install: + - configure + +build: off + +test_script: + - python setup.py test From d96f4c3dd871f06e2e8250f7a712e298ebc2a142 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 12 Oct 2015 17:44:44 +0200 Subject: [PATCH 56/83] #224 appveyor config --- appveyor.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..d0ad0cdd --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,9 @@ +version: '{build}' + +install: + - configure + +build: off + +test_script: + - python setup.py test From a6f3b4e5629cea312e331c87f75e1dbd49529c03 Mon Sep 17 00:00:00 2001 From: pombredanne Date: Mon, 12 Oct 2015 22:38:17 +0200 Subject: [PATCH 57/83] Relaxed required dependency verions --- etc/conf/base.txt | 12 ++++++------ etc/conf/win.txt | 2 +- setup.py | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/etc/conf/base.txt b/etc/conf/base.txt index cc5e4c51..165e377d 100644 --- a/etc/conf/base.txt +++ b/etc/conf/base.txt @@ -1,11 +1,11 @@ # Base -certifi==14.05.14 -setuptools==7.0 -wheel==0.24.0 -pip==1.5.6 +certifi +setuptools +wheel +pip # used for templating -jinja2==2.7.3 -MarkupSafe==0.23 +MarkupSafe +jinja2 >= 2.7.3, < 3.0.0 -e . \ No newline at end of file diff --git a/etc/conf/win.txt b/etc/conf/win.txt index d73c1744..f6ee7e91 100644 --- a/etc/conf/win.txt +++ b/etc/conf/win.txt @@ -1 +1 @@ -wincertstore==0.2 +wincertstore diff --git a/setup.py b/setup.py index 2a54c0a0..8ffdb2d0 100644 --- a/setup.py +++ b/setup.py @@ -51,4 +51,5 @@ 'Topic :: System :: Software Distribution', 'Topic :: Utilities', ], + install_requires=['jinja2 >= 2.7.3, < 3.0.0',] ) From 1512821ecbde85719ea4b943d10943f7ce6608b6 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 15 Oct 2015 16:00:14 -0700 Subject: [PATCH 58/83] Fixed #220 Add back the missing

    tab --- about_code_tool/templates/default.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about_code_tool/templates/default.html b/about_code_tool/templates/default.html index 570f3781..69912217 100644 --- a/about_code_tool/templates/default.html +++ b/about_code_tool/templates/default.html @@ -53,7 +53,7 @@

    {{ about_object.name }} {% if about_object.version %}{{ about_object.version }}{% endif %}

    {% if about_object.dje_license_name %} -

    This component is licensed under {{about_object.dje_license_name }}. +

    This component is licensed under {{about_object.dje_license_name }}.

    {% endif %} {% if about_object.copyright %}
    {{about_object.copyright}}
    From 153ae675c5050136a647e8703f9e228319b49714 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 22 Oct 2015 13:43:52 -0700 Subject: [PATCH 59/83] Fixed #219 It will now give the correct error if user have entered incorrect api information. In addition, the code will not do an url request the second time if api error is detected. --- about_code_tool/genabout.py | 67 ++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 33c72d47..3a8fe859 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -158,7 +158,7 @@ class GenAbout(object): def __init__(self): self.warnings = [] self.errors = [] - self.extract_dje_license_error = False + self.extract_license_api_error = False @staticmethod def get_duplicated_keys(input_file): @@ -299,32 +299,26 @@ def request_license_data(self, url, username, api_key, license_key): full_url = urllib.quote(full_url, safe="%/:=&?~#+!$,;'@()*[]") license_data = {} try: - request = urllib2.Request(full_url) - response = urllib2.urlopen(request) - response_content = response.read() - license_data = json.loads(response_content) + # The 'self.extract_license_api_error' is True if any of the + # api_url/api_username/api_key/network status have problem. + if not self.extract_license_api_error: + request = urllib2.Request(full_url) + response = urllib2.urlopen(request) + response_content = response.read() + license_data = json.loads(response_content) except urllib2.HTTPError, http_e: # some auth problem if http_e.code == 401: - error_msg = ("Authorization denied. Invalid '--api_username' or '--api_key'. License data collection skipped.") + error_msg = ("Authorization denied. Invalid '--api_username' or '--api_key'. License generation is skipped.") print('\n%(error_msg)s\n' % locals()) - self.extract_dje_license_error = True + self.extract_license_api_error = True self.errors.append(Error(VALUE, 'username/api_key', username + '/' + api_key, error_msg)) else: - # FIXME: would this be only with a 404? + # Since no api_url/api_username/api_key/network status have + # problem detected, it yields 'dje_license_key' is the cause of + # this exception. self.errors.append(Error(VALUE, 'dje_license_key', license_key, "Invalid 'dje_license_key'")) - except urllib2.URLError, url_e: - if check_network_connection(): - error_msg = ("URL not reachable. Invalid '--api_url'. LICENSE generation skipped.") - print('\n%(error_msg)s\n' % locals()) - self.extract_dje_license_error = True - self.errors.append(Error(VALUE, '--api_url', url, error_msg)) - else: - error_msg = "Network problem. Please check your Internet connection. LICENSE generation skipped." - print('\n%(error_msg)s\n' % locals()) - self.extract_dje_license_error = True - self.errors.append(Error(NETWORK, 'Network', '', error_msg)) - except ValueError: + except ValueError as e: # FIXME: when does this happen? pass finally: @@ -381,7 +375,7 @@ def get_dje_license_list(self, gen_location, input_list, gen_license, dje_licens if not path_exists(license_file): self.errors.append(Error(FILE, 'license_text_file', license_file, "The 'license_text_file' does not exist.")) else: - if gen_license: + if gen_license and not self.extract_license_api_error: if line['dje_license_key']: license_output_list.append(self.gen_license_list(line)) lic_name = line['dje_license_name'] @@ -414,6 +408,17 @@ def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, ap dje_lic_urn = urljoin(domain, 'urn/?urn=urn:dje:license:') key_text_dict = {} license_dict = {} + if check_network_connection(): + if not self.valid_api_url(api_url): + error_msg = "URL not reachable. Invalid '--api_url'. License generation is skipped." + print('\n%(error_msg)s\n' % locals()) + self.extract_license_api_error = True + self.errors.append(Error(VALUE, '--api_url', api_url, error_msg)) + else: + error_msg = "Network problem. Please check your Internet connection. License generation is skipped." + print('\n%(error_msg)s\n' % locals()) + self.extract_license_api_error = True + self.errors.append(Error(NETWORK, 'Network', '', error_msg)) for line in input_list: try: if line['dje_license_key']: @@ -435,11 +440,27 @@ def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, ap else: line['dje_license_name'] = license_dict[lic] line['dje_license_url'] = dje_lic_urn + lic - except Exception: + except Exception as e: err = Warn(VALUE, 'dje_license_key', '', 'Missing "dje_license_key" for ' + line['about_file']) self.warnings.append(err) return key_text_dict + def valid_api_url(self, api_url): + try: + request = urllib2.Request(api_url) + # This will always goes to exception as no username/key are provided. + # The purpose of this code is to validate the provided api_url is correct + response = urllib2.urlopen(request) + except urllib2.HTTPError, http_e: + # The 405 error code is refer to "Method not allowed". + # This is correct as no username and key are provided. + if http_e.code == 405: + return True + except: + # All other exceptions yield to invalid api_url + pass + return False + def process_dje_licenses(self, dje_license_list, dje_license_dict, output_path): license_list_context = [] for gen_path, license_name in dje_license_list: @@ -449,7 +470,7 @@ def process_dje_licenses(self, dje_license_list, dje_license_dict, output_path): if lic: license_key = dje_license_dict[lic][0] gen_license_path = join(output_path, gen_path, license_key) + '.LICENSE' - if not path_exists(gen_license_path) and not self.extract_dje_license_error: + if not path_exists(gen_license_path) and not self.extract_license_api_error: context = dje_license_dict[lic][1] if context: gen_path_context = [] From 6aecc6cc06b7a96cc9f5e7b41624ab040ea7f8a2 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 22 Oct 2015 14:15:42 -0700 Subject: [PATCH 60/83] Update changelog --- docs/CHANGELOG.rst | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 64444289..a69df9ff 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -1,3 +1,31 @@ +2015-10-22 Chin-Yeung Li + + Release 2.2.0 + + * Improved CLI error messages + * Fixed the filtering of dicts with empty values. + * Refined help texts + * Updated configure script + * Refactorings and code simplifications + * Fixed misleading error message when using invalid api_url + + +2015-10-08 Chin-Yeung Li + + Release 2.1.0 + + * Minor code refactoring + * Handle long path error on Windows OS when using genattrib with a zip + + +2015-09-28 Chin-Yeung Li + + Release 2.0.4 + + * Added support to run genattrib with a zip file and tests + * Display a "Completed" message once the generation is completed + + 2015-07-31 Chin-Yeung Li Release 2.0.3 From da211ccf157aa379d628a6bdd65baf2f6f00e25e Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 22 Oct 2015 15:07:37 -0700 Subject: [PATCH 61/83] Update the version in about.ABOUT --- about.ABOUT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about.ABOUT b/about.ABOUT index 81be1884..6c9cdb51 100644 --- a/about.ABOUT +++ b/about.ABOUT @@ -1,7 +1,7 @@ about_resource: . name: AboutCode -version: 2.0.0 +version: 2.2.0 owner: nexB Inc. From c1204f1e63090b04842279910ac59445459225fb Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Fri, 30 Oct 2015 11:48:57 -0700 Subject: [PATCH 62/83] Fixed #230 ToDo: --- about_code_tool/genabout.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 3a8fe859..afeeb9f5 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -807,6 +807,8 @@ def main(parser, options, args): ignored_fields_list = get_unknown_fields(input_data, user_keys) if ignored_fields_list: input_list = gen.get_only_supported_fields(input_data, ignored_fields_list) + else: + input_list = input_data if copy_files_path: if not isdir(copy_files_path): From 29341d1811cf1f5ea2732be64ee9a83029d97e88 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 13 Jan 2016 11:52:12 -0800 Subject: [PATCH 63/83] - Updated the copyright date and version number - Potential fix for #235 which support same name mapping --- about_code_tool/genabout.py | 2 +- about_code_tool/help.py | 4 ++-- about_code_tool/util.py | 16 +++++++++++----- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index afeeb9f5..aab12d2e 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -800,7 +800,7 @@ def main(parser, options, args): if mapping_config: mappings = get_mappings(location=None) input_data = apply_mappings(input_data, mappings) - user_keys = mappings.values() + user_keys = mappings.keys() gen.validate(input_data) diff --git a/about_code_tool/help.py b/about_code_tool/help.py index ce0bc917..3caf41fb 100644 --- a/about_code_tool/help.py +++ b/about_code_tool/help.py @@ -19,10 +19,10 @@ __about_spec_version__ = '1.0' -__version__ = '2.2.0' +__version__ = '2.2.1' __copyright__ = """ -Copyright (c) 2013-2015 nexB Inc. All rights reserved. +Copyright (c) 2013-2016 nexB Inc. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/about_code_tool/util.py b/about_code_tool/util.py index a09a7fc4..bcdc54cc 100644 --- a/about_code_tool/util.py +++ b/about_code_tool/util.py @@ -197,7 +197,8 @@ def get_mappings(location=None): key, sep, value = line.partition(':') about_key = key.strip().replace(' ', '_') user_key = value.strip() - mappings[user_key] = about_key + #mappings[user_key] = about_key + mappings[about_key] = user_key except Exception as e: print(repr(e)) @@ -218,10 +219,15 @@ def apply_mappings(abouts, mappings=None): mapped_abouts = [] for about in abouts: mapped_about = {} - for key, value in about.items(): - # we default to the key if the key is not in the mappings - mapped = mappings.get(key, key) - mapped_about[mapped] = value + for key in about: + mapped = [] + for mapping_keys, input_keys in mappings.items(): + if key == input_keys: + mapped.append(mapping_keys) + if not mapped: + mapped.append(key) + for mapped_key in mapped: + mapped_about[mapped_key] = about[key] mapped_abouts.append(mapped_about) return mapped_abouts From 09ba9a29b81ead899e36165f22a5d042ef57a974 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 13 Jan 2016 12:28:44 -0800 Subject: [PATCH 64/83] Update code to support non-html genattrib output file --- about_code_tool/genattrib.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index 577e148b..54d1d9d4 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -200,15 +200,17 @@ def main(parser, options, args): input_path = extract_zip(input_path) if isdir(output_path): - print('ERROR: must be an HTML file, not a directory') + print('ERROR: cannot be a directory') parser.print_help() sys.exit(errno.EISDIR) + """ # We only support HTML currently if not output_path.endswith('.html'): print('ERROR: must be an HTML file.') parser.print_help() sys.exit(errno.EINVAL) + """ if exists(output_path) and not overwrite: print('ERROR: A file at already exists. Select a different file name or use the --overwrite option.') From 44b0e4467cba3b49961bebf93b1d19632b982985 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 13 Jan 2016 12:44:38 -0800 Subject: [PATCH 65/83] Updated test code for #235 --- about_code_tool/tests/test_tstutil.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/about_code_tool/tests/test_tstutil.py b/about_code_tool/tests/test_tstutil.py index 191dfd3e..9af20a51 100644 --- a/about_code_tool/tests/test_tstutil.py +++ b/about_code_tool/tests/test_tstutil.py @@ -25,11 +25,11 @@ class UtilTest(unittest.TestCase): def test_get_mappings(self): expected = { - 'component': 'name', - 'confirmed copyright': 'copyright', - 'confirmed license': 'confirmed_license', - 'confirmed version': 'version', - 'directory/filename': 'about_file' + 'name': 'component', + 'copyright': 'confirmed copyright', + 'confirmed_license': 'confirmed license', + 'version': 'confirmed version', + 'about_file': 'directory/filename' } result = util.get_mappings() @@ -37,10 +37,10 @@ def test_get_mappings(self): def test_apply_mappings(self): mappings = { - 'Directory/Filename': 'about_file', - 'Confirmed Version': 'version', - 'file_name': 'about_resource', - 'Component': 'name' + 'about_file': 'Directory/Filename', + 'version': 'Confirmed Version', + 'about_resource': 'file_name', + 'name': 'Component' } test_fields = [ From ea8e89a5d43c487878a22ec85639fcd7dc1c1f92 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 13 Jan 2016 12:48:18 -0800 Subject: [PATCH 66/83] Add test for apply mappings with same name #235 --- about_code_tool/tests/test_tstutil.py | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/about_code_tool/tests/test_tstutil.py b/about_code_tool/tests/test_tstutil.py index 9af20a51..93806a72 100644 --- a/about_code_tool/tests/test_tstutil.py +++ b/about_code_tool/tests/test_tstutil.py @@ -66,6 +66,39 @@ def test_apply_mappings(self): result = util.apply_mappings(test_fields, mappings) self.assertEqual(expected, result) + def test_apply_mappings_same_name(self): + mappings = { + 'about_file': 'Directory/Filename', + 'version': 'Confirmed Version', + 'about_resource': 'file_name', + 'name': 'Component', + 'component' : 'Component' + } + + test_fields = [ + { + 'file_name': 'opensans', + 'ignore field': 'i', + 'Component': 'OpenSans Fonts', + 'Confirmed Version': '1', + 'Directory/Filename': '/extension/streamer/opensans/', + } + ] + + expected = [ + { + 'about_resource': 'opensans', + 'ignore field': 'i', + 'name': 'OpenSans Fonts', + 'version': '1', + 'about_file': '/extension/streamer/opensans/', + 'component': 'OpenSans Fonts', + } + ] + + result = util.apply_mappings(test_fields, mappings) + self.assertEqual(expected, result) + def test_util_resource_name(self): expected = 'first' result = util.resource_name('some/things/first') From c7e80d0862a47217ffdc43893e0a4a0ff8e9fb2a Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 16 Feb 2016 15:45:12 -0800 Subject: [PATCH 67/83] Fix the test for "test_update_about_resource_no_about_file_field_exist" --- about_code_tool/tests/test_genabout.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 71956225..c4f63997 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -718,10 +718,11 @@ def test_update_about_resource_no_about_file_field_exist(self): gen = genabout.GenAbout() test_fields = {'about_resource': 'test.c', 'about_file': '/tmp/test.c'} + expected_fields = {'about_resource': 'test.c', + 'about_file': '/tmp/test.c'} about_file_exist = False gen.update_about_resource(test_fields, about_file_exist) - # FIXME: this will always be true: the test is incorrect - self.assertTrue(test_fields == test_fields, 'The dict should not be changed.') + self.assertTrue(test_fields == expected_fields, 'The dict should not be changed.') def test_update_about_resource_no_about_file_no_field_isFile(self): gen = genabout.GenAbout() From 2b2b2f4edd1d7211c02b607a298ba217b4a43b7c Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 16 Feb 2016 15:48:26 -0800 Subject: [PATCH 68/83] Update the copyright date. --- about_code_tool/about.py | 2 +- about_code_tool/genabout.py | 2 +- about_code_tool/genattrib.py | 2 +- about_code_tool/help.py | 2 +- about_code_tool/licenses.py | 2 +- about_code_tool/tests/test_about.py | 2 +- about_code_tool/tests/test_genabout.py | 2 +- about_code_tool/tests/test_genattrib.py | 2 +- about_code_tool/tests/test_tstutil.py | 2 +- about_code_tool/tests/tstutil.py | 2 +- about_code_tool/util.py | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index cf1f3b98..60e11c9a 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index aab12d2e..06955fe3 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index 54d1d9d4..bb3edeba 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/help.py b/about_code_tool/help.py index 3caf41fb..64b87bfa 100644 --- a/about_code_tool/help.py +++ b/about_code_tool/help.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/licenses.py b/about_code_tool/licenses.py index f9de9331..1d6433f7 100644 --- a/about_code_tool/licenses.py +++ b/about_code_tool/licenses.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 4f810ee2..7fdf8f12 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index c4f63997..7005363d 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/test_genattrib.py b/about_code_tool/tests/test_genattrib.py index 8ff39003..29d01b7d 100644 --- a/about_code_tool/tests/test_genattrib.py +++ b/about_code_tool/tests/test_genattrib.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/test_tstutil.py b/about_code_tool/tests/test_tstutil.py index 93806a72..8757fefd 100644 --- a/about_code_tool/tests/test_tstutil.py +++ b/about_code_tool/tests/test_tstutil.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/tests/tstutil.py b/about_code_tool/tests/tstutil.py index c83501f8..f1ab4476 100644 --- a/about_code_tool/tests/tstutil.py +++ b/about_code_tool/tests/tstutil.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at diff --git a/about_code_tool/util.py b/about_code_tool/util.py index bcdc54cc..06660b06 100644 --- a/about_code_tool/util.py +++ b/about_code_tool/util.py @@ -2,7 +2,7 @@ # -*- coding: utf8 -*- # ============================================================================ -# Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved. +# Copyright (c) 2013-2016 nexB Inc. http://www.nexb.com/ - All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at From b0c8535c15bb147d1fc78cffa75d96853efc74ee Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 23 Feb 2016 11:49:05 -0800 Subject: [PATCH 69/83] Add comments for the "FIXME" comments --- about_code_tool/tests/test_about.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 7fdf8f12..9a606165 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -59,6 +59,10 @@ def test_return_path_is_not_abspath_and_contains_subdirs_on_file(self): collector.write_to_csv(output) expected = 'about_code_tool/tests/testdata/thirdparty/django_snippets_2413.ABOUT' # FIXME: why [2]? what this test means? + # CY: Since the output is going to have 2 rows (header row and row with + # the test file data), the below partition('\n')[2] means to only read + # the data row and ignroe the header row. This test is to make sure + # the path in the data row is not an absolute path. with open(output) as f: self.assertTrue(f.read().partition('\n')[2].startswith(expected)) @@ -70,6 +74,10 @@ def test_return_path_is_not_abspath_and_contains_subdirs_on_dir(self): collector.write_to_csv(output) expected = '/basic' # FIXME: why [2]? what this test means? + # CY: Since the output is going to have 2 rows (header row and row with + # the test file data), the below partition('\n')[2] means to only read + # the data row and ignroe the header row. This test is to make sure + # the path in the data row is not an absolute path. with open(output) as f: self.assertTrue(f.read().partition('\n')[2].startswith(expected)) From 9d2d6b1c84bddbdbb5b71823aae0b05cd0fa73c1 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 23 Feb 2016 14:47:48 -0800 Subject: [PATCH 70/83] Fix test cases --- about_code_tool/tests/test_genabout.py | 31 ++- .../apache-2.0.LICENSE | 176 ++++++++++++++++++ 2 files changed, 189 insertions(+), 18 deletions(-) create mode 100644 about_code_tool/tests/testdata/test_files_for_genabout/apache-2.0.LICENSE diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 7005363d..131ccbf3 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -284,13 +284,12 @@ def test_get_dje_license_list_no_gen_license_with_license_text_file_key_not_exis def test_get_dje_license_list_file_no_gen_license_with_license_text_file_key_exist(self): gen = genabout.GenAbout() - # FIXME: this is using the about own license, not a test file gen_location = join(TESTDATA_DIR, 'test_files_for_genabout/') test_fields = [{'about_file': '/about.py.ABOUT', 'version': '0.8.1', 'about_resource': '.', 'name': 'ABOUT tool', - 'license_text_file': '../../../../apache-2.0.LICENSE'}] + 'license_text_file': 'apache-2.0.LICENSE'}] result = gen.get_dje_license_list(gen_location=gen_location, input_list=test_fields, gen_license=False, @@ -302,14 +301,13 @@ def test_get_dje_license_list_file_no_gen_license_with_license_text_file_key_exi def test_get_dje_license_list_dir_no_gen_license_with_license_text_file_key_exist(self): gen = genabout.GenAbout() - # FIXME: this is using the about own license, not a test file gen_location = join(TESTDATA_DIR, 'test_files_for_genabout/') test_fields = [{'about_file': '/ABOUT/', 'version': '0.8.1', 'about_resource': '.', 'name': 'ABOUT tool', 'license_text_file': - '../../../../../apache-2.0.LICENSE'}] + '../apache-2.0.LICENSE'}] expected = [] result = gen.get_dje_license_list(gen_location, test_fields, @@ -358,10 +356,8 @@ def test_get_dje_license_list_gen_license_with_dje_license_key_empty_license_tex gen_license, dje_license_dict) - # FIXME: not why a loop is needed asserting on actual test data? - for field in test_fields: - self.assertEqual(field['license_text_file'], - 'apache-2.0.LICENSE') + self.assertEqual(test_fields[0]['license_text_file'], + 'apache-2.0.LICENSE') expected = [('/', 'Apache License 2.0')] self.assertEqual(expected, result) @@ -553,31 +549,32 @@ def test_format_output_with_continuation(self): def test_verify_files_existence_exist(self): gen = genabout.GenAbout() - # FIXME: this is using the files at the root, not testfiles + gen_location = join(TESTDATA_DIR, 'test_files_for_genabout/') test_fields = [{'version': '0.8.1', 'about_file': '/TESTCASE/', 'license_text_file': 'apache-2.0.LICENSE', 'name': 'ABOUT tool', 'about_resource': '.'}] - expected = [(join('.', 'apache-2.0.LICENSE'), 'TESTCASE')] + expected = [(join(gen_location, 'apache-2.0.LICENSE'), 'TESTCASE')] result = gen.verify_files_existence(input_list=test_fields, - project_dir='.', + project_dir=gen_location, file_in_project=False) + print(result) self.assertEqual(expected, result) self.assertFalse(gen.warnings, 'No warnings should be returned.') self.assertFalse(gen.errors, 'No errors should be returned.') def test_verify_files_existence_exist_license_in_project(self): gen = genabout.GenAbout() - # FIXME: this is using the files at the root, not testfiles + gen_location = join(TESTDATA_DIR, 'test_files_for_genabout/') test_fields = [{'version': '0.8.1', 'about_file': '.', 'license_text_file': 'apache-2.0.LICENSE', 'name': 'ABOUT tool', 'about_resource': '.'}] - expected = [(join('.', 'apache-2.0.LICENSE'), '')] + expected = [(join(gen_location, 'apache-2.0.LICENSE'), '')] result = gen.verify_files_existence(input_list=test_fields, - project_dir='.', + project_dir=gen_location, file_in_project=True) self.assertEqual(expected, result) self.assertFalse(gen.warnings, 'No warnings should be returned.') @@ -650,9 +647,8 @@ def test_gen_license_list_no_license_text_file_key(self): self.assertEqual(expected, result) def test_copy_files_test_path_not_endswith_slash(self): - # FIXME: this is using the files at the root, not testfiles gen = genabout.GenAbout() - test = [('apache-2.0.LICENSE', '.')] + test = [(join(TESTDATA_DIR, 'test_files_for_genabout/apache-2.0.LICENSE'), '.')] test_dir = get_temp_dir() gen.copy_files(test_dir, test) expected = ['apache-2.0.LICENSE'] @@ -660,8 +656,7 @@ def test_copy_files_test_path_not_endswith_slash(self): def test_copy_files_test_path_endswith_slash(self): gen = genabout.GenAbout() - # FIXME: this is using the files at the root, not testfiles - test = [('apache-2.0.LICENSE', '.')] + test = [(join(TESTDATA_DIR, 'test_files_for_genabout/apache-2.0.LICENSE'), '.')] expected = ['apache-2.0.LICENSE'] test_dir = get_temp_dir() + '/' gen.copy_files(test_dir, test) diff --git a/about_code_tool/tests/testdata/test_files_for_genabout/apache-2.0.LICENSE b/about_code_tool/tests/testdata/test_files_for_genabout/apache-2.0.LICENSE new file mode 100644 index 00000000..d9a10c0d --- /dev/null +++ b/about_code_tool/tests/testdata/test_files_for_genabout/apache-2.0.LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS From 0871355d5a8a360775daf210e4f07f1d64276642 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Tue, 23 Feb 2016 15:58:06 -0800 Subject: [PATCH 71/83] Fixed #236 The tool will not log an error in the error.log if a directory name in a file path endswith space. --- about_code_tool/genabout.py | 14 +++++++++++++- about_code_tool/tests/test_genabout.py | 15 +++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 06955fe3..6553d319 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -481,7 +481,7 @@ def process_dje_licenses(self, dje_license_list, dje_license_dict, output_path): def pre_generation(self, gen_location, input_list, action_num): """ - Perfom some pre-generation. + Perform some pre-generation. TODO: document me """ output_list = [] @@ -500,6 +500,18 @@ def pre_generation(self, gen_location, input_list, action_num): file_location = dirname(file_location) file_location = join(file_location, basename(file_location)) file_location += '.ABOUT' + # The following code is to check if there is any directory ends with spaces + split_path = file_location.split('/') + dir_endswith_space = False + for segment in split_path: + if segment.endswith(' '): + msg = 'File path contains directory name ends with spaces which is not allowed. Generation skipped.' + self.errors.append(Error(VALUE, 'about_file_path', + file_location, msg)) + dir_endswith_space = True + break + if dir_endswith_space: + continue about_file_location = join(gen_location, file_location) about_file_dir = dirname(about_file_location) diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 131ccbf3..9291278c 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -514,6 +514,21 @@ def test_pre_generation_about_exists_action_3(self): self.assertFalse(gen.warnings, 'No warnings should be returned.') self.assertFalse(gen.errors, 'No errors should be returned.') + def test_pre_generation_dir_endswith_space(self): + gen = genabout.GenAbout() + test_fields = [{'about_file': '/abc /about.py.ABOUT', + 'version': '0.8.2', + 'about_resource': '.', + 'name': '', + 'test': 'test sample'}] + + result = gen.pre_generation(GEN_LOCATION, + test_fields, + action_num=0) + + self.assertTrue(len(gen.errors) == 1, 'Should return 1 error.') + self.assertTrue(gen.errors, 'It should prompt error because directory ends with sapce') + def test_format_output(self): gen = genabout.GenAbout() test_fields = [ From d6a10e29fb3440def045970a7c3cd402135e1a68 Mon Sep 17 00:00:00 2001 From: tdruez Date: Wed, 24 Feb 2016 13:38:50 -0800 Subject: [PATCH 72/83] #233: Update genabout.py to work with DejaCode API v2 --- .Python | 1 + README.rst | 7 ++-- USAGE.rst | 14 ++++---- about_code_tool/genabout.py | 69 ++++++++++++++++++------------------- 4 files changed, 43 insertions(+), 48 deletions(-) create mode 120000 .Python diff --git a/.Python b/.Python new file mode 120000 index 00000000..98af03e5 --- /dev/null +++ b/.Python @@ -0,0 +1 @@ +/Library/Frameworks/Python.framework/Versions/2.7/Python \ No newline at end of file diff --git a/README.rst b/README.rst index 8ff8f8cc..b760c559 100644 --- a/README.rst +++ b/README.rst @@ -187,11 +187,10 @@ as an input. with the generated .ABOUT file using data fetched from a DejaCode License Library. The following additional options are required: --api_url - URL to the DejaCode License Library API endpoint - --api_username - DejaCode username - --api_key - DejaCode API key for this username - + --api_key - DejaCode API key + Example syntax: - python about_code_tool/genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' + python about_code_tool/genabout.py --extract_license --api_url='api_url' --api_key='api_key' Example:: diff --git a/USAGE.rst b/USAGE.rst index bff4de32..bd17f28b 100644 --- a/USAGE.rst +++ b/USAGE.rst @@ -83,12 +83,11 @@ genabout.py Extract License text and create .LICENSE side-by-side with the .ABOUT from DJE License Library. api_url - URL to the DJE License Library - api_username - The regular DJE username - api_key - Hash attached to your username which is used to authenticate - yourself in the API. Contact us to get the hash key. + api_key - Hash which is used to authenticate yourself in the API. + Contact us to get the hash key. Example syntax: - genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' + genabout.py --extract_license --api_url='api_url' --api_key='api_key' Purpose ------- @@ -177,12 +176,11 @@ Options This option requires 3 parameters: api_url - URL to the DJE License Library - api_username - The regular DJE username - api_key - Hash attached to your username which is used to authenticate - yourself in the API. + api_key - Hash which is used to authenticate yourself in the API. + Contact us to get the hash key. (Please contact us to get the api_* value to use this feature) - $ python genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' + $ python genabout.py --extract_license --api_url='api_url' --api_key='api_key' genattrib.py diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 6553d319..3b6ba6ff 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -279,50 +279,51 @@ def verify_files_existence(self, input_list, project_dir, file_in_project): self.warnings.append(Warn(FILE, file_key, path, 'File does not exist.')) return files_list - def request_license_data(self, url, username, api_key, license_key): + def request_license_data(self, url, api_key, license_key): """ - Return a dictionary of license data. - + Return a dictionary of license data. Send a request to a given API URL to gather license data for - license_key, authenticating through an api_key and username. + license_key, authenticating through an api_key. """ payload = { - 'username': username, 'api_key': api_key, + 'key': license_key, 'format': 'json' } url = url.rstrip('/') encoded_payload = urllib.urlencode(payload) - full_url = '%(url)s/%(license_key)s/?%(encoded_payload)s' % locals() + full_url = '%(url)s/?%(encoded_payload)s' % locals() # handle special characters in URL such as space etc. full_url = urllib.quote(full_url, safe="%/:=&?~#+!$,;'@()*[]") + headers = {'Authorization': 'Token %s' % api_key} license_data = {} try: # The 'self.extract_license_api_error' is True if any of the - # api_url/api_username/api_key/network status have problem. + # api_url/api_key/network status have problem. if not self.extract_license_api_error: - request = urllib2.Request(full_url) + request = urllib2.Request(full_url, headers=headers) response = urllib2.urlopen(request) response_content = response.read() license_data = json.loads(response_content) except urllib2.HTTPError, http_e: # some auth problem if http_e.code == 401: - error_msg = ("Authorization denied. Invalid '--api_username' or '--api_key'. License generation is skipped.") + error_msg = ("Authorization denied. Invalid '--api_key'. License generation is skipped.") print('\n%(error_msg)s\n' % locals()) self.extract_license_api_error = True - self.errors.append(Error(VALUE, 'username/api_key', username + '/' + api_key, error_msg)) + self.errors.append(Error(VALUE, 'api_key', api_key, error_msg)) else: - # Since no api_url/api_username/api_key/network status have + # Since no api_url/api_key/network status have # problem detected, it yields 'dje_license_key' is the cause of - # this exception. + # this exception. self.errors.append(Error(VALUE, 'dje_license_key', license_key, "Invalid 'dje_license_key'")) except ValueError as e: # FIXME: when does this happen? pass finally: - return license_data + license_data = license_data.get('results')[0] if license_data.get('count') == 1 else {} + return license_data @staticmethod def copy_files(gen_location, files_list): @@ -348,12 +349,12 @@ def write_licenses(self, license_context_list): 'Something is wrong.') self.errors.append(err) - def get_license_details_from_api(self, url, username, api_key, license_key): + def get_license_details_from_api(self, url, api_key, license_key): """ Returns the license_text of a given license_key using an API request. Returns an empty string if the text is not available. """ - license_data = self.request_license_data(url, username, api_key, license_key) + license_data = self.request_license_data(url, api_key, license_key) license_name = license_data.get('name', '') license_text = license_data.get('full_text', '') license_key = license_data.get('key', '') @@ -398,7 +399,7 @@ def get_dje_license_list(self, gen_location, input_list, gen_license, dje_licens "Missing 'dje_license_key' for " + line['about_file'])) return license_output_list - def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, api_key): + def pre_process_and_dje_license_dict(self, input_list, api_url, api_key): """ Modify a list of About data dictionaries by adding license information fetched from the DejaCode API. @@ -427,9 +428,9 @@ def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, ap self.errors.append(Error(VALUE, 'dje_license_key', line['dje_license_key'], "No multiple licenses or newline character are accepted.")) continue lic = line['dje_license_key'] - if not lic in license_dict: + if lic not in license_dict: detail_list = [] - license_name, license_key, license_text = self.get_license_details_from_api(api_url, api_username, api_key, lic) + license_name, license_key, license_text = self.get_license_details_from_api(api_url, api_key, lic) line['dje_license_key'] = license_key license_dict[license_key] = license_name line['dje_license_name'] = license_name @@ -448,13 +449,13 @@ def pre_process_and_dje_license_dict(self, input_list, api_url, api_username, ap def valid_api_url(self, api_url): try: request = urllib2.Request(api_url) - # This will always goes to exception as no username/key are provided. + # This will always goes to exception as no key are provided. # The purpose of this code is to validate the provided api_url is correct response = urllib2.urlopen(request) except urllib2.HTTPError, http_e: - # The 405 error code is refer to "Method not allowed". - # This is correct as no username and key are provided. - if http_e.code == 405: + # The 403 error code is refer to "Authentication credentials were not provided.". + # This is correct as no key are provided. + if http_e.code == 403: return True except: # All other exceptions yield to invalid api_url @@ -682,12 +683,11 @@ def filter_dicts_of_empty_values(abouts): Fetch and save license texts in .LICENSE files side-by-side with the .ABOUT files using the DejaCode License Library API. api_url - URL to the DejaCode License Library. -api_username - The DejaCode username. -api_key - Key attached to your username and used to authenticate - yourself in the API. Contact us to get an API key. +api_key - Key used to authenticate yourself in the API. + Contact us to get an API key. Example syntax: -genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key' +genabout.py --extract_license --api_url='api_url' --api_key='api_key' """ @@ -704,7 +704,6 @@ def main(parser, options, args): action_num = 0 api_url = '' - api_username = '' api_key = '' gen_license = False dje_license_dict = {} @@ -746,12 +745,11 @@ def main(parser, options, args): if extract_license: api_url = extract_license[0].partition('--api_url=')[2] - api_username = extract_license[1].partition('--api_username=')[2] - api_key = extract_license[2].partition('--api_key=')[2] + api_key = extract_license[1].partition('--api_key=')[2] gen_license = True if not len(args) == 2: - print('ERROR: and are required.') + print('ERROR: and are required.') print() parser.print_help() sys.exit(errno.EEXIST) @@ -851,8 +849,8 @@ def main(parser, options, args): gen.copy_files(output_path, license_list) if extract_license: - if not api_url or not api_username or not api_key: - print("ERROR: Missing argument for --extract_license") + if not api_url or not api_key: + print("Missing argument for --extract_license") sys.exit(errno.EINVAL) for line in input_list: try: @@ -864,11 +862,10 @@ def main(parser, options, args): sys.exit(errno.EINVAL) if gen_license: - # Strip the ' and " for api_url, api_username and api_key from input + # Strip the ' and " for api_url, and api_key from input api_url = api_url.strip("'").strip("\"") - api_username = api_username.strip("'").strip("\"") api_key = api_key.strip("'").strip("\"") - dje_license_dict = gen.pre_process_and_dje_license_dict(input_list, api_url, api_username, api_key) + dje_license_dict = gen.pre_process_and_dje_license_dict(input_list, api_url, api_key) dje_license_list = gen.get_dje_license_list(output_path, input_list, gen_license, dje_license_dict) components_list = gen.pre_generation(output_path, input_list, action_num) @@ -902,7 +899,7 @@ def get_parser(): parser.add_option('--copy_files', type='string', help=COPY_FILES_HELP) parser.add_option('--license_text_location', type='string', help=LICENSE_TEXT_LOCATION_HELP) parser.add_option('--mapping', action='store_true', help=MAPPING_HELP) - parser.add_option('--extract_license', type='string', nargs=3, help=EXTRACT_LICENSE_HELP) + parser.add_option('--extract_license', type='string', nargs=2, help=EXTRACT_LICENSE_HELP) return parser From b536c64de787a1eaeb2dde60adfc97c994d0676c Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 25 Feb 2016 11:50:05 -0800 Subject: [PATCH 73/83] Fixed #199 Missing version value will not treat as a warning instead of error. --- about_code_tool/about.py | 17 ++++++++++++---- about_code_tool/tests/test_about.py | 20 +++++++++++++------ about_code_tool/tests/test_genabout.py | 1 - .../testdata/parser_tests/missing_mand.ABOUT | 4 +--- .../parser_tests/missing_mand_values.ABOUT | 5 +---- 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/about_code_tool/about.py b/about_code_tool/about.py index 60e11c9a..7336439c 100644 --- a/about_code_tool/about.py +++ b/about_code_tool/about.py @@ -428,9 +428,14 @@ def validate_field_values_are_not_empty(self): continue if field_name in MANDATORY_FIELDS: - err = Error(VALUE, field_name, None, - 'This mandatory field has no value.') - self.errors.append(err) + if field_name == 'version': + err = Warn(VALUE, field_name, None, + 'This mandatory field has no value.') + self.warnings.append(err) + else: + err = Error(VALUE, field_name, None, + 'This mandatory field has no value.') + self.errors.append(err) elif field_name in OPTIONAL_FIELDS: err = Warn(VALUE, field_name, None, 'This optional field has no value.') @@ -517,8 +522,12 @@ def validate_mandatory_fields_are_present(self): """ for field_name in MANDATORY_FIELDS: if field_name not in self.validated_fields: - self.errors.append(Error(VALUE, field_name, None, + if field_name == 'version' : + self.warnings.append(Error(VALUE, field_name, None, 'Mandatory field missing')) + else: + self.errors.append(Error(VALUE, field_name, None, + 'Mandatory field missing')) def validate_known_optional_fields(self, field_name): """ diff --git a/about_code_tool/tests/test_about.py b/about_code_tool/tests/test_about.py index 9a606165..36b6c4d1 100644 --- a/about_code_tool/tests/test_about.py +++ b/about_code_tool/tests/test_about.py @@ -365,20 +365,28 @@ def test_validate_about_resource_error_thrown_when_file_referenced_by_about_file def test_validate_mand_fields_name_and_version_and_about_resource_present(self): about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_mand.ABOUT')) - expected_errors = [(VALUE, 'name'), - (VALUE, 'version'), ] - self.assertEqual(2, len(about_file.errors)) + expected_errors = [(VALUE, 'name'),] + expected_warnings = [(VALUE, 'version'),] + self.assertEqual(1, len(about_file.errors)) + self.assertEqual(1, len(about_file.warnings)) for i, w in enumerate(about_file.errors): self.assertEqual(expected_errors[i][0], w.code) self.assertEqual(expected_errors[i][1], w.field_name) + for i, w in enumerate(about_file.warnings): + self.assertEqual(expected_warnings[i][0], w.code) + self.assertEqual(expected_warnings[i][1], w.field_name) about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/missing_mand_values.ABOUT')) - expected_errors = [(VALUE, 'name'), - (VALUE, 'version')] - self.assertEqual(2, len(about_file.errors)) + expected_errors = [(VALUE, 'name'),] + expected_warnings = [(VALUE, 'version'),] + self.assertEqual(1, len(about_file.errors)) + self.assertEqual(1, len(about_file.warnings)) for i, w in enumerate(about_file.errors): self.assertEqual(expected_errors[i][0], w.code) self.assertEqual(expected_errors[i][1], w.field_name) + for i, w in enumerate(about_file.warnings): + self.assertEqual(expected_warnings[i][0], w.code) + self.assertEqual(expected_warnings[i][1], w.field_name) def test_validate_optional_file_field_value(self): about_file = AboutFile(join(TESTDATA_DIR, 'parser_tests/about_file_ref.c.ABOUT')) diff --git a/about_code_tool/tests/test_genabout.py b/about_code_tool/tests/test_genabout.py index 9291278c..13ecb1de 100644 --- a/about_code_tool/tests/test_genabout.py +++ b/about_code_tool/tests/test_genabout.py @@ -574,7 +574,6 @@ def test_verify_files_existence_exist(self): result = gen.verify_files_existence(input_list=test_fields, project_dir=gen_location, file_in_project=False) - print(result) self.assertEqual(expected, result) self.assertFalse(gen.warnings, 'No warnings should be returned.') self.assertFalse(gen.errors, 'No errors should be returned.') diff --git a/about_code_tool/tests/testdata/parser_tests/missing_mand.ABOUT b/about_code_tool/tests/testdata/parser_tests/missing_mand.ABOUT index 7d9a52d2..867ecc64 100644 --- a/about_code_tool/tests/testdata/parser_tests/missing_mand.ABOUT +++ b/about_code_tool/tests/testdata/parser_tests/missing_mand.ABOUT @@ -1,6 +1,4 @@ download_url: http://archive.apache.org/dist/httpd/httpd-2.4.3.tar.gz date: 2012-08-21 license_spdx: Apache-2.0 -license_text_file: httpd.LICENSE -copyright: Copyright 2012 The Apache Software Foundation. -notice_file: httpd.NOTICE \ No newline at end of file +copyright: Copyright 2012 The Apache Software Foundation. \ No newline at end of file diff --git a/about_code_tool/tests/testdata/parser_tests/missing_mand_values.ABOUT b/about_code_tool/tests/testdata/parser_tests/missing_mand_values.ABOUT index 16e591ea..d2e6dc97 100644 --- a/about_code_tool/tests/testdata/parser_tests/missing_mand_values.ABOUT +++ b/about_code_tool/tests/testdata/parser_tests/missing_mand_values.ABOUT @@ -1,9 +1,6 @@ name: -about_resource: download_url: http://archive.apache.org/dist/httpd/httpd-2.4.3.tar.gz version: date: 2012-08-21 license_spdx: Apache-2.0 -license_text_file: httpd.LICENSE -copyright: Copyright 2012 The Apache Software Foundation. -notice_file: httpd.NOTICE \ No newline at end of file +copyright: Copyright 2012 The Apache Software Foundation. \ No newline at end of file From 2735d12afe54f6c7b48cbc14d9797af7859f55de Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 29 Feb 2016 12:24:32 -0800 Subject: [PATCH 74/83] Remove .Python file, added in .gitignore --- .Python | 1 - .gitignore | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 120000 .Python diff --git a/.Python b/.Python deleted file mode 120000 index 98af03e5..00000000 --- a/.Python +++ /dev/null @@ -1 +0,0 @@ -/Library/Frameworks/Python.framework/Versions/2.7/Python \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8b448969..50c831c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.py[cod] +.Python /build /bin From 69f4a204894f6ff649ac0aa19f6af63051c62830 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Mon, 28 Mar 2016 18:47:57 +0200 Subject: [PATCH 75/83] Bumped version to 2.3.1 --- about.ABOUT | 2 +- about_code_tool/help.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/about.ABOUT b/about.ABOUT index 6c9cdb51..e8d70176 100644 --- a/about.ABOUT +++ b/about.ABOUT @@ -1,7 +1,7 @@ about_resource: . name: AboutCode -version: 2.2.0 +version: 2.3.1 owner: nexB Inc. diff --git a/about_code_tool/help.py b/about_code_tool/help.py index 64b87bfa..cd6e70c7 100644 --- a/about_code_tool/help.py +++ b/about_code_tool/help.py @@ -19,7 +19,7 @@ __about_spec_version__ = '1.0' -__version__ = '2.2.1' +__version__ = '2.3.1' __copyright__ = """ Copyright (c) 2013-2016 nexB Inc. All rights reserved. From 3ce7dff6daee6adcf54f94d935e698f3b003ca1e Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 27 Jun 2016 06:30:15 +0800 Subject: [PATCH 76/83] Update the UsingAboutCodetoDocumentYourSoftwareAssets.pdf --- ...gAboutCodetoDocumentYourSoftwareAssets.pdf | Bin 282132 -> 284537 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf b/docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf index f51fe71fa0e947820c4d0bf5cf90b9d12ec2575e..f73541284f89add1e537a4e7f4778f10891c70df 100644 GIT binary patch delta 171482 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

    J;i-h^?<#2C7AnL$B-(0 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�|qGKi*`DBveMTKr@Pg3$C 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Ξ8zhnyIdblKOJNV3 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 delta 169310 zcmZsCWmH_t(kK!F!QI`14>P#Cdx8_(-3c~82(E$P5-hm8hMp~jF#`*WPE}Hx6~G2Uru%V|`-}|ajmIM6{2C>?)KX042K=B_Dv7kAsq3nGyhn?cmy5XtQ~)I>4>HGp z9sn2RUnxol%Kzf{I6?o5gKGH~9RSGnKfFND|L}5h0RD>u|DO_04o*&ve+lH|0RDe) zAa2h8q2uEFw=tX?JfQ!T$IHX>4_+__2PXgo;{6Bm4~`e=%zxI7lamYT(|_amc>nDg zPT>EC4#>y#KRQ4F9su~?0zshvRRZGS0Q`#%!~+8U+ZYfJH}}8Y&jaM-`gcWmfFPd# z(t-aQV_q&G&%fQp%f-d_UqUFIn~Slvow*C8pdcl?x}&2TB@pU!N_9$h4Qp?6N~mgf zRTp!QzuFcEMES3WT~3lxPY?(I0l4@$xw(K`ynH--Ku$1_7aC4(5D*A;I1e9}@c)wh zo5FxnSQy#W&Dh25ueQs9Oh+fBB8~i)F^(oS$bZa}Gr4jQOG zxpyC(%qiI=jNOdw94%4*2s3vu`@;xIz|y7yYfy56_$b*G%^fV=te}RJfV!g(P3t2`ITcwDF-}L-8sC4k__>=^kSO&4)E1{8mmuw0!Hj8F+Ny zFp)YTIubY12Tavdfz`HS0-Bv@m?}OP%39lsKb~}T`^#1T^(nOBQvNq8Vh#?D(6Hzw zRKKB2=s-XtR5v$ugN|3coNQc_+}xaOoLtZ-0ok|`))3T5{!s|x`BMns;r)v;!5CRA zA^J5s_CIKVe*`3yzkW~p4>aH}R_H+TM*=tSFJ65_bfW(d0XR7R$mIA-JGApbwFe@q zll`NVi}x=XATB;OXwTv1_)7*G5<1R5sd)Y}Km|$jAGULG{ml&Eg6iSo`HS}j361=p zyr94JbNofi#l@8n_eM0q@(ucb>+-jmT%3Q);((e-$p!jL*7zIr|C0sy;~y@-e`N9g zv6c(!lRvWfkkS9^@4sb%`2Lo~$;FnSkNl4KKlc0;3=kCl2?i&C62$j6KQhX{Tn6I) zo1Y5+bs0MfeF7%ZtAyuQbO~{2jof~qlBYJ1^(TSWuUf!k~s|E@TsAL z)SsR$4aGnQ#lMoAl%W6gerX^jh&Op64o)2^Xu<~eEg0I={@JVR{fnV8W%EdHY*hK@fsdLpopmY6gcT*_<#9F_k}MiQbF4&h>A}B$?~fB;`Lc4~V=_ z4ZVyQ_&>#hUpBxmfj^@3FEPL`vm(zAl`o$~ge_*PE5Y&AcLdLO$>8U!M{x3wm!nwl z?at+aWilh!q?I(#v|g1^Sqe)*vd;=NtIY# z7m;0-o3JOw+AY(b-U`8)JlwStpPn}9;d@93$=3F6No@56rQ6{-;nC7p55I!^$6cR{ zQUfSQihVB&YqPLsIDz`P_i!RoYQb>-Zhf5N)MH8k1=ytknfNsB+%!)mOd=$5||$`v0Wu6Nd0XgSn90Z61X4m5`rZahQ`P*kSOH0rfK zcC94HIgqwLUVkLLC>cDk(tt2%Yw6e-s>C@raI@sQFV^wklNr8WsfHS-NgAjo`n__LY!;D=fonat zJ|xnqF(L*cH=KX_>K)Q{R;E*93^jdbyn*LuQ4dccOXtSl*zqMmoSA7>>i5jX3JD54 zdi743)I~c?`Isi@MW2Nu)kKuVDrE*gVJ$MT;JJeFPXsWSyu)s>m$|FMH0uw4;HrMw zY%q75^4n0vD*E+$BT~D>r(P+);E4W9`fJnQA!}xdYvp?_bGcpowY!n6?W^B;NLE9_ z_ESvXi#rh1(ltt_EUwYHxqho8IlUN}8tF6ipWjiyN!C$0CfJMT!2ZJS!W#1FL(FmP z3c=P6xY-q-bLVFBMk!UnyT$K>>bL}V!++;j%%8-;2k!Fh+9l5dB;S#7zZ0F~)|&7E z0q5FbTv=88z!R4(a)~7az8?Rv1O50P%v-0?_7Hc^0xuB4uSas1T8FFtjJy2a-(OKQ zrJw)g9Wqy)7KWIcjJT4c~JW7!f_qh$ihJ0Y`K=Qmoo}U7Z$QcYnrm|E%sSa2H)cKn4RAvuX$ITgu&P= zdrUiAi>PJO-^dd>E`}FxH=-7chAHz&SX0L zm~r&C8^W7Fd=oxsT}>fA|H|0^^w#%o+7$%ayS%rlBW`9T9}Cd-C<`BR%aEiI&=d%`ZnaZ%?S6SqXI#3F%Bm*i|aac(Hg`ga$=8}HSE;rKB=2NIlT_tb6Rv6#W- zej>`=?YQA1e5ih0=CHat4!GRfb5~>~SC>4`e<6qcE%V(Say=sY=$N|Zmz9B)xSIRC ztrv1^-RBdkoGtJ$w$5`uOZ?v$v!o6R(^*%1hEgwUt3+M3G?KBbe%c%JnpJ-B;bjSj zz?ChvYtCVJPTCOgB7_FTB3mB_bXO!wrGu#PX7Yw9uN&3Ny$Z;J*)wo|? zldH}!pG!S!I`7Bnl73rmir$wTQur(-GBuQU;)eeA=IoPe6;1+z8g5PWM;v2Dg^GNG zd0N{6wgwG+hb;!2uq69P*~BIX>K8wp(eNO=yX^FFbzoO`ItMx+k8hH1vmvo0<8E1+ zp)0y*V$Kc67F_D}!BDbkjrg#AFHPXE+;`MPPu@MMe|NiyU)Mt7-NNDeQ_knPF`KC7 z^;Z_b3~xMnphQqZ(zEnQo4NB0o`;0Yg!h$0mJUL?n76Dx#V=yk_I8&|9 zl(l>7RS?(*#_{=48AdOQG=yzpp56Nuc=!Vi-29}#Y$0{bhxFPED3Q@O<`P;icilWp zOTG*K5XGL$;!(fJ|COCSpZp@leI2;~dccbSgolF*_zq)enkJa8UF&Gt#x zO!U?T8^65K3lQ2}++`q;_;j;GEKpWHxRo8f++nXSC@}D4B=ne|iar_qJ336^;A$uh zwXw)uc1pMrB6aYZ{I!n-bDE3x>~PeJm(1&2hUH#*-5mDX+(k@l6Y=4sIrHfRCxUO) zU~RWneN5LRap9@0h`EBAp_0f?O`am5OEX#oCzUEb&PhHHX{#=)qM;0|M)b;@bXkLb z0T(WrO>YrQfi<;7qrxKFV1I`Oi?io@4#e{1+SRm^@+wwwMi9~H?@e^IrQiDNjk<(3 z8tyczjws6ZrG>Ib2H+hfcfyaiekjLJU?;FhLEW>JOInQ!IL z?=ML=j0Li$G--uI@VD;?`X_T^><5CrOEQv`nr(n#S-Bxv}>Fz`4^EG+vX3T`j5YWKg@5#5%e>C%x?ur-Yqg z$<{DIU5CM!WRd6SBhB4H+nwYSxjImf{=l*cW_9TT#_P>_*`m5)I|4Cb;{=)4SOs4e zye$<%z9P20XZc!nzEIQFuEYy&yWV?Ggvi)?b>L-5R|lirGNR^2zch6N^ccm}Z4uBA z!NVB4ufQ(JPTKr3>G>72dHmPwG)t@wB+IR&#dOkm`mEm^Exkm7Rp*1vW{y9@5!%!5 zqH0$qA3%BB4)7IkhdbiX)JZCdeqLb~B4&*%BGeG}ntM zS7t*`Gsqh(^Hhy>Zq5TW)5xPqq`8Sh!cq?ny!;iXCX$PKmKT89_#(Z`Yaye3mab$f zZy!z9;ST&KdmklPc+n*Af#-)Y>1WFIAI3iIxe?Ps(e;(9N~Gb(Td5TqT}H*kn)^Tc zCRSz-<^{C9Lk&JuTG9?j4WseG0$5Q3WCdm0Et^MxXF&qr_~}sB3HW${>0B#~+-3Cd z{i$~3-*!?axkBv8J8g6iNY}gAkUL~8@Ci6{kRsCz+U(i2mG%+9p?dFdeT@l@vc@EJ zD&_AuC3R+{ML=c~))^A|b5hDy3evfc7pYC!e(2OFVJX9P^r;9~3DY-kQI4;*GTinh zb1&@`{r2MA1JqB{Qr)_pu%A`BS|T`#mqn-~5ynjQGV4@ZN)O#;b~cy&$1 zBXaGVC#B#io45JEktl6tmw4&n);hBB0>$pvwBkpywUMcjVRDG;92RWj@78^wmMqcH zl+;IiG%E#D4|1gXb#$|th%uOLW7=TRwR=GLj~)aP5n*1&jFXcdyTCE`vpiWe5%)hr zgVkP$O#vNw&s=>bzA{g?Nbz1$PqtC2cQN+~I)Bj8;38kCr#JO0YA>c=827=$>#H5q zr=l3~RLH0hi?D9=VM{Ce?H3e~FRC-o8V=}@e9akFsy*NnHUVr`JflUJ4@m%4BJ#Y1 z6ncIaVIc(e7M3eyDXf>qU%{Nh2Ia(O2h&p|ysAuy1Pi~70z#2mhkJ%p8-|iDm0xfT z8W5%dN7q5nB+V+q7^lo*a{Cd?Hp6T1-a8YA`es!r=fJyqh%2zVY$S2bv8+4W(IQja z_ZtM8jKTO4Tp$n_pO|797o|;^Z@s{Kh@!rtX{BK6N{l{i(J$2rh%K{&mn76xR^)Kj zYA{z0Xnn#WI(DtbSbI-|j!i<%KuI*cHZgDoR>Pk@hL{{pAJ)avQ5DQudA>kYCHLs1 z9dMX+9f-g0WnpgDhjW0mC+N&wjIb22U$U&<=C^t@cc{#_TVmnpu=V#@5qXVslwF*l z;-%%(N=3>>gXpmol_28V9=?a^`do4`FnX8LEZrG2HxZP5gGm|+APE9vS;hg(gvEI9 zRK}6ev&u~zf~#LO#sF8~Y{VSl?mAn6X07EA!C?XQPm;J`*2a;sYpoZzwa3GzS>oyo z1fOE64~KtX%MOAMpG7$74RP-1hZupJEs|?-tGkf)DNMqvpmt1M?tRWWX$vfp^$D|K zz$W*F!l>+u;ExT=%^LIabcClZaxk^6vW3|4(->sSSTFw=3_x*t4Kofbu9c%K7Hyoy zZ21l${I-a+;Z4A9OF*3@Rndi7#hZh_n!2Fkk{KOB0Pt!KUP5rX%GhCHOGaMZcmK7n z@vRqsAmI?xx2!&j@fL#8IlD)y?x68X))#=IJjyqRLOp3Qa`Wj#OE!4m8q7>9u6c2s&kDjf>;d@Kgvj);gxg6YIpQzR)F9wT^KejYUxq;Se4tb|-F zEW!T171+~)V?Xp}3STZO&I`Vtc}%3VM3*dTf>Tk&o)QF0JSuvZVuWPHf)2(-DMDsz z7Jh}$*0hwSx||NiC(N4uP;m3aF>_;hliO;(i4Nu>fojOlCT6W3@nxR)&(X=eG;D0< zdQpq-cqoGUTZTafW0)-_nr?{7pvRi1@2!>-pesLe8UnnxOzsI`?<$$xLzX;=!ySgT z_>EfN3xYMW6PnRX&0}-qi^Qa<)Ww(YKg%^nHQI#z;0qG${Y)t- zxH0Tk(Qok5PHCeUesq!Z!9nqj5%v8yT=;}QoC(ANuTMP~2d8X1M2J z%wn}lyE1x#Y87+|C!pq^bsn=h+!?(zj}(!zKSBh+=WLRjn8y&{dzTEoN!`fkLsy(k zRZsKuxzjoU{)D8E{3`y`I?x2NDeFB|v-!5{4yNO2SkPcIj+&JTMWNd34Ym*9+IT+4 zQ$>BMbe5KltHuR;H;ERjYx5A^Pco(CsZs);3cDPIwKmbn@mgG^mRHqs(k1h~-xmWn zbw3q?!CSKRcLE=4pC-lbey;AFUp1MaW113+MKW(wrsXSZh7n4D-l7SX_SQRmQ<+-x zA3Ha6q=Bzzy5J4vEqhBYxZOYa3dpo!mYE(k2FlZlw#9;nTIK(X3^&NTrnEZ@> zT`swsGSbS=((v2tbPlbduIa%dJWJij!USDMu-RqkLj5aiT?&%V4>43XU!=6RIhSs% zi#DoD*E+gOBdTC78(QFtJhO`H6N8nP4U(a(azzd;5xpsSo`#E=}U$;7KD) zz>x)YgKAbKL?P!(iq0DYW(Ru9?UdS>E$+OsvVLqo5_t1|UWs5Vmx+Ahu??H>4&<># z`r`8kMtO^*KB6v{QGMS-Sf;J>g_a}L|0xOMmw0;-*rj6^mT>_Z#b^dI-&~oA4ci(#rL%0H zxp?HZbh19u28hplw#y1E=HdpFS(cE5O(EIAM9hk}R~B&WOJ?JKyZ^K2%Qp<_qD_~$ z0}j@EUyIF|dEmXT$FKEVH^w+?_mtAsz?yKyTQ2Fk=u-h28rW7d<=WOSXJ$c{@SL=^ zveh`t4T3$4TyR@#*KOHbu%;tH>z#Z$4ZOH}UWvkt&G%(BDM|3)VX=x-IZ4>7Pg`j^ zn@wG5I^mk)+7nVUB&`sY%kPPT)G1*)fGcyqIldx1Rt&ROD9Bk5OohEVe%WDQ0 zI)1kGuw^b{_$a*q{()!1skPx~n!GqRw{;VT*}5d|G>rm=+Xw~0USZ;a^VpLG6j z9*^eFDYXPpsNMDlR@D)B+zD-RdwrPOGQ|&_5L2r)5#FpC(*0C|H458Tt6Lnr^yRF_ z!u)4FVJD7WAqA76`}vAQ#t2Q#I9Sc3{j;dRR3#D0k%CE2RT8iP`)ZHNnk4-GGOf)Banf$)p6jqj`XXuSD!C`1jcfUdhOB4KY@>Vz z5LgRx#`D2^Kem|MjJ&J!@h?1`N4$HQe{eK5@6wu&!e2N4U=Gv`OBR!wPW?tLSFTXK z)RNPiM>YPdoJd!HLE&Q(HQ0eF|8+q4Z%gAkQPE%g16L^#Pmo<_oXMclye`;i%b(L! zxzG(TsiC?{qWkV%QR#PW9BuAmNE5u_04Zh@#qP%k3u_d*4rV!>@bq8Pmn8A#9Ng15F}`vs&WMRr4V9@(O`o37|u`(U^kgL)Gmcmby$i}oIB zLJvtbz+_GP2LAsc2=bs9MOv-VW|r2FIeC7`#KIm)G5tNQ)4pk~^WQ_%aV? zw4q;vSj6oH6tZ^qKvhS$dL3mQ-<__Ip5?CJrV874w%6ZhWFScu2YHtK@I!_-9Cy0J zo_bj#1NYkwrgs{tgm7D{wMv31gq5j4$R~|-Y8m^@ayK}hvhEuWJ+z$JWee`2wr~K@ z^HJqtesWW&2T}UqPd<{Fzvz9C^09Y{mR}#zKX$^wx2ju?VfO*&xT1GR^=TrZIBvu1F(pX9ty1IFVXGV0&)ec4U-?{fekkIx7R8AVpi^Xn+CoC<5k}%!IRX>qO_~^i6i6!H*%vj1=p_|>^nEk zX{Q?AW$oQSx5Y{gUdJ_KsRe?+G7AMGMc@+(nI*yT{IudV)J0U?QGA7t#160ou0^~S z^vs>=f+zW`&dd`hz5a(E=9TNHuZoZ^fl`K4rzX5*rk;V4Xs9=q3mG6 zARoFb8R+0JLOQd^Lq@XpI0!-Lvl*4YmK8)fQ}Qw0WE;sPkQIk;NS zinhGKZgky%LM^HfPF1vR68_}$tATkQc-Rt@?JG0t%k-HjIM0T4YjlRCMm2I`&|w6U zyOM_!PHb{Drhs3;itVbFkvM9%2k5nUo8rP$*neSen;V-v|51 zMcIWUlab|JFN1K%QXelhD|4f3m~C4aGEJ|l&mu$?S;swVbGgrJNCk;Hr{IVI{OU}I z_IG`&kDoYZEEQXsNH%8Ar=)atq|u^cEgI{=67Ie`s^rs%kb>Wb@viFMxK)op%T{%c zQ`-D%Y~E?>&Ub|CHfh}wE1yu+Zp5|4@X1_$NbUZmc@TWHhVg^)Z{0cc`+YGD6Ek z%o$s(9P$hz-n{&Hj8t_kx(U#nJVOuvg}I!jBM1_GEHE=)#FHKyGcf_M7Ohr~_X90R zk@Hl#c`!~T@iB~9_H!K*@u^+I{NdPQAc09Yhtc+&zH#|UmTe}T0@LTH;4ALc%xRlR zm0jhj#%Mg0@yvxSI(+)io(np{YXUdlf}(RRP@Y0JBtjz0eMo*jPXWt8rAi`~ilvLo zUTis1Q5yAz-I21bD=;l$!ofF-CUtv$SUDy-uXm{}$RYv+S+i4;gtK}3Zb38*9v;lU z8wsd8hLs~7V2ot;L)t>jzyvJfT(@rWnUOWHZOy<|9@u4EuuB4ldvh3531*)!te0yT zIgPKF_>gY&8N!>&VvjxoT4CtQG+!oSiwtoOOJUhLj{N9M0R0z@+{b>g z<*5+oxRfLmqQrO~)cIlu>;(sJy;G+VxVc67F&w<4si@2OljP z8fI=zQIb~c9T8cX`FLdBL*f0Ah-wFh4hKkyQ~%BHHOxSGeabZv3~gu}ip(oC1CyLd z+5Q53;VG~(IWc*3;~5@WH~|`uM0>6iK3Yot=v3ruMb$Qb`WrIzaFI*o(BRF6AeQfK zka+3kN7+aSoIJyrgXHW3Q_+N-JK#Bb*FPe~Y?TVB-b5*^8*)tjj>e9LhaV*^ zXZWWkXr~rQsf-})w&5ejAUI!^vU%+`4y7&ZYdyH1-coWHq~sO5Wk}+#8+aam1*4^M zpXtazv(!^@Qm85Qo4&atd%@4cFRNo;qbGO#jJHLX=5RJep6&40WJ*M4@BA|gA*rh_ zSu+P?QhSBIqPehirXp_7iQll~)tKn=J?H(-3@JQ&cD-EOJN5c zh8ZlMiz2>o&!!lT*5=zV$Tl0;Az536Ma{}bXMr3^@ixe|veyTHj?`77p>w+`cNPCt zdUr(7VoyQ9(}0H+v(d|^(XD5+^R*@a$3yH92qefw{P!;OmcW;Cqi^0ZO%jq-L1ME} zn#}Tu%kCl}O@er6B*_Vy*|j>^#fh5|vLj$7r_K!>CdDPwfT0h;8t(@IU3?h#Vd`U* zOTFrt~;1oX!UT%hS8f~MzJ)o zjR4(GnvP4fcI=tlE-NW6?;7e`1zB%?h`Uq8>#`-IItX{b&!k4mPMD=_K;p)0s?vT6msdnPXrbO6}oFD)8g zj^I1Z)~7OKAkA+oOAFSXF^R&FBlG|#>DhmKy?2;-?m-vOKLC*Eq_c+bZVy&i&6#=Z za@*sy{N53-gM(w!S^G{^Z-u2%Yg|#9|5m00jhU4#6Xz>A>kjFm!lPn7Hd*abb!bS6 zpJ`(pKVbLCuj=@k73M*FdMBkd&D#_&l!l`-)prNFlWz zHPf~PkGBa+)5R0%dCsnvw3}V)xx> zJp#f%86oXh@LPVgRDJ0d*)arzA4I^3hTx|MSI7PS_6btG=F3<#4zFg{LQJ$nUGp=xi@SQ%pix@aMb$~*2Qup+q+Ob!OS7AY*JTsERB%JIoGy}rSr zhc`G)tc~z8Y7>D;7&8AF&I_ybLG3)V%ATO7YfMMq`YzgX!KR}1VGYea7*<~}WU0Ay zw+n97M3Idt;=8?D%7dy7V;c|BOQ2lkM-DE;&StwV+9j!-=7lI#Fu!7pY*)&=MwkTQ zwc4KZDYctg)!%S)-f2)&z8dp1D~vTH2%pB&0n5M@dcUHy^7?QAf00(S;l_->?*~#| zk#oJzC2W6u=8f@Vf;GgSy+vXpWbN|^N%h8=>IqD#4djs>%kp$>P8b~8w99)X zJ-^MV0=YwdPNYgU>T-Sjtl%Q`nHG1$w*?l%j+KUbS~Yoib_7Z@g|@dbD4v_m#>37w z-Gx*wp9!5MI65Mc$s|Y}o=S_xk<`p8*%WDB5$qk%f7p`-Be``QScnmHV!>sq)+j4% zR8t+yCkC+S+VW;6_{wJ>)J2vdnukvaAKym#z_J!G){p8qB#?52wo=X9$iP6-?Kqc3 zc9;&CO{(oKABd@JP%5IVeu;aX@4x*x?2@Oq@M=7q6M;Q{mx)t6F7?`IKjZ;jjq?nq zZVulD<9pI;uxYtI0G?8WGg2SmI&~pIj>4JM>%M`P^AK1S>r_EcsA`|!S5cH0vs4US z#p~;>1}^69S5Z2}DA4J>Y6{zbQvFuqRZoPbZqk=C+0a4>pvwjA*X17lGTBm}){7AR zWlUn9=dI5ru=$2)dINUH1an_c5veSsGGRP0s*ETatmW-sH$lz9MbvQ{J=k(o68l7#Y+lMiv+bQo88A zaeTOK=rqCPjVmZfgI_P99I-5~zD0#)R&SZN(0Wz;Q_lE&il@c2v3>II6^sB%7nYJ8N7_E~s# z6;B*5xuK*9ouFhZa9Vhxhj@C^RF}T9P?i*oamPygQbxftvU2M7K{mNne62M75D7~x z47|XY^g_7Kl>MC{2^@^caAmq69LhUuL=8(ktBOQCSX8Mwiq!!`KF?lD!5a3)r-L3( zQ#cb7^M(N?-&i9|tNIX-j>t0a+F=Ll&p^z?#(ot!NpI+=-oN|(=p-haQEm!Ywpq6W zWL&T=NHRFeBk!MovymP4S1QNLFi2?9&$HWzbSwh$U`81t=mq9 z(jr3pIwvJ5fkVpx)h!}6mHC`LLMUCrt<_PZw-@zp^Ya`=bJNJ9_zISb6uvHJAsEtY z52GW4!dOEsIx|^jCKXT?`F3P97hmnjLMnUEq12eDE3v**Zdq~525s8@?xi@yhS`o_ zf~BE2ROxg#Em(Z6Qm%5I)QZ40mGR40q6aM3;>l&p?10Va8vL)kbFXvt2F&_ZeL5SY zXM*%+c9@+}lh|bGm!lzXjJDG@NWd5GjkkBj$bd?MCeChA(j6Nz0lAUcV-8fGa|?~< zT=bs2hRZ_Om)osG58SS)R)e zfzp~*t%C<`V<&PA88%VN?FrF0KNJWZj^W1ncnx88B`LbJ38#GKJ{@1a_BR52B=Ql7 zB<>C33*5E4_yl;;2s8Cs@b5mw!16YsUBxUn4RcJIbPBuX+q4M|?h@!$J}-V7q$~W& z+rW7~Q$p}k_YmYRZAy3xcL6?oBxXn2X*Tc1N1WZqnBVgsJ^xuUYY}pmYdC@`g9Lt8 z+mV>i{9_9?Nmqy&d_VA5E28GM%Jc11{)ml5sLu^ z#}`3=Rno))6+TD8z3e`Wdp<#bOu_^U;R~uA$}Q)LzQ!m)!2w z#18G_><4m2Ov&3{v$f2VRLM6QKSc}cb>>3HPvH3$?80vS>3}&8L4<6%KA^)8lfvrb zVk`D!Zes_W-x_KxOy4#09BkM^@;g_^?gjA%gSgSegr;trsHMO@CsPCX)>HP0qZY-; zwq#LB-Katr}blPc;8smLoPTgT&ad%Ed`8{COORV!MRjAFt?bR@D z8mW9&K=TCiq_C5fOnt~gbpDX;s{|q&NXBw2rvzH+q&1s*a#-veS{d9LXa*((;s|@l*nIp5C#m z^+{NKXmre5y+1(vaeiM#U`Xl;qxFBhaYP5 z(2K86UGNe(4JvFqdbuv7Rj2mCLwCko-E2TfVLmgv`BRz{&1`)FnfS%*@^Gkr7hwGt zOc}Or&%5-1;xSCYNW1k{EIojpdFZJ{sPWPWzMqb6>Ugfl18w$1jT{|8&Co7oHRel9 zBc^I|P}d&7QR=4<(>iRhwiylq&B9G&An~=U3N_dnLYBsuK@L>L`7~Y|IZQ2$PpnOz z&{QHv^sy+h8Kw)(Raj6HU3OWF;8mnA5!tqcDtxR6y&VQw6!4$#h;NDV>{m(AV7LOVPSqhbA7w!$N9w*YI~ri25gu$mts zL<#JBIGEBJ@DX4$TKM{iVKsR?*SX}DnfUX5k|Uey=k4}srT`Kn4`<14n08_S>Zj_)9){XY4SVO2{msG!MT9n?2HdKrlLH0Xc*NMiVuL_Bk47UUTMfpn?c;QStp)LiCqkwifkNE zTDiG;XrD3&7FL}4SsuR7%|A7|-tdI?DzZNG~ZSxe4pNn(eW zWEL+4#&qOyCa4}B_v6w;GAaPZC~Q;k_yUMenOgmu!u>~Uoqg}ohF%b~OB;1CZoI)_ z55cm{OG7wc0TNAn%#k6(oOLJ)(3R@V`c!xMoBRaLPzIlCD7VYM{OCAI+f$2u>ws*`6^$aBhD(ek}Y&utsWRCsn=|=Zb7vY7v@o zWazxR7u182DB)<~T!3(o6Cs5k>xqs2%X?E#mCv-_h0gCx zm2Tu4!w2jU-s0L~O~a~~!O{?(sNo>cf(03zWAAGy+xl_TC3BHW?0XS){k}?iRu7ni zT8%4Q%juCe@EC4$JTEBAB9NTza5r));iDx4zVo=J=!u_ z<2b7s(yBD%W^suG#lbn6qkBZ=N%f3cWRq3z@_mSM@KlzZT|#UiHQOwTB^YGoba~yG zYbKQIZ^3iZR!I_ouUv3%zuiET7RRgka++}UbM=-;p7Te%!Ve6(R3Q^x@Jz@lU$%s> zAOUltS%_#EL895RD2pl9zJ^nnIjY>oWVsSW5GAX-(NX$Z7Q#1Mq%L{+ zk#kshe!1%xYTPE_79@Vh?(rB~^0(@}3Phq2Snz>i-rMi4qrOh{nz zume`S3XR`+;QCW8;f;)c$5OPsp**2dJCjCJsO}#Ld>RL_Xw_0@`x$Vto>6Z3?|%Ln zCiy*u6^(UwoHJ7uCH+^%?!z=%biV~qU~{+>+0iXSVoAcM`{IM1omi0-*AP7%0?UBB zn-F}j{oKdb3ucWC;o!2>D?QRoMKgr=mDeBz4>j0CNrWyM;d8Iw6{21}K4G&*Nl}_j z6mmvxN#?=5dWoVBo8q^>faB1gN}3U!F6&ATQ($X@ddgB*tpvEgSL>427nLsD(;{Md zC4%_g!XHT=N(-c`--@L6A(%*22+6aySmzBJu{>G5#-;EMxfTkjy^gdOl+^U3rs*$Gj!RFVY=~oPbgXa{_(OP>|9Uy)Z+sbXz zFk8Zg?Dn)+D)8}|x3CY_Sk<8uIpc`4f4`+t9%nyaDEt@DG zv6TT%B_i+T*RyK^=s!Tp;lhx1Ru$F+(T{rLjqD`L_azFuHyNW!k7oBn2rF+~r!QBe zp;rs(Ddk&<*2y!dSm*6J(XzxAE;AD1BRSsbSitM=d4sRCRgU>DhwWm^U<$n^!X%2d z9@u{Rj|K5qBk=b61pj%(FI??L)g$ZFZ7Y>thnE&c)-$v!i3Bg%AUO5ZFRzJSS~N^d zdtw(WwAW&U19(&wzs5y|9yIK+cr~##16%^7vkP#FCqr%9bvK}gyW=yZT=WD)3!3{5 zT52R<9ENUwLwbsMWw_%m3W z(dVHHWPOvFoHTnar)9m_W)GvH=Cmk|rDw5jV5l1Ta*Yb(c2}azK~b|!{mm0qvusIw zC8<0qomTYu^~{ej6eb?b?TUzH7-=?xdfh3oM!6yzo^8dqW>x&Dd#zXoK^h_08LPxZ zu*>VRY7l>ZUMyF_=dAdldgfAY+Hwy3qlXTdi?#I}mli z7&Udhx0Vf&q~p%~RsX|AU!R7s|VD`Fpghy1cX7;Hvl4NDUv1y}asPKi>s z5jXHAJ_n!Jx~E7qgxyz4hw@!V#`D(-QBo`fj=Uei|Gi36uMl>(lj z>}T0M8jq<=UB?EYGiNF3bji;i9?6wJuwlpVDBfxhEB3Yo{1Zz`snNItvS`b_f(?Pu zv0J8gPMFY8aJ!6b{#7AKaz5(^T#Fm^iL)gh@GRt{e;P3XeE zLp~2fuNalK?vD_Ii#9&D;;5;1-V>%)OO?{G(5oVA&mvayt`OGGgkUL97#EGTfSc@) zYUm#LdJw7J>C?|s!{|xst+*akItL$;83mEjPrq= zhb2YOCk|}AI&Rd8t&AgxT(B&;WT*Paeu8({oXv05f4UjYvca` zs4s#QNH#7ng)MzrPpv9C6B#Mk!Jp!y`jk1d425LWuQ2zSp!I^e1$ow8yr+-S_L*$u zSLQIWWl%3hx}T<}A<*pKjnbDI*D7I~el(OeXjzb};#Y;G(M;Zbm$T*ih82dp=!Rrc zooDdTzQ(Evsd!k-Oe?Yz%qB4u?IMMxt)`JaLVeEZVPX3^sDlVN^O>oR-Lia>@GUg= zc|S8OsBum@Ccfxve^o8-c7$=w7l7iiX+GtHoFnL#sCB+|*W?%%VJdRkwXsosGeX-e zy>KSDuICv)=_LW_`Eaz1!)FbTOUGDqgxSUgI{Q}l!%O6s_H_Zj513?Fx$E1jry+%N<%a6qfh-^I3GBIJGDIj?mN=%qUl`?q=BGynirj<IX{8 zriNvBGcgj9g26IEU*Dxd-gc1lm<%Usxv-{g2{dyrZ)>^Ow}}xKik=Evya1J}heI89 z@dtZyHx8?*2?{Z{(Oq@@W`&wJ)KId};wK{rP{r9+)!Wr)gd~VE?KgmlV$Bbz=2dyO zc!NeH-(Y+MBD)RXQMk(4+^pLa+$#7i*(|7qi-QzQUBGG#9(hPtfJlX3BPvUlzOuL^ z7#Cr_MOsFkB=H1S@5V{kmZd+BVYI+5MC3X&MDGu;PJglM98|fq@-^a$C1|1$k8CP; zA%y;&5?@f<#t0w-%L)$2G}btYK!)%DNA0`uCocJF)MqJM++Vqrc!<;;tdh3(@VoSy zn8G%(0!_2{o z!YJU`I>FCM;sv_cQ(59*jH4&Z{&+b>!a=;DWuO1@pQhk4V=986>GN7A{4k1;U|dkW_3NwqMh{=m6RLwYabc(`McfLmT0 zH>TrYS`ViMKSb4YmrM4W9Mj|rE(fCje+{#wbZ@soIq#X%7=c8)IsbO$387 zChrCZ_lC^g6%sm*Vp6Y+PE>MuxWKS+w7)CML)aXUT?)V}R0`|YQZ+sj+GNIySkY%S zS6NgMnFn7pG*P_x3hi7yE&M;)-U6(u?OXUhsEB}sfOL0mHr*iIAT3BrBf05Z(%m2; zCEeXE4T5y1bVx`@NPP>>(etnS-h1EY{T?3H-g~YYW2`yGm}9QJ_+d}E3_c0=SYFYe z3}>VixY*RY0sk_2F7iM`D6n4RTouTv?p4YScnoJ|40@H0?v_7-ubrN|leX?3^Ck9g zcaQExFU4*}CAL7me=}D68Xub39`FJAiA;W{=!q-h0wb!{JaSy!7c=Ynb{etIHNL2i zIz)#Q^5z(~Cd*u6t+$Ozkmo686i6&r9&z}rZ|OM>!}O+U56kQgtG=}1!P@~5n%cD5 zSW6`|_6z>uIHqe0=o=Y5=oQY7nDRb_@s2Tgq%)Zj4!AGpa4!|43>#m zjBHjocVUOVKy+`(vx`;H68$P}yw^%vYw81z1X_e*&h0Dxeva~%dBKDgE|FE|$qU<& zMCxY+Vu)tNrhaaq8j2cWHHSKh>9m$Gq?n30-sHXx?j*f zO)KoCK|IOaY92u^iD(h?!x(L|kYE0cjEZ!Rk^r$xztD}ys zGwnm5m|gEkny63@v1tcFuvpy#v`5Sh7Qk-}bX$f;n$bic4U~?JV=aP2x=$PHUms{5 zi79%En+YpzEAPVDA-b)P@QwLNEx$DTOsHoT)XF>#C9nKAX&yYoo2NfDtV}y8h_5}= z&1!2C@M=85%9=s4{~4njtLQ^Gmyuk#OVS32*U107xfZ=F9yX=1D zEdSN8^ZGfEGh!W_)J>|3=hG9_2p8$|J$&njBp+o#ZTs{+ zO2H3L{Ft7tbT9;IWEp>TA}|t1S`cq>AK>-hzo&>>Dn*3wLFSd+$cd0cbFfAh%dz=W zU*CQ5?J6wTAMCX@wf1k5_sM#X(qX}GT%=VY>yus|0Bh>y)~(~zu!tjUK*Y_A{jF4xSAPypCwkz^x+WXbMN+lLyli zqjGD(2d^yOI@8>nyvi$NC01j9$5pZZWoXE{Bvk2MplP@`rz%lu%RpkI?54y&hDx@ zyoWcI@qN1+vbNU#w2z9TeVzuJ+qqrmyZU>UfcX$~^nnz*AA(gEHm0IEPPZvHyIO%J z_>(+;oQytf+kAMXo7ni>8&OEG>;R4I>n-)|l^#$s>sbBoq>wwT!!J^Zh&;$DvVmC{ zSc0S$VNwubBqs`mu&rAgSVD-~bjF8i4Ko zf$nmLfBD%z00LtE`vD*vTp$MKe>=z>iQ=~s2KL4hHr5WL%)&5p14||m8%ra3RZ?aE zq|+FJ`Wsj~+?@u2C?I45Y^Qt&Y!bINv@tTbHYH`2HZrz$Fn4fek^;4KeC6;HTXU!7 z9l^;)&DtESXiUlhLVNCj7k{e%bGU!d`HqJ1Z{h%d%5x{mze~b#2WR2ZS;G66YVJku-30 zFt9TJkCOb!82P`EFd{?RP&X8zx%=wB>GR9Z~M)!xC_O4{1Q<|lti5oTlz zyE7BoUuHrFLYa(B%|ZN*D=Doo2sAPVOH>?fZ7q$hKtlpY5flWSNm@)5u#uD&lQ*#a z+r&V03TTLT#sD+7b+Cbfm>RG?XjQ-M4s3T<?gQ!otZ7!dt*rzpCC@F_e^>jST{Ya&d!| z{;b3GS5G=1)CTMbgamOycz9S@NjW(0hWxA6pN)T?(*diIf&=^>n3D&r%*g@;h2jB= zfnNgsUG%Gj?Uw+*PyK%LOVVGjzkB~xz|GAA>IG#5uL3s(qJCi3nU;iv5G&at~6$Ak&i^;5BF zyi=DmPz;jknXcnUUq&=jX`1a%&U8$_Hy~FNH$Qz+Q0dIDKsez51R%sT^S~=4Auo7v z=zOs*KShv$rfy`Fp$VSjpP=?wMjhYF*!%S$L9o1csb$>Tq_`dT<&MJv=crbSPC1 z^Mfg&LR07E+WLw%u3N)4`yRKc)t4K#>Avog^Q(JoBOl=ZZB_ai4*v`HybGW|JrnqU z=9>Ql&-}$)`?Vr~5&-`L*SzzQUzQ5G>7B>2@IWCT7m)O~(f@w)kClHH{%ZZ}73>9c z^*c8M{&H|u5IgwyD0lA8^|!}@jKQDY|CjUM3Gmxve|yR=v;XDUzs7?8UH7*m{2eTS ze~A{q`-T1v5xLe^l{Gtzj(x4 zIyqul4TeZYRXq2u=-1Of*jb21A1Qr6So8{(e`y~5$F=1x5dmMxj;B>aa2JX7bDDQA z=J59P2}=~<_&T!LqNC)TEwmmj71&r}xgVMn(`>ySLsd#;!v@?Axa$)I;@!A`4tuOt zK9mwRoYNDX6#lf5$r}+glUMxoNIB`>6LkqLCr>`UiYvC*yIx=~ZQ6Kp$njDiL-RR@ z#V~YM!u$0Ad`9x6O4-$x;uG(Y+baU)l$YPfxWg1Y*f*(|qavg#L@<&)+%r&=W1j2< z%VdatF!FpRL-nJ=khEN0psy&y4S1VWTgyvqoItzsRIMzh>7Mj+5$SDlneH%pbhEha z;-hcUIIG?wc|8t+-9{rye2J743#n23nR601WMc5_# z!~~C!)I4#r{yQDhFD?2`Wx`KWg}ANCng2b?fN2i!AF_ad%8q`9n*aYI4e)PC0Oy~n z;QuBGxHHMSA2uipgq0J7M}k3u3$#2okQK+m4btdz?y>;TiNM8>n;i@ZpfB-oLqGy2 z2LP^@Y!DDkdYAHXu(CsVprBiEa&i9I(Oq2OhJX~mpQpJvAe`KH08H?QlMU?P&kuK~ zJx&&`yF?TULf^pf1|~8b;44Vv1lMDBZU{TuPa!~u0fhj`cWgXRPSBk}=>S%cX9~jZ zARv7X%rEYW?n*e=IUwvT;Hu8X$phj1Spw?D!@+iUaag&*>KvRuMFM?`jfb6sl$8e* zofQm?+-y(?n9G293p*!-jhhpcgpCvIg5@rg`Kx#EN^x^TIJv;;lAw=5xVS-DCmRnZ zgq<5qkA62~2QL>FJ2)R)?Cjvh0!0SZ<6#5S4Uq2oZ_Zo+M|&TUnvb3Gw;gWFa@YreoRbqtzaK7Akfr=5qmT&^u15CIfe0$-A7&wryMIpUh*Kq z@A<6ul>}c(lenT_C5CruyLtk!*?Y$St;ULJ!OLc|`1p!Wp^}=|Jt9gXEQWdkiM6-^ zok6sgUbm%AjYaur$qR0(9&@SqaHliB1BzPcpYh1y1S>an^pV3KPd`v>^{L#`L(=m} z#dFK~w*JldgU<3;G0)MflI}@MhyoS-*1KOkli0$BI@v0H&%d$LQ%$8%^8=s8IsL)Z#QwK&~pj@-8=vDrtbG< z;s4~A!2doy|L=2vp9c3o%gzaYrRR5^`LC7&$8?_-TsztRIqXLXTXaGni=PSlzhw(; zlb$3SR-gmfB<8dCxocwZ@n>iU$!kk@1L#!seXnjYmqw><@@dkZwc3^4r+&xJ)6HRN z`9vaFAin`_(~7qNHrFMV4NrW^u{=74r8;+S%UNlvlP{TA8~3p2gn`dU5nxLeEcHF< zz+UBoNFmZsIDWB>k!Ge|9Ps&o?6jS-CAf!Ua6?GqE@md9cbik*wu}$n)nL!GV8}oZGt+1p_PaKE^-aJdg&lwdRJx)~1%mU`1vXa8syG%EAVs zIH6qsxH0>O&D=li7Pw=V%cv{4U*x_3z*Oh&jpzScy*b$-92`(?P;W4dbAfV!Z0EmX zHwzRLl?BSfZVFoCPbL3UoAWMW|GV0EDfWNV7zDC{Kx@wbR%1?Ze?(syR?%w+{9Mld zb)vzwgXeBy{$ZlQtNQ0{k-HiGD|h?P6AVUwp1bvgiS>?M3+l-N1-YqEHgE~!0eP<6 zTwtjGt);=;?B0>9|5?p{TH^nssvxG7^KOm#hg&@VadJ8D(m0x0Qd~Gi2=FsR{HwC8 zV4e#uu>YtmCnprb39i2XpfiXD2O+ZmSz{J(5&F~Qnf|N>u9d8RipRpj22M68>7B}k ze;YKo@cxU+zXRugRF|6_!p_C|-`g^%ZUv|=nG~E2ZbH8~oWOt0hh_Tn-p&7s5Bryl z?BETHpQzYBL9rmJ`k#YivFFzUtA4AE+heRtcvhV=WOfv*+Px*B$F6UNSsoCUU0$bu zH=i%aA}g+5C5r7ZATFj4kCCYzrMh`^(h3BhL<)}GeHCK^+@iEry*m#Cu9lW=_IiNj z9>vnf?l=9d$zKi;Zq7=98@sE1A>ii6+`$c@*VXsi5qg&KQ^QWDE9Bx6lBSdIvUOgp zU+$?3-1w_sU+Z~YE~GuG@z8pG-J^H2TI-T7_$|Tn>b!r+>ym`b?@9=`S{DK?SM^%1 zVqLGLiLYqRfRsHI$vy@tD?X{m>tpsz400E~et2n5emqpkd=q><#%1*B76U-f_vF1c z^yg_k^zIXjSK@r9`amu?ZN7W{wBTM&fTBXVH7*Szn^1m2U0cxoFe?w`3^qN3hBw<6 zm|feHuAeA?*|5)Dra6iXeAOY-4F2c&m3vEqlmk~MtWAarEP%w3Abr>2Hd)=H+;O4e zjkW!_)!f{MHp+Sp=`_L|*&;x7m8QDtNg+Ep2G#z#ln*tznYANd3jTuu(uYYtiR-+E zUKV%@jTq(;iYP4Zo5`X#Ysa=plxbyN%DGu-*sM=M- z5YwV1?UW$vY|<5$+{hNu0~b}xne$tdYeYG6h@ydn-~;LoqQ}W|#X!CY?+A`(%>hJY z*Qg=2vU@8PMX70GRA7)UJsMiPf6W*@Sa*gZ5z-d3k{d)o=I<_jJhm1d1;z7u8AKFp zpD#9~)hr63gk4(NoNLoFwiJ{pZ}w{rFPVkQ@j_!5y+cwWXFVs%g2kq3#%}2x@wQ1e zqi>Y*WHC-X*Pe={0uRWL28kKu;&)j6(Na9L4dOB~=eR9qhWnJujg+6)H*O85M{?F0 zQ>uszjojL#QHksB`YH5Z=JpTaJHW{-2+C^0RYrN?JNiavBtxFjt~B0IPAJ|x3}{sN zMAATE|59>(C$2v??E0M|Oh@iwkT!oD=jbBr@rDcw?vb^6J5Xay`sp62F?443g+66A zdGKLa;rU0}5~=lAiMi9!$5J6>`?Lu{G7pQ;M-~K8=R*YD&azYg;tPts{7%7;=Xg27}>wDyOKB$|O88bMN@k$@nM2qM>ib<|^j@%8F zv&EpBds2WbECD>THg5RZDN|sZo7aTqU>anVDOoJWd7jMSJ}%RVm;QZCi6Q!&{7Fq) z+>-2A0ihN92<>C*;d)uPZuNREXH0tXMYRCsOK%unOI_qc>)9Nr3VB{PUy0p_lgA( z_v0KrlwAado-Zepb@|9LAH_(Ab?uh(?~d@~xGx~fWnySYYvPNkI>eJ6;sobar5J#L zq})@|g(uYJ9o|Lm4W)#o%1|pA#U4R)w&;6ZAaek3>v}9TA6qu6SYc2o_A(&)=4H|K z*uA1UW1{@Cm*fnna6a%75(&LM1cuhB+sAl*Ta&#jF=X+4WgcVyExi zzW1gE?Hc%P5!sVh#1?XJ;=1yOTjpx#I1l8<8X;NLou3GEzSAcO9{Tundg%F{xJ(LV zi7YUZNNU@xGUzQA*1%SfW!BOxmz43mE4^!bKmG?zr?NnZNlahoKp&rQ#6_H76Xrm6 zn<^bM7M1XEqmX3h=vZXy)hasgh1wP=tys-~SLI6OBZM`@z6Uv|G$&7xY$?BdZ6Br0 z7h7scQ^)dx3(T@`yr7Kj-pW6?VxA(CH6R9N=W?K7z2z*is4^T!?{ln22HliuqPJA28A+xDoWOCpo3t9%~?~ zt%T#{6zcDoW$F7A>eFB38l~5*iKsdX0m81b1WHw1Ye;G$YodNZsbXej@iJ1x-Qjt} zCJt1p6a|tI0kd3DH^(%{69tofDU=5aN*Cu7NJ<$8)V^6_6gY1qOcMlGoT3kpX3CWc z9lj|zti$0IQ8HgQE1qTTsF2UCc*_O%CojZDsj@2ty(X2S6=D`7n{r;7ViKI#%^xbID~$Hw+3X_^ zBx!&d-AFM3K0>N`;(aR*sg|j3-u#zb_YS7^pxg2u=htqQw6Al6AoBYoeC=^k9^uj2 z4zLfQ#GJT9-IPxf##$1P45=HofEg+rmf745Wo?gd)c9IXk%4kSy6%U)UAiNAp98mD zm=1^wsg;9c6r03?-dPfd1?eC;(KVVK?Un`*HY{w)&ePok?R#Q?Dqwk zw(tQr^DZ44t{+b7J*UpmuF_JRXN^*nomlg)-%C?Qsf_3(_wn}{=jLk#0t3FR@bcNr z2xHMp##W2Ho#2DO&d^L*2LYZ zNl=}$#gno;cW+~S?71Y{03;h>ck|{r3&xwh&#aXRhf{QgOfV?LJ^r?(gdA{VHZt)5 zdSW`rXBvcVm_4UUReeKhuodU-WaHiyoBtsXrf=cbvAuYzW$*#*tS0uPg;2qrh_e2( zPKDHF@yh3_i`k4AHt7@FYVocl^S;#KJQvoKE-G{1y>~IPqX9Hy9e^UclC=w~z?E1m z3c;eBseQb-?DY|*Rq~;U+j$bFU?=_>4QC|QH(XdUB(ypNtLBA(lXVuOlru`CXK#r_ zo%72anJ6UJVcq=(8yS+ER{qh0cS~b2deLj<{He0JRLx(q8en8-faOsyGUt>i0V%2YBP`a z*k0R4LJ?l2p*wrT1uNuO4lQ&bY!_Sv)xFn%#)=3&NO$GuAw#HDbWR))etuTi`;3Hx z@~ja3R-Ufmt19$`0_4+LQO*L89Vj>+m-1BVX%8LMrZh~8UDEs5=7YV&A3oTh2ODT~t6Glb3L z62eo1k27*ap%+@U`i#!5--{(8GJhcni$^^hq!g!$7u8J!E;XSi(ywi{q-M0G%jEj- zN6iNBzg0SuQj!%FIkdGaA*5s4e*&{Mnm1Uxh%(A|fERlzZ9Y;5?6(rT$Gef^(^ag1+pC@n*oQ_|yRB=H7vi3~7yzAD`%EN`?evb&m=x zk9|t9J++;_1_Ji*Ixi=ehIacj?u{rKoz4T86|5Ph1E~lSc*V|-`H~O~EX7PIX^q%M zP-YrjKeG0jRN%nI*bv+k992E=T^9{|B=UaORPt4tRqh9;-nZFBJ;i=@c( zJSOC2-LAQJG&bp{Tqorwbwz*PWBMgELoBEG>6!!O^4%vw)!#Sv#f?ZRe`Jxy#LVNR2GM!Pxe|6< zp5CLeK&t4kdR!5RWV*rxWxa-{<0F$iXw+xG3}V2JuE6Z#FUN|UKoSvyZoifMp6P(JNs(ETqb6pF%h5gENCabN>h|yjcp$svPh9@$lhOh zF4+WzQq{N?LijaKDt&r1;pgV?m?MZwTjX+LimnZAAKD?omt9Je0x>NwkEX~-nl@5C zumbn92EQ#UvqhpyWtiJjy#4eCS(~yc$s#Wk#&O(sUn;irApC8Ky^ov~Bn{^CIH7Cq zY7t3;Q5tOyDr=NRuHzG!Tpl4xzZseKU>)L7lWK2SE<#2pzju#daJg7Y_}lX9Xc2r!WOl?( zW7(Ka4qo_)bn+{kW8B~z#bq&P(^Bb0R+q)zK2 zFv9b2d%uro!m1)UeehvCYj-_t=ZFk&t#eT9B2wK)r$Nn_1pT0@Pv(imSDToBhG=ysbohX$n5scKOAk!6VOcYukE<$yyPzo;No~ttfiI zj_S%{=+Ri{x9<7HxYW{f+i;YZI_(L<#7FYv~AF9r9PuHIYUImYIB{E@8 zO&@q0y`Z0C%`Lz6zmK_yd&Y-4phC#h82DxRASh|NtG8O)4zuywg{w$;Xf(m1{&7v1 z42uurGv!yDuT8m8f-&KV;-Uk_J0b?tDCPKAyDK#JJ0cmiMK3-|RlbK_tZ8#Ow0sYG z%MClX7bhZgFUJ_!l~DFq09LYEcN?W3uDWmzQ(bT&me3G#DXVoa*?!)N=EtvY=WWb2 zCEaq?)Z|g=1))0&g`{W?#+@hg^VCZ(b(uNnicv^57l#(Z`gudfdN03V%)(1FcL-Y# zgroB!qI^$-lHlO3Cz?>&?s6BBqbtv&Y~0+()QcJZQ8b5Fu*S>!2cShV$2X!IXEC^h_C^n0r%up;_t_=CKVYUExYR^SVBFqg+B_S?6P8)MtF2++(IO z&0H)ahJ&wCxs@@oJ&07Cq3JP=_I9bBekby2s>;rX-uOm_9fIxr(e@3inLjR~Z}2G^ z7$bl95Bkhgn@bnDYXfg3t=hkw>0izvFNUoS3RWzk{KzGQ!$2Tm<)Y7h$FxLsM&6}7 zomV-8#{uunu(4+^QKDqtXeP}Xn<6GsXqB5U!%4nGj$BS3{>_j5&GM0i_b_IbirI7TiRhRgZ)n-bKEjz8JTFp+dg2dEXrt7EK#qPp^@E3* z5BL{O+QJMoRoZDdTxd{v*Iv_1OQQ9@G^~%=JXNaz=q>X;@(dyKvc8+|OIV}KgqK)1 z=c1J0IIBcIi|i72%@~oI(KosxKv~`y7!k!Yj&U8lexRpZCOLgJI?Mb)+dB8{E+azu z0Hi|Rp;H^VXLA==l@98O+Z6^72u%E)lBeT7c5B4Gh-(m`_{{Z7JweQ&n4@ zHB+abLi$0Zs4jpcOe1f$;Jt}ylQwh(4td$FJ@YL z2CKkm`jn#MkLv}e+aE*`J=M>|6qjF>?JpWSkR;9*9(zZtGm3~@%@sPlm-)C;35miI_n1RpoVJw%feo$cJMfwqHgQ`Z6YlUZB4CahnbwaB0Sx@~15AD^<^#RcUw zH&b5r@x--5g^k-{es-V&)~lYfwkH3tCZT-wy0b(PqH=TY@=aQCyIwdUPLgv|(bVL@ z0kiPHAU%~q%sXtx921qO*>{=lMbQ{q0tyKzBV=o4g@$Ql&bM29k=u+`L6<8PY|{B? zrjFA^NMBuS|8N(U)cQ)9|B!3OIRe44*{UvXYuiK5zQx1u*z@xSF+`B?-g?4{D2zVV z-6!^PTq2Tfn2UvwOr_H2z8!7FQ>Wx?o{$?-fJzO`bRUh?-ucW2fg%59l*CA)?Q=mb zdF^QGB9Hxr!3=hO&E7RNzyUx7VwuM5uOcuKu=M4RcDXksxI@_h! zeMgCVyb(xrrMutHr5B9VtkGa%J}IN^whEV;f;!o%u}eCkp{%<%nU)>u*i@zup3N6_ z0DHpi(@$fsO7I7_QBTz*YJ@lJ7;E0p2hAg|XU`E*81Y`Si6KX0>yYU^99?rJ5Kf>~ zaCqYY&wK^`={mSI>_?kJ&BzF_Mez&&AcM@dL56bRQaAJn$8$O>5AWK-{^W(PEb?pV zebeZ1T2U$63DF0u_D+Z;l_=y7t?P{>MS-@&!opaF845|9M@ib%_V8ZEl*kF#lUp)* zpGHpBW;vv!gG9}c%}4Ehqp$?rh)_geM=j0ia60oG$qt3}!M)R^m#;CSdAV@Svpd%F z>+A60H7BgbuicuB)FS8Szjj$GO_zQcY?7F6TP3c-l4EJ`K}{V~N;6qP%0eWhAO;A- zSRe+fQ}3<#Gq)$OE+tam%wE1uD11+MG*1;AIz8~IxeuP-5PpOrm>1(+POSoX%Y9ul{4qmEJL}%4A%ZZcPwl2Tg7a)*Z_lTNWI18NdOa8!$i62fGafMjY7!HZ6!M?kY;X0FSia22@87-#_(F{D^Ig|ud~rBwQBiH( z`f^C?bTC)XlVy}zyAjp+X>w4HFV}1uKlh6;$GOEDcTv>zhvOa3#rSDmwOvjk=O;eC zEV;<*divS+hWhLZW=m`aSJ%(;{o{j8=IWht`px(DGOhAR{KQ0&6r6&&XFzRb!7gf_ z=$W>aGFx!jd`8dbc=^ozm{5gx)|U=8?#9Q`xEuwgk8|SJwulWn{NAh_OhCy#P@T=q zyxAeRq?PorJ=ypLnd_ z2{z~nClXJ&@#PvaL+M{Pd&2Kbs`=f?EA zbKf(;5JVQvN>ycRy&=A*_xWCg=_3ygWZ`pz(sINkCK167>B7WMk=u1Zu;dFDsEcDF zf#8t=mkCzsk#QOF8{`m;Cq>03T@Q3`+s!%z(%iZ8eUAl_$7hiJ`6#TRJ4%&3L(5h( zTPLrv1AGVf%x1HPl9|}%?{`+}ra=IMQM`+nGrrPWCtWIByUiF`dj^?_YLmE*Z(~T` z96+bGTX!iD>{+8b=MIxwSH_WTonwZerdby-=w^E>#;H!SkL<+fWR+2U)i%t-)={T zrmaeZLI&qcTI*izn@#EE_6(k>BwcH6*~axtFlug}HC4?F*q<9VyW^7FOiwFHauAW% zWB4$z4Nh@KqHh{%JB;uUuf|+zo*5?F`=A_)DLW~(kn9pBM^llg&m0AN)-){{ zu7lJaye=A?*=bufAR!!W2>ub@Og2mJ=Vy|OgU|7OdtT3XkzV{Pj)t_n;~N!X+#UBL%h@X5V@yITr;J@n zNQv93H=tCE9OmvbZ5%8>o$rb6dFB$oRIe3T-xwB+KlcHC@iRuF|_<}{a*Rn zP4gj)e~{1}8(<+?x5e7^(NRth59Pzg{hl*5tXN|0p3nFRb{hLqUlrR}La4sHt?67V z8gr(wXh-LYwsT_jVP-1Z^6SGFL+~5fIf1ygCD2dOB00wL1Ys7tejl*T3W}T#*~Qke zs-F9g^j0NL_zPD{=Y8(NOGJ^B8_N=3Iixid65UP^+Xwmu_yy$-cl)g}eZ~6Q7M@#G zP>jG}ufjgRaw!ibYkW!ey`>Q$NZ69@SKl<|{X?j~c{iAmXDQUC4 z5NS3Oq+{S}20ksJr*3Sza+7qGW&azG+~PCmy!QA%PP>Gi^PI#K_YMlSirzLi`d8$= zJEia-f^UQO;G}cG>QrzPN0hs_fgLiqjebTbu%2A}4L>2bUx3zdfBxwhw*RiES2d1A z%lbC#;iq)NuuEPMb{yFK+4-()>)6m6%SK)$W+yv)xnKky#VI6M-;1TEzHpxWgy2yY78kaPBelT%9*g z4v86sO|mQ;IH)KXPODn3FF0J%gx2cof zro#)#uBqFUqD*f8ifLp_lufQy^8g#}){SRvJr^9COpw8Y`xHbFN~>=kyB32+VaZj| zKt-U!8Y$V_+fznsg_%vM$osx=*9|~JXMLxAfD^|ir-Z`Sp$@%Gg|KSVFi|JP+jr4b zZ2~7LtHPrX&xZB%vxa8Vf0)`yd-r|N?%ebEu`0?((T(Z$eE(~2)!@g-jn8wTDu(?E z$|-_;!{r7vjWXflKX&to>oGLY<2F*3mjTnjWzWkMu{pM8rDE>+Qjy|U^83pl0~Idg zqf8$^Z968lTr|M>A%#>?yRsG)tsNFk*q-v*((a>q`KuHS9IbEpAxR&)zd#YKJf0g4 zcU|PUZeCR^@<+EFr1D3O=D0>Aw+l48%jt5D%nO*v1@&<#q8UF{v9uF1iN{WgZc72Q zmG#5qf(&T#PdX31cw=Oph=XB(4MaYT`R?trW;hwlM)wwDICVjF?_Fw{ea4*afH+rwm9?DqsDF8=5bYc> zwQrZ+51IbfC4j0eY&wVjlr5va($8M7nv|u(cvFjopsJpl1kHMP*Q@>Hf@DW8pP)Gu z)j{4fyJ`3o*d$NV>m^y9uTr5XEnPkhePmeyu*s1uVJVXJBEx&L(F-<66O+SI>fAI1 z_b~mjS85mzaPx)gTZg|E((T)D0bfE}6KyunP->5|&oQLk#89iMs8dmll%s>rr-W`@ zuCGae>%A9&L!kpzhGzOJ9|^C6fO;=R93%1>uWMXfBF3TH%y|1 zNSssbdH7;)J$Bq?F0IAV_V(yVekIqLv2*9$@bRhi5m)Nk{caCI``ciyFB7_g(l<4? zKRaYzs=77OC)1!2_;xD2!?hKfVt$qufl@ZxPm{k?Bjh>r{aCYRg(a9|^AaBjTV<}SZy6?qHmU&|5v-T$tj;JZDcs`o zGf2$quZR{R@2O4O`9{mLvxJH+Q*`W`Irck>APchUMoeA{?5n!qxeoS)AO{h$_`HbK zmQcROGqXkp z4?Ujk)0@DJ#9=aU=1-@(Jm^<=bR_-qig&Y~Bs^@+nYf~kB-}@M1ZRc!)brU;fcB+V zsp?R`jk$J6by4Q4dD^Y;iC8SeVsq|C`UmlcaXkykyL`T>o>q_EZB@eOCf{PcToWJV zTuZ(_E>iNViZ7=%qT)Imdm@-L|9M2vBrbI*F{bAg?mA;FU~z*uc~VK^LQMK_>RQH1 z{Kr_-t=YU&-g^WIc}CoXf_j5ExfU%FCQ{{j*m-#;iiCMl0J`z)u#)+xrggRjgl)}g zx@HuuNjN>TN(%1fZs4&$W4PnX!^R3M!+K^rtYYk<_DfMZO!{Z7J-yS}PoYLUK! zN~+g(jVaMZj@BEr(U=6A1nKH42`Cq_ig<$Atg9W=`CWk9`rS8Xp2P^^GpxBT1APxD2HBJ=&hPw4RYs zD^iEgOq1D6a8C~$PH;D{9oBF+Kz}tfx*># z@brmZ=U$r?cOdUzK7-20N?ToIF z1UEh|Lr8Wgwc{{sdw(K;-#A`m-1`uBfBVE+`DpnF$3^pF-VWZ|?T%(3am-W&ynoY) z4K0Y{kLu@t`Mm`hqjB@OfCn@)S1Lv(IJ^i8E|bbhpmIIIF)l0H@fEC3*G1iSp|1p> zwBmKg%|9-uvPxv$x{RqoU<*bkdk^}ni-aKjVMV9x%p6%zf@486n4@w52Vt z1q+48hc7G@QxAf2`7tj7Z%s6D+ER(0Au0PfAb={6(1ibOISObUl>cBn9^4qWBK3&XFZ$)PAp(w^HlJ zsL<+w|B6{vH2DrXj+Lq_!$C6wbiv^1b{$8VtO|IHBM@dfiA<@)SD$9(ZTK~7LlDhZ zRaWr84`mI?gQWh=m_O3XZVxT9D%e;GTFwK*q`3?oa0tH58-y%E3tp5NUXk`prZumT zIb%5o>_x?gcyICTKdYA5EPpX4BrDtEwCIgsn5c<+WE>=j+dm*8)v^jqs=uDrL%v_l zIl^Zw*TbDEUx@2c`>2Rk_{1{oXq)eLdjxm2BDs)fo0+RV%-ZAqNY0|bih9|ALp`$Q z2dd4D3~lq2$)rXc6HLEperri03)~%C2QQMglPYb$-;NIRO#DggUM-V+2hy8cEp;+nO%l;1Ndw=pN^D1npHCE zEH(uXk&(s{VEUWWuIB6A+HuzzT!&4Ns>{ic~D=s zB>3LvLYdSMY4>b(UA!~Qn9$tmJ2ul^o~`MNL<3`|%|Mb3lf=*8;hmo0t|o|vxlb$h zea~oLmnrFZ5x)!rsHOsu{9m_uX=ZF73ck&|_|p0!!-NorQ6c5 z)0+06GUGco8r&WF0-X(bj{~^{Cw%deB`a@KjOLc$k&Vu008-1z5XZP6KOF|2ZY`sZ zlF!!P@QQ^LMr>rlJ4&8%xhe{bWE3}dO?i&gh|d|q!kE?%uRbTp|^n?PtZ2cPqd*j{#^W+rbHOu5=+PzlZkLrjAV+B8e< zfA52@ICU1bUDqr)iGXJI z%}*Ibfaz2Tyo6@q`hcx%L~b~n%Bwa>&BEuzN zZog`I?Wie97vQQ@$SL2a%6q@1A8^ih&St~iCqxT9@x)s%#4MC~#}!S~ z?FC;wkmKk=8tr>TQAvV(v0Y~WV89%WyWE${`_x}sal^37P@m?QY6X>;A1ZUR(B=y- z0gu~DzI?jcugjcC7@^$=FTo4HHR_ZVLiu&({_&XtSz^%{(xaD%nc?5u5J!y!A<<90 zcmeo6k8kqvI;1uBO(_}|~E&tyceIA@Z+);y@_TJJFCo!6-`BT?AdV@%i7 zS4DMb3Da0+|{k!!C02F4L}N9J|GA4<5G zK#JSPlGEOcUh(o7B8z8l@?dosk+b|s;G<>VNvSJe8&@oar#+{pX}whjtYE9lW|)`Z z7bDcvXNlrv zt?5`4w&Ro^5WmUR{P{R=?7fZ=F)&X3V>NR2f#;RdrTIDH4bRYwX6ff`?C@Lc_@<2eFyJo`AF-YTW=)^`o-Y7>hXINXAP?{$Uqn?gxR3}OXhnY z?e@{OO}BHsx6zzzygKo_sS3?9YHw4r`ohY1H!C4u^T5nyfaHaK3u__^@ebT=NuM^e zJI^Xf>&I8biv7eBpSLZ9jy~p%AmAq1eT!H)3dWl2<1<+;_M6pF2y)k_)FWJv04O?aar7iMTOX5|3>P}C zRe47}6|^`f`ax#9lOAs0hDD};S7j$L6-n`Zcw^$8?m8;|sla*(Nis|2$44}q+gs&d z44qD%U+s=ZMJ5=2d)+Jf{w;gH=jD(^j%-W(3474-coZ|VfJS!=YQZ_ce@Vs!l^M<{ zox)Qq&Ga)HhXNJ4p1Pi4Z;zEK4OXbcy z{F+BA*;<4a%CJuwDF2;iviW207~LL*=l{poUq{8U1?}SSNq}GzAP`_k&|txb!975* z;10pvgS&L_Ai)wWSP1S8!QCxraDqc{8ytQO=e+B^_gm|Je{@gv-nFZqda7pV-E{Zn z>@v~)y_o4ye1S`eKtK9K)bs&7xv99oP3IKcJnE2-!kTD3oI@D4YJT?2a`xz9Hal?- zd6x7%gC08H1z7xT{Q9$L#*F*?%}&3wv1jx&zTi9UV28SR>;ZM`SnBY2`N~!!FVs8u zs538jGko-Ps*hfWGx_rq8?v0Ema8VMLzYJB$m*JEE(N2pZAmAkI%|oor;IT5DDP=$ zlz|zOV*!|+antzx=c^`(P>bp2QA+PnHdX1hZ90zx6d)^1!cuLNnRKfnVmJC5$I_;; zJ3V2=n{#(u&Bf$+KgIU%WL^-gf_CkElyCAE#qk?>~KOqS9P%ED*)CQ=5{chv8(%BeD|ckb z>>|inmZuf7%e&hN`%cVWyWkY2%U+d?W{!PW0|2X0i_4Qp8gG4T*}6g_OYmqrk|xEp zaCs!NpEnznuD3=qhjeQ|i5P6d43|kQSYdppf$(_gtgs#t8E#dRhfv~nmBC5?C(@sm z+KbejYN~`BrZ=Sd+b3=ZdYTnZh0qf67ilIkE^~;mJXD$obtC_}BI;C|2MHp9zcnR` z8JD}xq!YFkR~eW1PpkgcP}<`S{BOZuj_`rIE5YTXySz4 z>F(G{WL~^h)kMTR(=7EmErA23o21UKv%ijI%UTN2t;yjP*o!`{E_r`TjhOiPgQ03^259}>(A9K4IFXF-~iI3A=)r! z6-_R0&jLQa{%S&VCLq!5w3v|oAESXiRhp4wx-7FZuU|g`bISR=Bn8XgOB{7UFw$7G zoCj)FP8iT>bx=hU=D@S>a9kQ!-t+PZncW6uICvv$K?DQ!vG0gz$JN?|01V#vtcVv` zur8)ln-skDTspqumYHeFwq!^!%|TU?cbmM*5xmZlRk)xN2!KC>@yKf8m`s`aw(5QP zqG3K+h0L)0bVX%YUChB>`i7Q<%E?t?MN|_iSBD=xk12(`IZ=+)tlc&>uFz_oKg~&J zFQli9sC#y1B9ykjGkpqBv=Q#hJGOC1XPQgD|5yw5Q{3fmOXM}x!>qhM_ejb9tth}f zcF|^4;Z*<}%N*DZ5m7H&=Ww4_=1+q6)Rcx`{q9^S&_hHF9%+jYg}lNPR3iG^zo59W z690)|ya{Kg#_U;Eg+tA4sll(y6{wCGpXF;xT8^gno+NaX=sqmUK=cMA^o)0d8?0=D zh&9W)Y|ELle~Mob!s?2;rB|i1PAT&_=5zHr^+&$}1@(kS9Al)Yc}h7|nFcET5gs&Q z+}!@XJenO8Tl0zw5p?6vBKLN%#3aB*XtpU$O}hzvD-$~KQCIpG~8UAsJ3?UH?& z5QWFR^QmoYynTB6!(Ri5kH2)~#95r;vkQL^+U~B6^XA(eO_%muoH%eWz8BOvJ?SwM zRoHO*2}CQO8vKkMbLzdNTIEY~rd{RpOs{YtFmTNy8Yz@&$!+YB3~2?Pm~Y%FeRUt70pTfcye-+U>Z6*cGkY|*Wv~5AaZ8=-?W$E<>e#a_tCVI&?RGO zvBR7*$J?|bS|p@ToiwL8hlmOK_E;-ixF2tsE(1hX!IV)S_EC0Q8ikV^dt`Wvtdp`~ zUp!odNK%F)-qd}@O7;BtTEFkQP}Y}N7KIEtp%SGP9!|1eB}x~z@=_dybmOPrEcQS@ z1g9$E+rHw^SDUNZmm0Ck)i!E2TlB0In)pBTiZVn5WtTFTF0DTJ`a3qg8?Z(Q59d&x z&Ncyi)J$J^f$ zWH2yhBP+I_D)8H*!Oea;3-s@iLGwc0aq~533m$o4tWc%-v^T`4?>y=}9QtIpu2v&$ zTIX0GpJ=fkJA?1Qx#8hx(D6*E>g<)Q*9(Vr4Qx3QZit9yHHQ*v!~lk)aW`B0cWh2{|XjSDE}v3}py z;kR{S{az0eO;rigHCE%^3r5K54My4ve8K$6%!p&>;nvzt$LwHHr%|cyg5+2AfQ>DJ zOZS*zKYLpEPvRGW!EDr!rq!=q>u$m0bwSZpzs?wUEf8gYSWAL)IXpKR(Jf6S{HcWp zt^P_mh><3%Rtmpt{2K8hsf1HTh8B=Y!%0KRx`q&EZ8WcT!kaY2($)>RR>+nPU)0h4NNOqMBt zRx2Wy>ZZ*ypc|F7VvV4?dmv6rf55u7lMi08X5D$`zF(>S3s-B!~J3$#gsU``7|K5 zn;84$;8OD2zE2gw4UNT3%nQ1&o4V?Q+I#sYN%vo1p{~Osb|_HOWU!tNQ=K6~S2nAb zy*z0?i{To3)I8yQmR;fgTGRl2NG0SX*;>fORJ};;uVQ_3o8<7zA>h&9-vVBLh&yzk z=2|qQ%C5hijbr#{-?j_2*}t~hNOi>g_}jDoqfBb)p94a!e?AF%4!Sq|E{3r%=}bv# z)>z_ZGeGByssA>v@@~3O=l`iQl}8xEi)DE(wUkOIc8xiht?Kd8^owZdthK|>3(h2BwZ=i3 z;LMuo)u?6gXv8r|wwl?8BT2^L2B?)zHj7^`dnETikHtS?i-+kvCV>2(&%*!rsC)S% zIsnGQ#r}W22c#-xw~w7ixx0B^agO%Sl>7ciw7rbTv{)4EH!3*K$B$9J?8&KS#Q=la z+~uW=jn1m{QqF5xJ`*cGB)e(NcDs66mwI>CWX(6fZEvJpZaoeb?~Z1LZZ3y!4^&5~ zudciGemZqA@B5qrw}<-xFn@Qrc!!wPyS+KwUcAl8J1n-~(YalV_*$P2G&)7ncDo_3 zMiigkMrNO$3He<03z0Qzd#xq+mk8aSa&cJ;IVwL}2IZBSX5I+O>r+s?scF7i*-gtl zq+M#b4Y;)(ESan)7gI_Vn|r25U3tf3yqs1!aKRf1@1@Ey2DIH{dlSyN-nDJ0TinIK z<;gT@DlK?cs8%v!LiX^FG;^wBVx+nmD({3ecdBH(FL39nGM@ZeJ6`jC=}4#iRR*0U zN4$GmQLvpsJzmx`A6VlaR#UOLXm3;+bX=5YQr4qRorH0*c&04;{pz|=KpbpQdbSp; zd|)cw+88ST1qlCbBX)-&!9m+kdv-J}{{_DyF0W+M)bk|Zk~5tm$HHke-FRqSUzMj~ z(s5Ef)T~SwU2j;OSG%-}hj(_Ho`u4k@vm z$&BCQ`?+m$<|SsbLy1OXru;b?jKd)kA6nTH_syJa!le_9ouJ_hjXyjno$Ml;n#z4B zD`hr)wF1ExSj*T5DwjXusgBaJT$pBygVpG?8RjRInFAHYJvJey-R?|fvGF>MZC!h; z99&l3n*i`T>$2k4g44}TOnuzQwxY$%1m$Az`Y6H5dH?OsB&U!vP-pQml^tCFV{?>4 zNJPzim%_HblHbZf;A_tZxyZdIb=9)*ab{y_A6|T?O%lwL@MQRkV5_x>KdE5OF?IBD z;;^%rb&?WFx^o))M_~HI!UwtV*Nmszf)lt<>?$yBJ@o&uq4c*}`cgA~yH&#J|7C>> zt8Uw)_S$=I{bcil{>u0I;^7Ch)|Z*2yG05!$6dm%I>X!biN9-J*%CYbK5b|caChfA z{+phZio{Tf`0Nkt)usM+Wh=22Tj1U--gfu)JUaTYJ|W5_fU5R-H_tYUQ)hIzF8S~J z^`_;Y(dw-jAI`h2>_;BuTVvN~8tGN8{#-imQ%Q1MW-dnN-vCWpqes@4W3osm#$&Xn z=C*;Oq+Cm;zfax7N-Q`xB-D}Y@jkfdr2Q`yK%v5n=;vAHEi)at!T*;NTTYky;$W*Z z?t6_7`W0of&fd5Gr<1*5=cJ}>k9g$@9-+DyKPzqOGSdeCV}f1iF_^QYPNUz>K#|zk z1Kpfq-NoC-_Zb8JOIamC_UE+AO{ne|v$>BGS1CHzY_a_R!Q~%`yI;4{3!ED#M_cNA zU3|Ywkh_dla4%~eNC}&KcwaBtdOTM5-?J;h!Q$%OEErqyszP#!h4(vWAAbo|UKAM? z=i#zg8RH|ycMa0(Jd3CwYaA{4b$1F>q}$Jg&Zb}U?0q|VYQ)<;6(w`6vk1v%jt#1cxzWk&oFMZV?W@mbhjD{8 z=DKTk6$AV4X{xH??O zDV%ENiNtXWjDxGrDkmgvuWJ{HXW(WYD8Lk(U7Whhhqw{ZvBvdx8c%`t&ooO0 zQiG9<#eAPH(+vU|q%U-QCfJ)>FPQ~6BYSQO;|52#1g6!uKZm4GJ5nn^l0?UpBQBoa zegS`4h>xf$7F>pe=@AW+hJw$5W~28fe{O5c_()OBh@8oGlQu{snk7sVzq2t69*a0t z48-h87Nk-WTo4%b8xP~Yvl!af4EdE|7VedD`7M#o97=BN~j4&U@9Qv&B)CQ|~ zE5ss3GX`~#uPT)q__e>hpD^s%A!=yu0pDrKp?08?ADW5>}LFle>=D zXY*^#_T|Q~>xCEuJRn9|T4CylP5#f01>q4NY;0_R1g50ff?JH!1mhSF)Qrfm0Yk^x z8WJ9wf_>Hib&Hp%+d6x|2QX{N!iC}k5@?OjGgHH{zDO!9e3@fad+g>X$sCR! z82Jnsg}YB=3?4R#k;T&z<(OE`QtLg#OZ8AXE^S|o_q0H$aO=$ZyooDYzRgo=433!aE7GB$l z3#RS1`dH$)a(CnW(^bPR+&k3h4jXmatVS+iA< zWieNQM%2V+&lud3?F)?sxYf!b5wXA2#R`oRBMsN&*S8akHHx*qmjw2=NU%OP0TlW2YlJ0J@`kyf+T)`V-OBZ z!VeF_JHd-eo(GU5yb_XSvgUKsuieG1iloCR67D-MiPy?(?Y?$5wJI)@2LHH*|4e#K z_QwWI!hMcF!aW^T+mff8kyV-A8T!?R);StKOkZ7xqB?ISJ5fhciGnL=h4`NX` zh`Z}iV#N;p=#BsQ^}*eQ@jd=L$n-OQnE6o`6>&Tg=hQ?wv!OmC89J<;?AqUEmDE+~ zE|x|a9W4_pYNr(ko49Jw%=ibJ;wRO3b6A1#OdtB9qCXitgiKUjl=3&Dn-2L!MaOp8 zwv|y(9jA3@b(F^XhppMBIbZ86@p_HD;{1V;u?5}wNfjT;F^N*Y?|t^?ie?w3snlwZdeO#gss2iz2~A+w zP+n`vNWmjC&cb`x!o{o#cYXA9+_+Jf;ut8j1Mq z!H8%8Z;Sd{$4a*7qf@q+{w~C+^2V&Tp_SrRu&QQnTAfd&Hd>p=6Bew2SY4U&=jm9a zT|A-U>d#G-Yh^+(V#D?^;-O$6xvTq;GL4ai-cs-*w3E#M?PS%@we^QBJ7(L=KV|7?~VOQtidf^ES29L$o z^H~wipQR=>w+LUqU-hZ))s@!a5CK=Qa~U&`qT_(JFa3<@S5a zt9Zd?=_?m~nHLG8aU(A#M#4s86QmZEk9P?ODpKs9KF&aB5x3a*cmD2@lO}x6l)P2#b z)%L2ED#I4Y3Ni5-sBeHo( z%=AOO>qQ!*aHQaUstmJBDMO)^fQOLBDy?)_BdsfK13dLyjiLrzsRZERm^n%h4B;M* zn;f%!Q4&tO=c%>RJ^jyFBbiYZsg3-J>-zYnhvPV(BYjgG?W;XzRo# zDV_qJU7oXQKY=WpFGs{=c3RZoD@Z5f+J9eFR8DZx?Ip0R#?jf(&MS?Z%%&}foz5#X zhWzFJyr35c3)#%dLEQm1LQzb2uAGM|3Ib)R3CZ43zxlDWaQa)yblT)imXD)jFNeSCPuk4_^47}e)9W`J-Ob)H(RQAr%0OQe5r&LN}(SM48#q+se;ZY;?l33d~ zAN%K3#~3SuPMZc+4Qnkw6u-Y#WK`cx2SzHiFIGEKoh24syQjSxi+`m>8rRD26~8ws z*FCeUNgbX}0iRA<@eK_i^}d-j0=Q*`8kR2`GcA(r!w2f~Jn<;CsQ&3TZyME4H0hox zY1pQ!NS3-P=G0~YNVYXy3I(QyJmS1#ga{I;(X=1gRlB2eC)agw9#^6EZ#JE=eUEYP zR?zWc4{J_Je}1fct)p8u@)&F`X;+5HFd>~YF42O zf%}VO({dkERnWw=|2*}b$JmA3&0Us~rc@#vjE-pn;A<8lr^vNAAf3)e(AR9_c zlHii=k?cc2mdFN9t;*)FSMeBnkZ9?NAJiLZC-rOuWXASKO4Plzq zS(x?Y;B1~)w=Rxuj#1|s=@+-Hw)y2O=}lkh_>s60Y%hbUxdRY0U8Pkn~+Z8CEo1wjtgelUUhoOrg>CvO(|N`u`PD3IJ4+DVs- zO0QtH)Yd@__&$vZHSisZg+3_RauGy`YN7Ao>2eW4lFfo8>ta)KI5#jzio{1Sc80T?p$It@JJE}JfvR-t61GlA~@oR`3AvjbE0hOn zz#yAUsA&rp1U+NwpQ zL%Zj1~rqzBxbQrs9aKwTo6XSRU?vF;2ROv^>#bRfAsUTs>t%)W)WSjR^l zT4iYKMfW9Pr#zq~mcp%Gf6Lpezd&zz?fa0yf=`F2V6u|_Ee_R=bELxu2=``92Dbhb z0pZ1Xwk8Rp4XWdros}Qw8u0t|K_71xLQTN5gK^()fmcHf_%5pJMWqFBu#P}9{CXhW zV6_C!2fH&|*Reg6%|qTtSpKUCq988Tas}TPs}K0@OI8H?U-_+8R1GdXss?VoZUtb+ z`GP*Zz(~#|8Ybkfb@Cfe_rlx})hBygqSt}iahlDKMciE`Gmb|Da_27W;}V;1ey#&I z#xpq=i-K@H+1s|(!@Te_RIG?$d+n6gR*Rg(B{L7Z02v+QxMB5^;q$HPxZ%z0vh-F? z@L`yR-%f=RX4PA4P-!jhL026B<=R-p{{T_q@WvWt=+M5|E&@BEqUZ3Cdxe;6yOl?9 zGx$|^x6KkUS-)4?qZ{+4y)6uZ>0?=}*N2bMSCsuQnYwAyQM+gYk)tX%2Rc0lA zv*XvJl(jov74gbuZyo%Cxls`;Z+Gl;le^+fpm7;tWVu+9J@}+8JkLl3XeLrSOm@)d zbnG+0AEpad<k;(w*E80 z&`H+BYjm2wc14Er>eUKv;^5N7wL?I=SQr3S+DBV-|h%jY{)J(y*l#%mi~xW_^(- zBJ_;@6tT!(UPAIdRg-7N=o$`UNLa;EM*4PhH;(lZb8Ov5SBsL&|i zs89oJVfra=sM0e|QAw0$T}U1jfs<(%4z>o7;bt11KM|%68|2I^Pq1Cwq)I-?c$pHQ zEQ_3nCV=x`Cq{qBmja&x2}G;R=cPqy{GVx7K@hA5+P}U|!pQMi32~HI*Zs(20c1x$ zNFG&!m7yec>-D{#UgSKgl-pLHIV$GW~Q?Dew)j161M;%P3+yE4h4A zzQ}^~z#(~mDu5TF^ydTJ57A=?9)sGEj$k__uPD8^GIHLZ0-_+5gOP8bD<;q{D`@Fn z0Ets#&Hj4NqMu4Q5lIw=paxr};Ylbt{*FE*Pd|(&DWnlhl2=|!ROkqSF#UZJf9`{L zz>Ia4n!TYH|BbHnOeZ)B2xa95xq*Y54%oE`>WXV2=jqFvNOqcoL>avU_26l5=kWX@uz+!FWN6@#mh4(o31WoG5OVgF}_1xXol9qIlQFWAq=wOF59R`=jt`w0|i~ z7<=@uBUmtbZ06Y581UFZ^uD|vEXK9|TLoYxVC?aU(od-pDYX{&MPaz8f-HEkg1pLr z2V~&E_E1#lFAzjJstCP!Gn$g7bu~q-33Q>O2hT?#)#|Yqii%N6q#PgvcO; zRqMad*whq6WmRer5$E|B22SnD5lPSYGmple?+d6e4jhy}?YGUSMuBbg4wPO)tnMx> zSi~A`6@>3h61HCwO4|kwT)ch4+EcF=*YpZJ*CgZLY-aSkZfQ zeg@~2NIg1sMrmKa?T7iew0Evo-_BccB0m2@7_43DSYN-Y*u3~tOGO{@qtvG~Xm&d$e*Z87*`COI5^M;Wsf#sv1Cwia z`h}}M^5P^n-Pf1Yu0e!LH^G-P(d3eeCfE}|u6)fY!OEc0_1I0%#mzAH607klB$9&C z%nfoC*)3EY+T5zLY^R!Fek3r!kccn+aw^t9UJs*q_E~!>Zz)5%S?lOu`r|mnQ=#ND zSTo<^XBT4tEy4wsL;Hh7F2$j;eM>jOg}bqDWGHvHD9jT&BKNzdDa1u6vD~w3X6AZO z;Y^rAB&ekl%^7EiARSAc!!Flf!RM~Fc|)?-BQE1R&;)yJOz?_3@&L)ep0F2{qlL-1 z2i3Vbe7~Jk>AL;EYw%p%=onR%z-?5_x+@l&ILRJZL+Uow4rwi$&h7X_>51q z=aIi9M8PgFG|aN)2T2>|DE(DI-oEi=I)LSO5Ya+yFRGP3f74UQ#+gumiqN^{-gWD+ z!v;3s6UPS}RLouYr>zZ*Jt62y)QpT5^4jo;Uha2TvadeP$(YDOEu7HP|tPKvpcw^rvEoT40=sz6PS$kJ{Z5 zh@hOtXix$hVg0Gn#E%B)sE^x&1dt(^L}&oyB?1Q)J|FCBV8DhPbhzEwQfdH>={m=O zS)WrpY7er-fi+B7BejQJxVSK_$bV9P*yF(%Pu}Qrw_^{m!IGD{cZePk4xQs|f91iu z$GStIKLsUw9Q5?wkH9^6v6j*VOf<+#N8y&zDBl*luC#hueSmvKei~bU3I@WW00ZD3 z00W>f*4L;+@ioX``fofD8f0b5P#-E!h}15=hz{*4K|yMdOKte;+X8cOe-iZBo(7C8 z_@e>wUnrDw=9NCQo*${bjT8;SvSI{6x3GQ8N5TYyg_}U3U9=oef(}C>eINV*UdxpF zP_lKf9n}dml#K@M;^G1^_;Y}+w2&byqM)UF;Uy;?%vy%-QTw?_;70=^aa34%bf;kb&0^v(HQLj>L&`Xoc5C8vfh|(mNBjlLH6Qi|2&8gFF|87KT}+d(0&#(u%Si zM=P!iwIq#f+R5}oKNQ-Wi^?5ZOXM1*qNhk@r!nDq+^Y3|6*Ik=Ey-xvA=Az zkVo~dA{7{-7UB{TUmV67jI)&6N=&Or7*V^+YWfz+lS8sxv{yM}d3=!kG%!^R$llJI zJ{q5j_??wo^U5M|J-=3NuaL#gFnF|T!0(bXDZ|oA*t@?V(A*Z$SQNy{Gsg9vuf&1I zwy~GhSzyAUeM)-*B1yXaN zy1p1OpgCN6Q8+BGN1(Cma$~#(H1hwcwj}LG+SbHLfW@IssbNot30!tMt>kbAhKpNh zgJ_|Y%C zu${p@DH7=9>IpfPNaUW1eb~T@((ZjT45H7s$+BH(y(cNvHs)5Mr8A*`x3ofe%|a2W zxpcXB4in4pL}Gep{l;JGL`Gt(b>Z_zh2u5gzqFm*k1-9X%Tj_$W1@UZW2S0FHPF+j zplWS7$U(8-38ES5QmXtZeZ=bwg$chI((y$rH?}Dk+ zyLC1VeMwi z9G;(SBf{YLmM7rF_~5_KE#qbp8&5FGKL`wfobzxzNN zg}tkAV+#MisHb1@AeucbaAW=f?V#}BsQxH1EihQ~Ft7{6$Y`uj1W#pV7VR4A1WhgG zfnW(hM_auGq#8ltI;kK__F!=Br1YX)=@H;jbuP#Wz#mV6>8Ve21Q&E6Ix?I|YPl6A zg2yevjlGmsz}+&qqd@A90#8`_q7Dtfafd|rrn14odhYf_a6t`6ka~hx3h+cFp5mpA zB2l>kTP(#(<##4M=P{r9qCOLmfRe@_2&x1e#0O@YtElD2SQUI2Y{W1^ebf?F=R`id2vvaV;>!Kt@bK z>z8sSJ@`j7AYqka|5+W_dM(OX2et?Cs5~S!(ZufGnqc$?%K^gpP;EqKDg9Ap1z=&i zsDk7dgP7c!K+L6yeNkmsc0_QW`PzTWK?EDj>?LSDY!IXx4zV>{MFs2c6s+t^VIqf{ z?~q!sdbEXJix!i8rFh9XRwZ%Yc3b$cxzpa#2m$jsK6uIb2Q?5LF+GF4mpPjZjKh>~ zbU$r2)SMZK1x>iCf4lWtWGM7=ibwjXDNZP_=lcGGrB&+_L$4tT{MdFIpILLm-GD5-xpv4c%u;9=gr@OUvA{)gX0cb&Q;ITwKCn z&z2&R{kx&|XQF7#(u)QR%(qu&xr9V1R(qM=O15c3HFcNTFJE{Rzi5E>7N+HY@K|2O z$K-os;UfApYZ^Rr8+l2C_tqA|CVbMCNg8$%*d*a zt&c39^1O^Bo0rh!=PmPGIz^HSN?i{;!=`GTY6P{(I`?2K-Fhg*(>Og8e|q(?9`P|a zqH!Ytc<{%ZSRQ14k^zc88r{TxQ5VQ|*CSsA*bwt%J`mLF8`c>ibfTX?3|#+?O6=FI zRNwcTFYH9%{bi6DAt|CtAO>OXaQuiU>xBTXO_|2G(YGc-;9E92E9+u!42RlO5wpIx zVV{-ONi;P5p5Hn3pPi;vuqT)9pF{34NYa)7pmK$cILgH<2x&B8IDu~FkO)hXPq6)w zMYkC@`R@57owlo&5;oXuGZG;`6Yk;_ms+->)#x;RD8*skZI(yGCzyx2d(QZ!J7W07 zdf7_FNjOQG$??>olz<1}B=AkOpRvC7xCvfvEjWL(ghI(3h=p#J#u%T2%?)kMYX{BZ$xprl6CdQwm=A~B_&%_{q4p3t4@2E!DG(HcoAelV`Z3O-P^M; z^DK6@g#clFVe2*+VOtVxp!|RaQbE~(-VVXDZG&aBC&A);VXyo3p_L+^J{l;1m-~bn zkY7Wea9qm4az|YKgaaV~!k=paa;Qqr8|e7KQ$JyF775E$Kr&DOXOaHP7G}`#7$Vqf z&O`$RQS8?5;4Jb9hcVg{d>ditcxj@(LON>OcW@Tzk3ody{{n#n37ro%P%vN%5C$ia zuv`Oh2snv^Se{d~eg`L!kh&@B_U~aAws2Z#@e-eXxDyV9{^Sh+RoV1~nFrQ-2R$HS zc>DUT8nRk73}QJY3d;pA9QwcT0G)b}Lo83i^cBDhhfg@x{q%of5McxfGZ^zipA<5lzB!E&kD^c4!WLA!OJazPPjC-og@a1yjnM*`dQ zu(xjeKFbGQJ`^=KZ}~2Q-1c4RN$Yp;@+O!%0L{Oz8q9>r|8ADk{GgeAq$ja(w13e* znBoDEK6n`bT}Ju-yL}b@-_LvbzObIEQ$xq?RR0qaSp0;Ul29R*Kko}-8!WzYe|?2K z)Yk86&2T0Q(HT>`Cpy7Pvf<$>0wCvfU?&Awg7*sdD9f3U{ofIRp>sxBVLx;pqeJLB zgnWf-mIV$Eo68siy5qB#9(h5POpKhs)!*2_#U(kw6&%53ufes?Kq+1~^07jE*zzNK zvj0?A!KEMJU=Q29qJ?%a5x6$Iks)YT%l*4~pPoyIkB~qR?N(x2!y3 z|NptM_y4iT)&DFf$41Wn-O}_5Z%}*L%CqhA(3NVUa73>U}~q zUlmu?8#(1DRJ5(2Ags*eTb$lwL#=P3RyKd7ZMZka=ZvPynfmKA5zWLm7pU@gxdPXh zX?KU+cNhN6&&j%i@2>TL>qx!3Bq34`?447xI~+r%@U!Og;pXd8;P(aD-Gwc1y`nc? z0$eqZ%baB0STH(2;&%WFyy$Ntox$F+D?c!#Qj?2n=iWk#D1$2yFPO1|m>|kAPHz*QQWs{}T zG#hjvkNSb{^GhyCpoejg>JG?7Rm?3b*0InC2oO{67R0{QYrUX6E01iHk`c1BoMcBO zizFx%Mp=ybn=ECAcKVv#v<=0XsHG15!$W>R5Rlg_i ze`y?X@=c@5P(IoAOElptBIBvDvF%C*ZI$5IRY&P8rRCH7%7K$612VLBaCWc#zTtVWF69V@LXm7;);IRsTb(2 z6gAohW{Z2lWv)I&*vv_NN|BtcFxwxjO~+^9Q4Mp9VW5(!s1^E>!&B_sF3FnUCloXF zOzCINugF)f0Ud7%=0tWRzbR**4orVrefz2gaU?$M9dPlRl5y=8PI&Ut`xW2%GJC|7 zV5E+F8_jw`Dld9&PqWeZ#b;9$Z%X3*vSVduS-=N_pChB{>z-cf;!lnXo2xBp)L}xy zf1161RIlc^(i?BLHeyM6QzjFyBer%vYIzdHTvp$lWchFO_a}6K3U9ZIu6|SW+J@t` z&k23T61QRzjafvbH8~x4xf6}uqAO5nu`D@D{(ZT$3agPfL!F!Hj{+z2IV>dndb(Xy zfMBCCh1MDPs;J<-#Kn*qlZ4rv3ZxRE6X(rYc|BgYriO4SFOM9NO5H{1iOHt(LA~p? zL#S;=*k#ub7JtHK@9mX~6L|3r-mAAR3YOj^3D;fRW!YCbBkkt9CK^Yxw`1{GsVpoR zGeVERSo9_T&L+J2Yd~}#%s&t*?^(d-a*8K7#W94KlSQYPBX)oo&lqMqlzsYxFo}+>!>C zeS`O1q?&YW8w@;Qb*mQO<@+kp@>!^}z>j z#x}{Da$Rjj7lHo}UeUe@G*7|5srmoMHmlH$>*ev^EXE783-!pI^pn&GB;fAzQgcH? zY)uKwnp2Hdng6K9bur~wB7Dde3T&k~7|#$8a)zG-T)bJg4Pg+!z!gZ0@wS!Vb@2M` z@@{4`nkJ8SjI(QoD?F1YuKf_X7`h~M&`UB@mS^)TdHLCwMOGj>!Qtz-SUpzWi^zdE@Mj68< z^sbyrybZcZYW=n$sijbLOc;_EO3H(Pn$H)U(F~@OPE7NQw|$whxKfK-s9D7}Y)I)2 zSmZQq%QUqS?!2{M1fSh+bpzgQyy#-i1YaojD*DXzLwg41BTbSFXo4o$>Ms<6bN zTLNRu>~{l9Jv8DD5(u#x%3gy<0xrjXhqz-UB-JO>Y8(|GvD)4FKo+39ZXOFTT|}&( zrG$f_+{H|wv|bx}GFz1>W23=0@JG+%_h1>GR!7`79+zeE_*u?iI1nDoa4I%CpdA($ zx!T9cy!CrH<`C#B#YMRP^J6g?``K&#r zT}cY5zX#5r{@CNYl8HNl51!`CFN?^nzmMY8_P~CbEh(c2rJi~@g0~W(7%WM_QS^;! zOguM}^8=LUMEAM4jqb)C8-X0fbYfk}E7n~{J;B^26+Wjoufwf_t2>?7+t=s^jy4jp z;|pMX(&5B>FEghB4lAwaoRUJ-%1(SSrlYQwlAVSZF;bD+Oo_+ZZACfy9vZZ`yON6P z8npQo-@GRz7JV6qgC%7@Eb<<~EF+sJH@b0lmIB$eO66DDFnyCf1TH@%7|FP#!YDMV z-@9ymH=3)w=z8=lX3K?W(zio0eU)!yjM0%96%lYgnEWLPVDA17%P)`&k3ahGSGu-S zX0P6&YojAbl6~+zc^W4#n{%$vZojxjfeQ0ksX{+yKZfyA!RYI zjZpf@GJB>jDaA90no;tC<@k}KWuA_Kie6@>8?Bd1IZL^d)$UdK-571&EvG73rpIgj zNsWAL^}&Fij9?VRnqw-omgS~sV!627>?yA;G;0E@2xtaBO;Gn3_Mq+`19E4hl^C9j zMaKPIa>+OR7OeI9+ZexGu(s>K?3Nubuf3iZZ!(th9ATbRPMl34U4azGH&K?ia?7ha z{>dVP>@@~oYr?!E1#NaHE08p|N}6_|c_TG0VJoN^#E~hLMz6fuC7B#TPeY>112j4I zp-ht(Kmy%_;e<%xd;bE0g7QuE-PiH*iYMluQ>#`CKa@~hhV>I%JvW_5Ew7pnuGXCy z8tPLOEw2Xa`|7g^U`<1YRqI1)5o5|o**`n#9Tkn9RVE+b<)`?9p}yfNNRgAys>(ju z34N^?i((7m@-_8&a@%VP81f&v3S90&1;|+lAbh-n(11DYSR-K!P^0|$y1|zD^h0Dr zOF!SWsLITS$F;dioqDNQnxoUJ@y6$d8Kaz^>K2stf9-bkC>-&NlZ9hMqXI7}@iN*b zcR9uF^eQj2!VG##Pk;VVYM+dUR0)khGD>K_l~o?ohSX*diR)R<*IUN$M;3)dN4pHQ z0VNaKzurIRp#L?rSNQd^zsLT2qs_bzk$JPmjRexJordr8E2U5lK40UjgB1f8>`E2f zA0JwrVw`KW=147RF6LxEY-qu8Gbj&tIUCnj2Bq$Q65L_n1v=4LYmQZ4 z1V%@@?X#RQW%I;zDAdb~EvKRJYL7^6L;#i&;>)5cC!3O9&0gtG290~@Exx}x)Y%up z4`GSlx3`cGTMi>YO?!2?X4BXFslzdDSYBe8(qiikMHA&Ao*(5Q<`eN{+9wjr@h+4f3XoTGh04V+WOp9wf zutXA~_suujZNQKXH!|K^e3@y0B&3^aSh8Vc2rs02jGyxG$$Cf!i+8JJgYYq4h~5mS z?4SCdweK4t9Y%=6=<`5RXh`?0mH6^gk5tf`kUVI=9khSYg%_gEJ{#>Oc8gjOt0F`$ zlRbT@ZwFBMSfGmk3*OM~{|7D*h(fs5FF@rJ&>`br(|?B=#ifBUkwQb%kBuaj@h!-ZuZ*;z(QcnK zUmgBZ(*k$v_q%YtdnqZ}&3uRn+;y=;yUk66cZg#D!VL+|KE(~`_8yevXJ3hz54Cg8tnIJsx67Z)g#M*YTo26T z1DRGH63d^{g}~$|(`K@=a^nht+kHtrSh=sjhb-KqEaas;Oi(qWBCYrv-m!8Dg7ROd z#f_Xc6JI`b0g25b0igdDl99GNmF|eO#PS5YS5!0wCEKOF1>=83d|zn~1uPAc^-#Ot zFYG-ZdJ{@s9pc@pQr$kirNI6FxO&T|IKH5L@D~9RAQ0T$-Q5BNcNu(;!QEXZcyM$v;O_43uEDeO{@>kmcK1WqwW>O|&*{E>yXrnwBo@a#N+CNfLu)U@z9=)1l{135 zk8mHwVUI@$>=g-x-5qj2fv*s(^ON|soI!2YTqXF&W`N2)E!65T-DKD8k-Lv2aDhkj z)nv{KoeY(bxrH}x0qG~Quex63>QG>$@1jp|{=5T@d|R-xr2EuFtjikPO)YOuJFQv1T*%8kBL( z90hhE9JI2V8FCeI|9ukX(lhI7HimK>RD^_5r7`xT(c@r{DKOpJdEz9ImPREB$hd2& z4X`we7D-ByiIFEYgjKMH#%uOp8vPg;QX$05DLHJ+JCCyszxjk)99lkK3(_zf zvx1^iiB-dyQ%Dcg`DHOBCs2vX<}}wS!4Z)I`9rC`NAZOG@K%+DhB7Y5nQj~#m|;s- z^%+sebnmqpQEtD#sbLdb1#YB1%pShHhQIve!(e=Wr=U7-g_p1XGs=d+$l5gV8Ho|q zJOECAA zId>cOUquj(!v$iAui?mi=Gnt=iT6bRV*WL$pltC@uFL(t2(@+h%J$W+$N0;(D&Z^- z)@_$EVfKGfcVa`;=iH_;BD5wH@kwGA5Rjk$1fJ#ItrwcRC^(2~=eDZlMjkwV;Kf0fh8xc%{ zi%9gWXZ_He-bLiWx+mz;Ig9q&l3GJ(mmPk*d=hRtdM-*&>b&+ zzwZQIQ;*?`XH&e_EU{iEe4_KTW(t|$+4%`Su7?Y(r&tWY>Ww+ihwTt{M=p4kel+Xl zBdnb;>m!;yWo2OX=j-!FD;pok6zHokNQ@(#-<*29dh&1i*yESYG0bgm*{_dFyLLrP zlt3K>e&mC4oo=nw&yRLo!R|)<B4E$%_ycmu(H*B-pjs``Sx!%@( zkEE@ixseeh!ALfl-$;o4quO@Hh3wo6Cw}Jw8+KT&ulQUfFdYtr>@Q}?eig;?RQ@?i zVJ^LpBl@XgG>3WMhh&@yFnDJAnJWehvaduI{sICXV&*+k|2S=$0{5KFj*`u}QAG@= zIs*;!8Qt~~8#y;g4^DOpq=ofcS}`c*1^qa8k>hubsF=02-ZH{|^=~ql7e4Ot zs+8pOOFfgkl|`k{&keo+i`_-jjLMyp564)KxTp$(Wm3L28s_9@;{KaNPpDkF3y33L z(y792^0$0P++@6?1zYNHNtT@Lt{2pg=hAl^S2o|yM5``G^hgu$-(;HGcv(uxj5rMx zazrvg+ykCF&u(h)LDO+6f#$K1Wop#sxSm8j0S_AWsU}IC_OY5#exdDjcNEr^c#WAI zKGqE${S?l%e=Jz+IyeoWMEsLf2kBkjp$M)*Va*SBc@vw>V4Ck9wzI6nd<4~H-#MF4 z?-sOPfBbMxiFkDqe{v6iq zfC)>SVv^a9?BHMEJNWF*{%lwH$yz}$g4-ayBdJs0@h_O)Z=fiTD{o(<)?@PuLJ z313$C%+cc(@;gz=MuXw}TMk32FX5$bdbTjZlQ%{lVHvYQ7y;5jMTid;Ew~0Ho=pOhrNRC&8ie`@@Bva0z)tiIypqqKyyMHRsZI()qO$T9o(n|17 znjvHJEYWw^?WkP9-q2LL*mzMiRE~Gli2$ikztS`k&+B9el8t-pM@+RNApjH7^!PM+ z>+m%Od<73VGzv$G>~y)PT9OC}286T-*Iwax<-fntrlszcn1Gx@R-0{bZ7Vc`r%~17 z(`MHj&qj32)hzaenNxAxFVo-+@8-3>$*wxl?RyrhF=^c~#O9^1KEmq%>-_DM5^_!%X8BhJ`F2GSkMGPHSJc49Q~p+swlC+24l~|JaflJK z_KwOFT!l};lPI@1PAd3-<|kl^K2hcgnI2-53SNgGLQT%!e!>$AjH>YCD{N@(6~}>< zTt}zB#_f2FsANh%wAcHm1nd|040VR9`IZLvsKnJK8~_@iktq$-RQQt*i6p0-I=Crz(3# zuIf*#ogkZ$a2AV9xUkDtw9T&D2W-6fmh9xmjAM@WY7(y$vQP@X_+nyVH`^Xcfu6aWx&WRFEIgimc`2XS3-nn-SwPp19{(l-bOIoQ1md1E#R5399MzDzzUF0^c`UULn z93r!LewsYus5226*ko=vn`_^&lz9p01X?bW$v#|1B|F9~9?^xIie1gj%YEqQKy|Q` zg15&woa1sP8t6zte~23ui}WelkBl+$l5Ga>8aJ~nJSC)(ENgz#{Do|OFz1sDs3v_Y zT?^s!q%5j8Wd1p7o}AIGE2P(thfGYhJ94kb6h7#iO!|$v`SYd{z2oW7t8vLgdu!kx+P`XnDu%k=!Rz+uo7G2TgcD)$sq68d8S{JiV8p zF~;xPx(9Gx3lMTWIQ~z^v;x2{V2r#DthZKLy&PS)&#{9Q?{E|&fshX-8p7C-?Qne& zTJJ3ma^_l%7gZ~@EF8!am} zPX`GuM+XT;UsP`LmkoJ%a^V~-xG8!-h$|1+sI?hcr~nZo~_1TLq@ z2CA!chlfaYJbQK?>ygo@YP6ir9J4{%v6d_Eso$5eY^p-5u~iNXs2G6;k)*6AW@+S| zUZ00V={4a^KYmH!QQ~zmn=Emi6t#;p${+_uLHaJ3{u=w2hn`Q(0p>4WC&lDBs{b5^ z+Tenxc?6d|(H`9L4M~!?b?OI%1u>v5O93hy5v!X4gGoM}b_<5-+OiNH>#NQjG9cgz zC-O%At_-nr8b@v>bzF#75TiFE;EATd!BcH+sfJSFEw~;vzCLFV@~JK8z`&a4M>`M> zg8~<9q$el{XDe#2hA^Qmok!%FbLr+?Q@AGm6S^lxPiu49t0qwOpL z;bwUEyZeY=?{4frkwlg>`Hw&pq!+Q2PiEK0PJckYt%O&}8O#WbN{{u#H@+XG4R3(5qy=6Uf7g<=!M3n;XQwxrfDf7YJ}G3nAC|F#z;*pX$*qNq_W zLYKAe@58=PQ*%$(J%7E!s|U#2)5p5@xpV$n(1C4OD{&V%QI=KPEAjeNR6Jkwy- z;76fq@lm01XTo6+llxo&hxEbe?ygK|0TEu2>^*&+ZcZq_6I+l9!h}WW=yB%7M?!9I zJ0<4xVuECVQ9ZTKCWJG2rzN_%9$F9HFJ@ignzmQKHHf&3c|bXISYs36a;A`Ummp@d zX1w^g`|QyI{LoAUsu>*{%$4GIoc-drYiX9!;|cHunS@Q$F|Th#mroD7ic<<*t3i$@ zs0`>vu@L$pf3$;BB#Tyad*q;XX6jr4AblfDp%_9StEzxK3nxQL57Ak#uOql5dbU8> z$k4GsE9A;%TB0BD7(cNYS%xG z$|y!$yd5G`aER4IKdM&LDKXOc3kNle#xOU)K!=L1bvINzw;@N94qT|f&bCCYz2eV3 z+-I0!(*5IquUv!`N{m3;_yQJ-ge^yfjL(zX^)lG$aSFAu$hPrtpKQ?s_Xhu0EWn>T zYLm=|U__j;(fy^k4I`KSmQ^~P z@>|LKEYDsfKvr?m|rDKyl z2tH-{QJ}z-TFBaZP~P<_1~W0t(A6D#^kCLa42=@o#~Ux;q0OMxa2;(McP9JFwM$5Y zrI_Ev>LPWV()N?}3#XW0?+R^ndTLz%WKdY}{liCKg4rx|m~nCIIiJ%{Hv0bL?6Xti z*7u!{S#V`IhVO3`Z~}Rr-^S|LLOZfF zy_3!M+PvxkrW_~hqGkZmXfOAvP~AI%R3EBk!}zCpr{!qBk14Ci>pF;jyI1ny+HN&1 z=?K0Ao2%N}+eY*FC^nJ&{5jR}b3m=gP^t96(lBy9lqSttx-`;8s!RIf_d%=iUR!;E zMWl~X+~zLfVqB!-^-Ck)bZUN}p0w&9rM&%g9dZWS?EtVP)W!ad!sBy^!?M zK0rqy@k>puqBbFmD>- zrp67h#2Xxbf|&dDJqeOr5n|(e4-MzHw4OSJuuYEBd0~z-(Rt;cMw>R`r^KJWq0lKr zI;>;4cjZMdb~L-;DJBrM9KPO*@k6rEFK}j3Ac?YbB&lvwDwT=&%FhW_+_XSpP-_y(ght)z7Yx(Q15b3qH*Z z8Llqi`l@0KiZWcA0WNF@vK(YLktF@gO=DGxdwaC`qZ z8=3_OmE<{1a$kxR-nf$E(?jK-ef*i{yUMN3LMy>lG&!AsMKH{_GkhoK3*juI=~=Cq z*maZuXTUiqAX$^-5m8lXUu656t!c_Gmc`2n+?0>ZDPF&{mYMg>0$2#`|B4BMg&8c% zB`g=~;w264*^sW9tva19qwYZwHD9J{7bh0k+xAoJM22kmf5le2o*JB{4DGu5TUv?@ zYyWL7CXQ4GfQv>1UQ}zB*5ee`aLW33KOXkc=1RzpCRIip8x>GpszE=000Ww(vv`y1y?`yjj*`egbX{WV_(H-sOy;27|auu)LB)sKmxUr zI`zH4UTm(yw#V{myd`gB#`2kg_Gz?_S@YiQ5GUcpt1aR41I&l6`;&CxvdhW-G9&O# zP$q<_kkhRV(tlb6RuI)N>@knkoX$*+5>EUaugI2D?Fs|7>_5w%yFt19&N4v0{& z>$Jyl8Ioix4zx|I6n;D=!mazq-_t&y@L;n>KAP8;y>*CR<9{l0aEvcwn?P1puzUBP z*LAp0x9&8O>z&4$lf1V$k&K5Jm#gkblKbl$l{A3|E^Uxxw+AT$R|tbZ49)AR;Nk-K z`2rZ>{+sBqMG<+z8Mxx_S&0#NtA_(d9&?6iopjAbIQZY8=K#-24?T`atjTTIkcFgY zCDJf#y!(%!X5b#pq^l*2kr_Aj(5n7+uZ8*UkKkef5v&z?I_%7qyaOXz#_hX{4-K&Z zHi#aRaYysau*X0AS;39(=9?^#p6hmNtA%37swYO?tXhW+SfZ$?RjxscmBrOdktG*) zY%S&c`B77M9i>!3_I{gu2^-IoY%5ps_F!N?^5`B1b0GVUFj6=BQ~6rVS!qA##v3zB z;_|XN6I5)L;>G5jYeHC;mG#A@`_CB%w2Cf>qtsleZZesy`;234VhlD$`(h*3IU<~K zwK*i*rd|mq>DcDJ|D5XGXhF>S7bdn=Co$^ZVy<TjD*0V=Nit4SJcY$vMP?biCtxCQ@h z()l4tCeIIvHb607)~ceyhw0ADnAbDKxWOa+XG7sRHVN6`Q-RmVfg>A@)LrV!_7C_v zFPki=6KY#zV#ke~ffTec<}`^;1e>wlkCe@k>O+S94DoW2hSgKGJxA_??E}(YkfveQ zz$ojDA|2FE2)nkmw~J)AT}+`&FN{9vrF z)At*B8$37R@S6Q3DWX@h4uID>JHi9vPCmzlC=N+LuPxD-+g|kv@En{gWx2cU_07Ax zxb<=0D{D2!Tz&LQ8*QRj-|bmyH{N8Ov4@|eM3ma6kURMXV#P`IQzP1=cJOq$1WCay z92*JO;#Fg#frV5P>#O$p5!q*JDKP6%qlFZ2JzoO_VN})%+TOf`K#$Q;2@&4*Szh$& zWj%CLyVkmY==U4nd~t6Nxf+)at1{O~b!NYMRAeXdyhZnqc?(drRlQ-3)tpgUbO}Dw z9qIfK>7hzgBwafIih>j&4`bMC+2^z3_W23lPsl}}>fY@VR?&c*M?Q_e!#sJgPB=i5LPDH&Bj3`ouVGf}gx%0pe$%wRm2O33{tceT)nhYE_c zh)9pa`TO67PC2G*q#J7DXmGWm{@SM^^hQHI%i3N z$qpbi>u}>@CfbGA>G(kf?Dwgvzr879F(64USfwD~lK&``M-nSHcLLA%x%Iz5L*?BlpXquOA}9n({69u zFR`npX+LOUjr5C3l#S{Ku3FR59LbO(XDbsA0mUffh`f@xZ6*OOF#Fg?H3~J*(!!9R zbw}ks{js@RyPJo-jmpT@E^34-{ADteEZ&7Ry(vau61&I0|LIQ}m7oh``N=4|oR2_n z+ME`L)FrBZ)UL4{{_jr9ZuMYGcYS{+lLTOJU`;cG73^u=n#X!6uZek(bsXN)&H+?O zbuVNiiSJE~}vQ*MSvvQ7AXw;|fJUl^8Lfwvl$sC#u06LCWVm2Lpq#I`o z1CwVrt(02(Mg5j%G-0Z9p;p+KFh%YJE;hn}q`Hr#)Kl7y?e$iueslPs<+c3S=u3pT z`dUt?u`vaot)&zl(S@v2uP)6^#?PXDV?lb1DotiKAwBSiV|m5i+k~T^imJcql+@$8jV`uhd!oPl=7JVbe+bF*o@>5Ogab z=T?Ec94u10h^by;I&F;@e#GLXAbN}!p&$5??lsu4 zJuc`49=Cxz;X?gMEDxF0S4zR64uKUVI?A2DFaM7B!%>vEKDfy}g{k;ag6H8?BBI}< zy%RQ1Ks0s#is>Jw3_aqv?ieAIf+h^L14jz=81 z(iW6SAU=}`aBlX9Cl!jI`P#%GB-5OAERzmCH&jB`i|9}Iya>9c6!mO@G1$X2t}WjE zZ!4!=Pf$i#pBX|)dxWio4(UCX37Bz!u@dVF%EW5oD8<_x2GSf${M3fzZ^l_T3Uq@t z_Pvh&&@W~(mOFKS1*$VQli?&GAwnhg12WuHT1YV%=~FQKNYpDgwQE?wi&K^SkperR*p+ooyXJdGwxl`kJPC; zu7~e@P%uHu9Iv$Zg|;$<_edOXgFQoOyR;909U(&HDatDzXBZ^bi7txp*r-Ks+!RWY zDmQUa`V-vsP48Lc(dg+cp+UX8Q5_`>fAr5KdW<(KJVVSOOY16l)w88wO1f1Swn+z( zmQfBYEn_8Vf5)>Kxioxeu50sC_E@{zz!QJ=v#^dkVjJF$cqllZW#npH;O!q;^VQp% z4+escb`~j__^OSiX)1NHRwjyTYxVQ?N2pR~6PjDaEDt(mN{EBiDXrBg=A>`1_iji z1#a-!X_Q=bdk%l#r*2aDBuY$yL{yg+fg5i-vN$z=Z8IbR%)c9PQZDLPljQvGZJFlo zeP((%bd#(FPFi{79(^<5wKW5g43mL`Col79N)NV|M^<2~OgAm=xRMLS+0G+B9F_Qk zo?E@q#zNJ*r3c5^j`DvOh## z@p~@XY+Q*nkfJ$v59CEIqGrf0XkATr=0i^s00jr8YPF=!?Wy$4@6EE(GribNpy2TD zAlYFL_X#l_W^J0Lrf#;n3-FzMLzo$L=I~6bDhSSU?fcrp6KK2|9Nw9TEmN|#IxQ^h z$3#wDN2J6J#B9@|Ptw~OzqGEb!i)Wn0c1@V>_yx1(2U+CJma2jDq!*!G@JUXZtPt^ zbqt))FX(82^75dzOFw4#@{q7XC(<=lYJJemdqEN)qiDPsFfQl=O*#8&&m@qgE#L^BHi}TfqMC+lE@!$bjH8v`%JT5BkdbbH$C#wtNg$wJy)W!~P zGmrqfw%ca6#4))2kLql2&Y~@TmgwiS5tKJ&yp3YL8e&KrYo}>gal{G=L5cMgnaSVu z$_00#+CcdyZ73;Wyz=TY?~dmig=wjwxE8&|G)P1IV3<1aH7%`|CTFPKsRv*kSU`-~lGIhd zwoIioxHf+Q%Dq&p)9v+ypLM#JuqQ-33kW zeeNwYKO10RTW#L3vie?S=Un^|K1snpUfzorIcrr||YIq%XlE%kYhpKOzih8t9Lk zZ=TF8UF&5r_$*rIRTQlb)lqPgu6Lt~nN#jz zxwWcK=UZp;ii(*&g9UU^Pcpkq<@I&JrPh5lZ&PDW!(kdi+5`a+*e&g-a(G~KCzl4? zv@-0ZX6F+2e0qd4#<(8Gcu4#3NJ&g-D1l_ZEiY2em$(B@x%A{oY0mz{fE#>UVkvA(jqJDwby0ZFJz&pg4&&%gylMBf$XAz^leF-_|gQDEjI*F3=Xld z|AGmlU0U50Qg*qX8WifGxYo7e`jiJF8G{Czc;JSNMhUH+dW#KZnOL%3#@yvuxeH$< z4j56KR|xDM!SVNd#W7i1P>{1cY}MJXEwYKWURr8Nch-`uE>7JoE$?kIt3frGr+?kc z=Bgx4`^KagRe#nOTsXHC3Eb)Vwma`VM!8*T_^kk?&fmtFUfa!P!rhwgu~5UU4RaRq z{G)J{xgT>pZ2V|utj3%h`nN!tGv?;^gQ~;z_yySgLnTRQ5l4%<8om>^-ESeS@@~y? zX|yQV`|I0CmBD!%?9Z$P04$hP*>Y(6>188MU=sM84{O?oNA+P97vv|5P;|MFqsY#q zWMSI|30%E8d{A6rEL@UK`xO6TnS0082~d8R6&qJFQZizd_;`5wo$nwle!#eFcyIpa z=>}NmB3WKKi{rGcfeGDPYpqibaKM&^)$b`s?qGYfcBXxhxXoXi#`@P`{dysbF7wvI zZyhJWEdEO;g7ZW~{ZBL&P774Et z^$qHjc4YB)=TQ^ww^-wprL=K8gKfAn>O=L$oAw>$?Jw|)jK3z|9Seb5 zTI%J3OJmh z^c|zMRB|ykGSMQR-k#L*|DAHYy^8$1-|Yf#+3U!kvbaZ0>LjjJZ_#^W=i3v{_H7k%>#wSf zf1(C&=P@Mz?z|uIM(1@-MgBdm#yk$cSlorp_`P2nh`eilA^UebDe`^`LxMft(461W zc$Q}i{^MT-NDb4-*k)3OINj@w%Ba0J<>M`W$(o*{wE%&;_>Bu+BXXqAPwv1piAyu>*G{XSm zCo2x_lr)8)poRb0F?#w|3vOHzy*%3RZfq@;KCXWG-((Bi3k9gylMJeiaBw9A@?g5~Y9 z&!e)HaIg)4S|zupOh-H`6bTXI$8PP;ZR?t-FT&U^VTrE^LN!s;C0}j*B*~*V@wPtx za0Jgt7m30*PY(!NCPFEY*2F=aGZ2Y*hoL12geaE~%5C1QBNV@UYwE9unXRL!eDmnC z&QElE7#99(Et)eIaWv4lP0M}RIF{VIlB+gobNtaceT$RjS2<#Y^TBw$LBzE&4@b9u z0QB#Q->q_enVD*okmSJ5+C zjT{#2aWM>cG>gYQCz|fsB>R7~I-AYlH~c{~JHLS`O1))ag4Ln9RXErD)d)5sJE5YkXQj0 z?vgW$Nv^6=rsNjWGtJ7mt=A1bo2XeCRTD!HlMS8@%#@P(XFj5BuYKdr=ZPM zhf+xyYK=DJl~6G1lkrY%IfUU7jkfn(zvhs+_57gm{r4kouF5a|^h^hmx;bGS^;&eLr$pccj@rQRt&OCYZLIv>&aFYHtVt_oy&Skwx(7C7XsGw127^7Pm&!hwmoqxRBz!tfRv z%aSEY1CW{IQx37eIaAsL)4Rrkc87W-+|w-8;&v!gh@2KEG$o-QUA6Y6m)J+6 zq?*IaRWmlwcU*Y-wrc`sft`L_+D7bcEqZb z_&ytxd6mcAGJ;V*Q{z=L!{VXz50&?wy@biGh&zPHsfUEb^`sviqiBPhg%v3Rxn`=; z;GE(&hbb!-^t^QzJ)4(!*oS&NJ@(wR$sw|KWsRxp^JFP=#!g9To&Iw6k{G5}(spGH zC-JcX^W-*};i6y1)rAwoMIA|*BQp`XzLdmDwv5bvc?TCwh0;8Pa9k54XAo3x%L^iI zQgeIDHTT{0Z+z)PDG_EDB>yfK!q;{yrl%Fq7Dw>J#E!q5B>);6cq`sP;DKR*Ra=B9 z|84{#eI>w4RtXY_6Le4aW~>~wG>+{qf7jxOn?999ty}-pNlo;{Ky_mg8^$m}I zbN9|Q+J6~k<2Pe>&kzlc+KO!#EizrgEHEeff?!eq2 z!wx@9{Aag<#i{zh0SzjpJS)Cyip&RPM4zvKt4OdBw>5Y;mIw=Op|BH*jl?!3!HI6(*wvC~JiripeigKhgLMihpT$v*% zeSYLAhWt!Nh?co;7)ChHcg72bD&w%gE(g6VPvi;5SGKTaL%@^|=rkB@f<=F*jL-G5?j9pv467eNnHbme}_r2?ZO`g~B*Zu6oM;lJhoN(*v5$XDW z-CVdgyr}q=28&#{4x@#hw<0z2lF(VV8vy^=vM9wl1ByBZ#k96S!kEi%W&yaAVmg@3 z#+vmf`@|fB?ThQN?^JO)(ac+T^KFhwN%i&#-gP}ixbV<84Kwp`-cV-n@YA%Xz!dmx z;t8!pKsv=%jB5i$Jybbr(Px>j`B|Dnp_(F&?B)RS#myua|70pQZ;`;flG54y~xNA}`H%V;TIFb5A&nL9LniSvwYn z9|D~eLPTLMrme);apwIMxYd6b0CA+D=nRwxQ>+_gr;paU7FBaJzs zaY<&vj|ACeUBbP}priq-$@cH+v=x|2Y>2r-=>$B%H>uHEpWzCZ)ztSY@A$!QHL>mF z;|21xWVh>28#7N#Cfz!29seoP4wq7=n0|z|T$v^#F!A~_ayXYUNXUZhk&>1cyt9Ov z)j_(KvZbP=-d@gC`S{DO%Sr!9lvFzQY(rfd=#hfBug9icp-Fk&tdAc{<Cs$km7!ddtR*e%eq`vEKz%^ZQ3Mhp9=m znb(ah-w6|2XCww2wEfQj0#v2F^M>jQ@;5epWu4)EJyM-+ilr}1-TQ%lwO=%OI`JL!GXwQ zd~Lmk{aA^m(ym!84b;TtrR~w=rMAj$7>G{Y{k%r|eBHsUB8>lmvona^U&!sT z@rdabF(AA;nEm9>uo-5XI-D%#=L!OBZ(oh?i9U=GdvC&0*CydV=+y0Yu_m#aSjPcR z0_phk2{_<*PAeUvaZRj%$l;$O(|moFKN$^n zUl-{05^uFNFKTRt(UN1e>U5!%R3I5NU~m4u7}HDB{=JHe7Z!do6$Og2IWX^=ij5n! zxC5w==C8h9P9YEddU;i*oLX`E_@HG`p-N65xBdxS;Sv&ze@^I^PoIyaupD+K4LF(x z9we1IK(RPXt=DNP=o3JN|B(TV%1^k=FPfEFJAS2|;v!U@mbHyFE4FTjrwK_pvOFKl z$LwRGJ@UjDQ*uPI3fjf`h@6_N6AMllr^1%)SAOWYfA(70f}Mk;+iKz zp``2gU9$_0whxs4KEL&h9X%y|mc(v2xhBD`W9fq4{=&>;&blQaxOj`mxZ85_KCk@& z_mpsda;tx#)@+EL%3{%L2c>7;cWZd-v&5LdP{4!5sU%(VAc`K6L20G&Z(-O6Tx$)z zw7J5~Mf%3mF3C-EM?gyQG%D7PzPIj6f%#q0Hs^_3nO<6(F@XKYR;k$s)V&*03U)B{ zVgtbBXXTi=_t#VU>#|ujHcWd|J2ls9Zocq%zNnE3lB<(tQ$8M#`<-Zj19wsx&DS7s zhx#HB%w64hz;rv3fwLghulmg|r}gM-ieZhjH7!y){X|~yq{=CWgSBu*QAzXXvYx}E zp0nSj3ho!SqH$**jVH75D;88@ZlNr?ye{yk?Mb zuF|rj);pg6p8JDUy`6VAzwou<9#HL7b9lQC85OctI_wDNv#OC%jM!X=huhKJAYz@Y z__(>b4D97T@w^GO z8Rs%S3X^kj%xh{peCwYTH_<-)UM8RcOM*JTkLPJu))8<^6hO}PuyYfM0w|jq&=wEK zF$S#gzLG+{U9ao^9wRDV{A31u`zqrIax9wTSzr9=RYa4Vw;x~M#j}O3_*Q^UjG~7y zEqgOG73IKdzBTlLmuDOT^Sl(J+$c)=%`UQZZE7sa+2}wwWkJ2>`n`U2U@lWivV2?b z{`}U0)Vu-IjrZ_)q7({HiMlw6{NdQeGUb1iQdNU!fLY^?!3ggTaMw=BTqSm(D+ZLx%e01fx2`za@66-T zEXqT59E&{Qk(jL%2mx=HGO(ln;L|*uok`I&L1xz!!}^*ZKFWY&az3&ZC<&CG*2wO6 zq$MHqnyc57p`Bu$Tz9dP?Vm36*xV#YSUx+d7;N)(bII*Malc5 z6mgUpTYJ4EPuVPNLNhzz1oXQR-BRbCTSAxa@BI9ME8F~&yB}B$Sb*62%h8-1ijtX7 zSxV!r$w@gJbnKN7(*6n%wO+l{a8!>2zRXRX<^vWNx%Vy(FT4sQQ+bgW$GB!7lw*~h zDdZ{6hZn1$><|4L!&m|nss+zqYO2EZE!F0;W`AtR-gsPmwiMfLle^ec^k?dJsRZ2; zh;9qize$qvF@Y^-PJ&&R*qF2xIm--A*(+T6>?%#ZVxw|hx~7395XPOIxtIW(Sp|fC zQ?o`~FT55e%=>EP-cv)$x5tiWW2Z23)n5Kmn>ahO+g$zB2mFD5U-YLNyoam-MfUu#SDd1Zs;N7*aDoWt5e$tpJjn!8N8-Vkby#zruA z4L_~P_~|Ud6RxyGUUT2pNr4(AftRY6POEHyJ%SOlLEdkZO8ELlH!2gtwGu#~8xc$j43=?D_b$cm7y!ZqD zgcMOQw#@C^UF8V6U>983J`#jZi-@oJw4I&uQcOVYo1+qTu&e6*AeK;2ZQGkP(~yAE zD71GhD8#iAM+>$9;H8`8%}YJFP$=CYoJ30A_vSeSJhYuUe$mSbRlZrMjvc4vYwv|qfdRvwn3EtXFwXhg|* zuVvNY%#9lkI=>qk1WS^(YD2aMT|C77@)kT>|{knc_0)B4zTRHFSa($dFr(^~vzK zv)d*}5`+$~cF!Aq^mtK8rb_3$4X?H_l>;f4uMDN%{~mKiX_uq#O{ip)W6}&j`>3#p zOFk1R!^?|T6K|Xcb~E)4sBJ?FW}2M`7nMF|XH6Ja9;0Csncbzu9$jD)kmGsT`<2PsF^Z9P^@z$yfpEr zZ-xAuEnO#cxZe0%b1RqUtTc>1wxPorlKQH) z3LBh=B*HL;e8DDadwjs(TZl2Rhw2m+D zHD~Sf*|BCVV=p!BIIalB-uYC(S{kRq1Zyob<2uiOqZ(T`@r@Gn;b(xjJZbr|n*1y! zO3EKRdek05p^2}?3sUcgx0u*NZ6+Eie$^s%bK=yv*`<$%8kjhdPb$@Nx|>!T+fl8K zny9o&nMBBn3d#|)9NmhGJ?`M6VIH^ZKgm(~T_-FGn9J5TS*Q?i^=jAvL?#5_W`7p( zP2SDhv_PwOh!D zreFJ(CiP#avBYhQwp^dj1yAU7inf502Si~~TRjWG6I0<`UjRJzV2>~9)dQF%ix5qY zqbD&J3?a;t>cUpV^zvfj>G{EC#dM~th=cgKHa|sJTiL9etLKBuUQkm2i-AgJ@Dax0 z*;pU^Vizwzq{P=sJ4DW?#~U2E=U!!9&yiIWQ7&^3mf>f?vMw^23|Z^LUlvpSzl}(T zIF@GCDHX9S0Bt0vgAfozFLPXp!8r)xsSj|wdwGv=AMwO2?HK-$GNohcRM$Fd`Q407 z$mKG(lQE^^tqIgPYqj5vO;}{li^_0CG{Y@wHCh<6Czj_=q9S83`Iui8cje|!ik(L# z3Q`Z?+A?u`b}-+s*~k}_xtZFIbg!Ax*%p&?@a)>Gd`Tw(P_w;^0DU zH{=z&^I80tND=!=ToIv}WZ|8O{k7V#HS|J;gbv)8ex zOx|~fIN01H1dNkW*gfQ$2Fomdg|O=^AR0xz$4sm1FgLxeL+>GzAq?pKYE86n1#;9F z!9CMW5qTFu1_MD> zzQf&I#kvwbxVSi^<71&O0h+S%f9ZWBC@3I9?3$Xg`8Z@Eh!$L2M9jZ9*xYeZIdo1_ zRj$PB7Pph&$EDj9E77WjGMtW2REeJ*OfO)mXTd>Jt%@r*)4!gOROtFJYB zJypIq@c7opdi&#TzvT8NttMT+4!Y=rR1Sr@OzwX5@y3skv z!5n37no!xsr(6nZt)^V#&UGX^)R~U9+!OgfY?I;P;-rOvQF;lz8Z20`JF3eZKk59@ ztxxVxYBuw+XqXfBLW606_ZO$l5GA70o#QOUoecivqW(C1Z1?`(kf`11w%XbKa?Dt# z-8IKqg4mgl)CD02DD%O1w&fm;F=tb^TNe`?`9&TK(@z+&RT4X^ip6B^p>?VXyadvd z3wM^>uyU%xNV7L=>gZ3AI+^?`A!_c_T~KX_>@mFPMcB+BJ3AqNT&8A&wN`X782&y_#vm#wSB zvzsguHcL6~Fjt{r9>RVZ79hSH9M@z!xtpT1s&l(}8wqa6tFASg#KWH}PlM1?J>q~S z>9M=27~-8-0V9WC6AgtXMa+LWkPiQP%`HP(>;z!S_z8G)ok^af4>A#MvQ{Xe<0=hidP#Zya?#tvc>_k920K`*{e!wYW~MZVxuB*3`h z%7TKqYyVLGQ!wbd#fhrG4|PEZ$JUJlxnq;p$ejibIG*`{<`}U~-w4Y9#7p4iOdE95FazIKH#Tne z&e_(@MW#z0mBu>z5yMll%u><%iV9@ zfxB)X}h&Oxn2L^P`wxk6$(3gNs< zYdp|YZ~q(ooYbGwX0&!%k??sW(oSRYHBQ6#w&Dq>Rfu*+Ul| z^*tPc*jluuk|M#k>r_}ApF`_T*mw4rDD^gh)UJAZ^UrTAZ`wpFon(I+&5PtH4)J+s zPI*4NlP&}^l(HJiL-`6CUR8*WCaFFjSZs1}Uq$rU^1rO-9Ve$YrM;Ika?25FHFC`n zG9Qw^?9~8S0X;`zz*utn9#_QjkLTOS`5(_&tbF5kM9ZI^tKYVCT}=L1(Img@-ya4@ zE!ST7xQA96w(;l=Yjmu7#?Q`#i=9+LUrX%ry&4uOTl;mb`fgAR6;A+N=9g?PwH<=` z-++ZjkM&z;mk*Um_O;jAOp?~cg$rYXTwW7ePnc>UAGFgZ4`SKVngm}#2hapZ1EGDh zY(&%51{>w_txhT>@Qu_Y50twch--<`rx&tLEQU6CQL{X7?(sLrNUrYC@v&50Lw<%9HR&6Z!NM zh`m#${q6E^f3bd6^`Sw;a0)5?T6(j(CS9~L&`qqFk|r}v6}2SQNSen}f&C^7nA!WI zj14z9CNSI%-(P;dttha=u7wiBVt!^WADSVie%LmU^d*SPMArf5hVNCFmXuDKD*T;a zR=LMQKs$4pYtjgIoxi+3w1Tc>op%I(R#@xBY98Bd7rRzVBTZ}Y6&|A-ZB>{jg`)E+ z1;qmD58_w2&RGH8_@?ULyhH1hfQaEmo;|iqjg3{cI0z^3?R{yN{WOl(raACgZOjA{_fLcEAQ@LbE~;6 z{>seZp*d<4bL&GnZ7Q$ikh$e#(L>&^g)6xmzCF9pxA}7C<$^q=%4g5RH?--#`?NS% zIg5wAb{mYDZ7Aw5Y#Qu%y8sT~=PMSWEB)uq)05fR-(l|&`86LYLku;;G!`U`yh9K_ zU{^a5;XXw~_1q#2%e+5YzVw|eI#6M2$c4z~o;ni@FY#AZI(JWq z@%=i0Vs^AtjZj-_u9a6MeoX-XTANj8_{z@zkWOd3U_xJijD(fOY5_G6#&B^Hm5t-5 zgbeqyTv| zUh0!K6j!K)0|pbmQ9^(J%}~3hDqDsBQ7$BSU*g@k+8My0eTWZK`<@>rkve7KNV~VP zRa{8rtlyc>{C6QK=8+pY=y zh51$}x@jVP-tTTSH<)(%*D>*M3!r$@|8wIP`bZWuq76&ed4L*TqCAth0p@S zcfC=c{CvJuj|^VkRx0K0KbFD-Cp$0aB1+R+$_;*OWRZxvc=YIoEcvtP5x5URT-?%W zSJ-fYsxPPe(0W6Mgb@PgAH%tU+bu(9Fk0^+luNmfom6% zD;rx%F`>%M<+UrcsXxh=we7JVw@P!d_)(l&0P{lxD4jUg%=z|y_WaAq4m;9NSkIrk3brEXwM)Pj74uS4Zt4Yvq6Fokz)-Znwv=R_Fh^l7AmF~> zqw2&v(K&fintHJ%k)D*-lscK8@=s?x5Z_U8*yEfr>L;>JnWelPidSnXj{?!Q$cFCl zzB%HE%$H%0*dnn#S9K@eqpdF|mLnH@2XxfS|NI^>5QFVFah@2kH@y5*{T|Et+&LO3 zLqVn4RSSKYpE!1Q^29-@t?j*RQVeJ+vXbRhXRHVKmc)^@` zxRn!)--*ug)BobaOe(-IDPAWv^2Us9HQx~(=}wr^&F3C#JsenmFDCzbB<|;XFF_cqR|@JKj^coXyauMlF?j!q^*y(0CNbhZAFAWd+j>xPPkyA+>9 zOxrv0f=vJAr)fg>w#b0g`p3nO+(n9Z1(XHEBvVCAsyJa77?x9{ObFH{5Owy260Jih z!{-%nT_>0P1^|=n`y;_|4!vxC=AlQj!=$ zhXPJvKI!ob?C-Fwl()- zw4{?myFuIz*p$QsLzvR+gAW;g&%gFdu6q5~hig#DP-yKxg!rakSDJXyL2wsPAO?ap z6OXL9t!>*u%m(k;FIW?3coO8Cd$+I4<(>c0~MM?h!oT5!Cx+0kD51tey7Hyc{ElWn>6y;O}C`#n2DN8;~!sjeF0Td-nP|zBe zhp>th3MS|(=#>VT1PiH#ddd>m5NH%~{iFQ92>!ty9O4`xHF4XosG!4}qU6IE7%K6Z zUy)LdzVNShwWkNHaQ^eA4Qu4*JI7w{yxILo=8-RNHyoKaO_?MiKUg{z> z@wXIg0SX|Q=K}s)$^*}(Mzn&Cxrkb5O=pCF9%~-2gLpb|z9Yg5u!XK6MkY2HW_WTdAh$x*-Er>Ow(goUo zw~S@Y5=FkraK?4SI-Cc}?2?%f! zqDU?_M0&LdVKV_l!S2`3dxD%2(237l@K?@35L4m+dQ%3KBVB|)g1_1;cHK3&4q1FK znzUW?4(n7fJIlVpA19Iig|Y*Nl6L6#m1fvM+FbgQ`#l6O^ZkjPI>9TCGK}sHQVjnN z%x9n^q6fr4FB~jv8{0Q0mh^VP?A#02{IHD6C2}zg+qml&XtMYBQ6+gODtLQNIdo`y z9f>MiLq7KIYTRAnsA+XHKE3TRj)2^XrtH$}xc5`emo4xlmCI%_9+1tRTF==V$GHVa zU8p_2L2hp_%KrQ6oNAGuzyeeZjG2$$O4VFwR4Ey>kKJhgJ2+()$LEAkM+5AKz$Lb<(Z~?L?|SLJ3QL zQDtdrxFtoe$)U$c=_1fmD}Do3#O0~S-k@rW;1&*vrPa_Vr2J_{`#_ni7(@!!<14O^ z$MeDhQ84kv}0k(9KZ;x7djY#7bguHJ|V`9yio4L06OYi!l>Ny?;@5ZP=9(9Rg-xR zutM}JjqPt0mG~Zx!jFdMUwLn)OP7sOtRD}iPbvehl?5DP1}O601v8zXZd8W$yUl9f zd=QD5FZ}d3>BRElKu|SEJ9eHHpfh6r!4kzUEkRffE|tM#Sd`9)PBV}!vvzT>hN~2@ z{u!eGv@>kzy_^;_^R&q&VVB6l3q4w;bC2*%YngSOC@S1N6aLcolsA56AYj{Njsp?y zO$euo-{fOa7%BIbpQzc(Dmo?(B3p&j&BV1a=E5glu zj3RbMyie#goi|L%V{|g4fNoD~sAX27OU;OiDD3ci*WYpegkCET7)1T3NQJ3hn|&I~ zNBe-6khjP4a545}Qj@0*9E<+#ef51^{07qny*oO%$4>Ndf4zQn(yv^=o&IF1|9(uI znRyUCO2#3E-WM77YJPb+a$tU(CbMZ^?YE7Xd4}Y81N-&f!tK>NKy=+#xFcF}j~x|w zR|!|FaqQrJ{<4wiM`LY%x^een>Bq$?z#BFm+){ja|=-eQr<{E@d^uf0!Ka$*7v7PO37A9ByXD}nFvGBd-)E5Dda;jLDPET)%^QD==x66fup)an%EH*5OlR(xN>vtgpRLL zt2PtQVI2DcZ|(XpX(1i;_w{pG-+&=ix4RDwlVQ&qc>=G3ZZ+sPnRQI!_m7SFU)9?F zI2sP>^)+LF&Rw)ec!Xtin$_5nE^`ohL<%&-s&Uq(;eU`@Wv>qLFXkc9Bb0L1sv`F zR|m!YKNU}`6cEn;t%HL6-_5c9wI{izP~X4}(^-6a=O!4>}Bi;A|Vi;BNFZQh=` zHLHIw@IC5;FaO{_-4z12S64!Rfs50&r){A?{lCv`;KzqIz7cc2-Cu~&uk5UjW>*7e z^$DH*#h>oU!|w}Mfrmk%5dBL2^4jOa8{mPd)t&rUeVFp;{z(XUD8&+aKGbjf+iM5> zeTWj0s>s}`^sV~qQdbxms}Q?DErqtd4@-Lwx1&?V-52RWeqvi6%+=*^LJyIBOl=ok5%}| zitt8x;)#Vk3i?P*jt+^xyxXQ)`x+2HBKxRf^yn{1^rtM35(E^CivMv>t!PTmEgdT+c^p zjTw?p;cs2S{kTZwPS!t*R#u387#Ff4avzv4q`iuV6S4e*12A?7A0|1~C+TGu@eJC` zP?mO^g)8yL6d*3)D7)-_yKncB;h3WI@!QqV$<;7$tvMM%xZ3yNks*^P7RR_kDVMin z7RD;7#tw><#4+!^q)t_S!B#Xu57h|gX4SqHOLg*Evko=u$1z)HFKH@!dHkWplPGaL zv*cPK)hvtQH&C};tYDjNxOiE{a3fi1)93`Q6)uAHJ-S3r3aAIecA zjx0D}`33#!^v<6pKW`-r=zYz%29=N{QvrFngV#u^@UqNliHEs zHP)h|g7Z1`Jgg4(Hri&G9aTQzr_D-nY}Yw81z%$?+wT`>LLprE`N~FOpK_zt*u#a4 zVL@6rgq75h8}bOpQmUwz1MzGLJUZ}0_5g!`x`obc@%HZ$tv@&%R6im=)34Xk(_y-5 zotG)Ur5?}60g|%$UpPZ^cHXQTK7f;oOvCA1GH^xH+H>utnYs^gr`HR{^EB^#q{oMKl@A`U(u+fZ*0V&kT{az1IY`nCI(RfVYi2{WpTri|*_$U0l zspy>?S}UF9%iANVvEM}&F9g-gBP=dEY!QUf9Z;L32KrTbAJbKj6lMrAFE#R5*FTV=Q{ynUt`9#uYR|l$0m@ILwF?uwfl`4poP#}T^RKB zR>({H6VJ}NwNNBaqF60t4zIeEBE5O5KLoafF--l#RnQSnpOFev z7l3a^h+pU{*#6eDkQ(S(HkRfo3ENidc~f=hLcG**x!fVmtrQodmLexXhmsAnD5qy) zN8SauC}2lgdvs8(_u;k0M3Q$ZU0K`c=WT{Gst9O%b)iVq#eaK?;Z?AW97-V0CoRq0 zqw#VT@+U5ynb|q{?;M7*YWdXZ>Z5AW_N-@$8AwuqB;$ro@u>Ixo?h{zhGroG(iVXv2*OHc4j zE#1DCyK74_G5drc@dWCi&`EAK4q6@uQKX2UQoau>ZQVGN?Ke~(@O~d3_ad4B^)`dG z$?7da$s09;-z%mEfhiWKKw^awh6iFaGZ6UfoJRTF z7p^a;#FNYd>!CU2BLlk!Xutn{&A6&MO;n)-zK#^62+$6`|Vurx%ej*|X`*222mONs~?D+8M|BrW#%Row(A zLEx0o%QTlfu8oIR*4KZL=DeSJ;M10s;^3`aWn7WwjuJ6QzE*2H^0d=T&V8LEGz*YR zGeb;Up2!CQgHss5uYM<8RiwSYvM1dC&`6pIKbA`P@B@ZzQ?AtC&PG4vmVWp(|Lb1n zSU`4+yl-e1*8Vz4WvN!Q*DvVR@G`OhWf=W#W9mHO7jmLRKzJLcl!0MV88a!QX2xD$iDCO;r zc`8unFO8*{rWI4W(WSD3Kf#J#OTR=j?mw5Xk))FrMa zz^c-)GShQwkOeeR^PtQEN1@c?9TD7HM`~^R9qF^UQX0MCfC0(E0aaNS;1zoohG9XI zwBDO#D;xkad&6|sWOAJad#Cnjn^L}GK$V{>auG8tLN1q?;?^qwqY#V z;b?etLQkS@4DEe^AxzOrQRPLiMl3n0h@qFGB5{!}@zSevOgCMWF|3c$;Z8ntad4r^ zbSun-B0*2oGte-+L)qLnb3!{4R!ESe(r7b=QC{HJUWaN%U>;>&^77LsWEABA8Gz(- z!r_dU(;ZwhfrYajW-)z4jk9}IR&H=|*X4CeB+-QB5^vA=KIeIVjTWv=QjD^XWnzf~ z$7@lXT-qd)qMjj9+v-R$gqTVWb)TX)+!dH^)((ou9}ds@@DTWgR2UnX8M$uHe}*wY zGxh-OwgafotFji?q}@;1iY22Q7+BV2M()i1f-5K<15b)fPnQPr^i&>(NXfpI(Te*6 z$Nutg8%wp5y?j(PJI5FF`Zw$1%=hg`iiKVWvJ!Y7z&oU%DnY=T>;-_|uW`!U9SB$tTg?0Qb$HkJi ze(XA@%GrYYQm~dw)GHLrpAW)@f)0H}-dBkt9FB zjr964OYPOtxJ_E_lwr(&`f8cQ3M!O&7a7%xbxKCN&;96pzeMo*pC(wEgf59QIFQ>;mIEKcps?JVikVpf6QyT<7hvn$Dn~J3#H`rLZ?Ob%v zsqv_S0_>IvNfr!Mod?E3Hz09)oRt8fNW<=QhUiFOm-wP4H3+nL`13*0KT@ z7}Sk$`oNaYeTER8MB~=+E2ogXykh8+bfa`3w%O$rt!h!vy=U)=DQ{fq=ag<$IGU>; zvEuc2(7aMJh3#T#67`75b(pe$GbG8ZNL){UnFIo0%Tu?wymMYls#?I>uVh1ulg~Mi z5^8QW`s_)5ZjT;QGNNA?TL(CNnT93op#)YnD=A&Ss!ELtTd>x3E`U#;?jMBkCM(^r zZc#ohCvE^f zenwU<$ff_}sQW|s^9l__)J+JFH@9>k;&1uPESIGOxk_Zk)aZozrXKLkO{lpsn*Dqd zTy7<|f@6Q;t-`o;L2x*$z+mBoQv`HfG}D4~9Go;wdZu}>k=8`gL%&Drq-(MC;x>#K zFKfane4+;md$F(){bzS%^B|vMAqC&>3OoL3kL^ZhHBNODAwkN+-#J{}_f53=4zq4_ zC--H_`(Hm8DpK!n8zs8;1;SY?P{+Uj3tcmWl-xU!?Q!cK4 z#;Jb8JlLh{MXR$T@?LsV+G_GGz6-k>IZSo!Of&C#=>rid7VZx^NJiA3LnAUTdP`Ae z)t&~vFnCEcDz7xrd3Ako>#@x*#OL=LOL%xM2iSYHg%2b=4&*R^L-tD{g6-9(v-_#4 zShMowWvLPaHLgBoX7!Q<$tNC~=9gTpdNK+3l1>MR`9s>&d6{a{TxN9s00!x@d<%l>P>K zzM!Pil$ju?^OyG{z?l}NhGOdzuQz;>lf2KI!i*2C?vZut4?j6qE<&fg-TboHcdry_ zv7!2vO0rGUZA!nz6F7*-B+OnCv-AOkk_oea&}K1w6}7z7V<-DXjP+ar`a) zp^EqZveHx`1x!d3qnrjw4#Z^>hdI_;mAggU1=;I(q5nU|JK1s$5zwNkPB)yP3t_ z)S7&e0IMLK7TLT-Q0I+8pc&Tsh1)wPUv|}`q=sAo7L25n(6R7Cm4dN!dR6On7kXti ziJIu&+lPB=EG`{U!AO@a?oyM}X!m-Lhe~ML2hIW}8o+9W{>;@R+z{XVqxCNOWAo~U z&91B?Ia1rvBY`;5Uz^=t?t*mo2sPn4rvg}-m7c5bkjqs->(S%dU1Pw8$?o;_uXJ*! z7L+4>SKl!mpP#F)zR@~Q94vf7brRLp$B$p{EU&!h?>=1=w3*J|b&N>d<8Ko8duIV3 z+PKHhoPont8rVZy-SeN1>WmBby%0|$jlb^9OtdpXWWC|+ND+8AhpPpO4u79)yWh>6 zjbl_;3H)8NOH>JkWBHjmW#Nv3w?zZ{#{GICd;Xg-5tB6@b+ys!Sc^+;M#+rBm+;!r zoTEpQ?ofuXxk%$loslR~Db+705mW}Q%=*=&KZXGeK5Vi=pB$^|R)bUc?tMIsui$|| z0H-hwIR>{d4eL8@p*Hv0m!G!p_|$$rvrq7wL&?Uir`w+Q7>}n+C{-FO>YA zgE^xLJ(e0Sx0;zGh_g3er4&9Wq359t zbu_hi2h;hOTa65;C94HARF03-LAqBrgPDIxZoP(rKOMD?Qs1!dF`SV@cHRtpa++4q z^IuJ|LV5a!g zXf|TxJ?N2g-hWjO56Ra{ljPP0X!rk1AW^S-+-?Vig~7L#3xdq9_4d;;A0%J1pQN`o z4xq@20Bn?y-jXJ|t<}%3x7%HG`L7b1A^B<_k=#bXF1h*67Oi&MfgzV=(K}So5#g;( z^;$bnz8v-ab5G=GZqdAAr{dJf>JFXdjfxXatyeQoXe#M@37p!~_)U=4?}Xz5+%LM} z)Y=7X(hWddacUoq!B*0U;#8|+RBllVV`NT219xcZ6DO#&n9mbxs%i@0e?CsMjLcbL zEmc+oPY0epyG^-tQMsbn5{hZ$kvYxK!|Q$0&%><+RH1Cc)AG-uIh=eXpEY%O^S9|N zxlEjJI389a=`1-vkSR_9TX)}cTyr53iiHkdpuSmTj_WC(gyLi)cj!WwJx;Cm9#80k zz$MA&;}u;{w#p`$^}hvHQ$^(q4K7S4*nxpb3z0S1vd-DOh_I7~w7 z>&ZQ3ovi)3cJqo;cnA`T+BhVi|aY}DCGUvJq%mX9%Lz%mR%7@c|U}FElb^htOfW*K2aiU8o7O-Mw zr@J`(kEURttNTjG7{>4+);-1es`s&|xtFFlvJFcZb0L}yhMnf6+Tz|gE&|XpJ>y9) zh~9FUwB2|q7v((O)%a;fQ~fjY5fkjt^6-u1tku|XTsfvXPAwH8Mv~#!RR;Fd9{m@D zGZfKpL@g!a%SWQ$Qr$*zYA8QN=&6Pw`{%-*(@yLqbDN&4;BEt1b*S}Sh)wr(Eu+O@BD0)86pl^u!x+4x&0?(E<$V*WTD}!fSWMnsX1^!t~Jxq%SHC#ZA z+3x6hJ$zA9@H2mk4R-L5Y%Zob0b3d)Ip{I(P_F?!g)2h2bsln)Z%53w2tiA+$slC2 zBl3Cr1DBFw_OSNj4hGEvKADpB94&I2UlLM?nr29g+652oaFR#QFLi?cwcUkHm5-2& zIqT2-h5%WkYa0^CY|9xj+eIVPYn{uO^9JM>G-LD)ZO(zgJOmG2SAii!ZiCzgkh{@% zqOce}zqRW()O^V`N(_jaUNdI?T>jv4Px2kD)GOE@Ic~4|1LC``gA5)&WN>8DBEFL~ zf`3y`IeHR2&Eopv4fqP+U0TmG&TbaKN-UWUq57-~nNbe90+rlfX92c#eS z8yG~B-K3C$Fg|lxe7CV==94T|-Je|-t`4$BO$}g~kHd%#3;wS4sH+18-(olErjFZa zi_Q{jWL-;AST&C+elMh+*c--OQ0c@}07Jc9>}Hjlu{8r#cN(eIwl_$8>%yFF=b1<5 zGmkf{9V)||dOTnafDyrQLVZ|u{s{93C$p;qcsmouS2xe7K*FB}o9P(6dhTSHb#z~W zB_3mO&sLGX+|?Rc(1*=r6Q-u8Tk#wn=?of}?P}GT+CxpO2tWeZ&>2jz+SR(gwuid7 zze*=R(K*awbt(_op%-X&WD3blw;}~6!#?rNR&95~W&qZatC@2*s0*4?OU2bdt#u;L zEU$_z`S>Zgax?SDf7<4kOnM+*HDU1W2zL{|K`DI_Z6xfHeV~bd{b=3Iqf^b4S%G9J zc^k!RTPNe!?#B6V)>)U{`BHuZnXtjPbvce6or$lKXqlxR?Zfp~x`QyYOsa^e3ANaM z0O(9{)7s9$G6j{{?N2~EK+$ZQgYIfY&mK&Da@ESj zX(sYEVESt-HFu_h=f_XG>@AJXo$@$oge3k$6s!s;5i6&Gsx_c0tLn3)jkPa#?YaZB zFu={y$g>e-%7y&L(2$Lw67gg)S#boMD-d-*>g_!bvp(gRteUW$kJQ)eznDI8D!lKuf2frQ$$PGYW(j2Q7KH3|;m2 zd&d3QcDmIpe{d%7RVy9vY9F;s5XA%;p$~9ErK+9+YqXQe^`qQQtdGV-#2^IKw_U-D zIXII)(&ZtX9k)vXNHYn}l+A5ZGQPD4jbAS;CO~?GsQb2$${7KIy^!l&r(T^M@PL=9 zD?8Fi;LA4Jc-DRvXE8Loi$U~YoNiIZOcO#HoY~9>HtKgh;hee@lwV`s_CrknjJYBs zJ=XLZ+*-Kb)9xnr$Wj07G~khwC|TG zYqTQhG;~JsH@)Q!#61!5i4)2w$CJ=vYpw)XGBJeT7=NDHw)lC;!GU>xtJFVV_5P{@D z-lLA4kYj)F0mB-TKgkA@b99mH$i~!b4wA(1)hl`45y2XBDDp>{tSg4s*u?$*nFsh_ zVMdw`ZfmM7QFwPxbGQe|1Xo`XFdu57#UuhQPWr)GM$zdMtHZrdM!wgFWgs!7;M_Vs zZuIjo^u!KSg)b<}o%HsIcZs(+YN9Q?S7Ix$Ztkax2n1^2zG$m-NoP zYaL$Fe>AQYIZ{4Vjc)d8F@-vBWWlnKCt_Q#7oQLK>Sz-`m@_Bj&sy>3zekDy)FeDx zXi#DwzSZ4bek#Po;Jb7m?o8D$A4htr-_Ra3Xy*|48jw#WTs8GCb<}2Qsu_Gddeq7*9dQuWw^^`AgrL zS*{@IDR!#!kUcBXXJmeIMUj(E&u5G<%gRy+d@$heHnx{TFk1^RNu-11dNPl8&SQ*`?@1!5EkBwhGm%I+$Jo=C+L}c_}!oUezfrr zjnxc?kO5kSV>t4YUTqKdqH5DKdlK(+zU7wZ)-aw|km=S{Us}s(ZTrHk&F8vWb@#*t ztD9@s#OotV5+*l#yQ^Zx-Gh?=e1-`}=T2R|=Hx)e#zZ-msGgI1K*ZAnQW1b`=7wAv zvQgnJf~~6=bkdMJOFR48pHm3kH^1V(>R6rVaRBYqFBr2%+Y<>8da?Vk4l7&RrFO3s zgGoVq58+$v8rRS;FACO+xsu+wpmKZ@&%8U&jp^l{4eA;DPWZl;_jMpP)o}{#@YR>M zsbZ|95PfhayF10xU#s7pCuN6AV+YWs%N}lPdmaC9{@P;3 zePtE!F7v4L0KA`QB2{t2RGcvP#kyY`4>Z+LrQmKL!M`;oLT6lGYbCRGac90fGkpuW zX+pU?-$8vCc9c~~AkwsaoGzN8^GKQ8M#>`kBRSR#KmB3___os+`kL(IHOt~6{M84K zZb2{2k6XNXmP@m=6}C8^oU&_#O?kVom!_Ep>^d)R`+uAhXOg-Hs-_C5K`T89wi?9k z+#IvF8r~YD*v*sUuTqyePtl&9KHlGw^;1g;5Ineb zRL)&tIATwnL1|4{A0fH%$t}9fCRpHRC&83*y%Q!cn%OWq2M<%Y%yc94T27~zyW}fY z29te`DQjpMGk|=GSI$?0;1(MortpIX%98d9AH+=keUs3zD)!qkY zz1#mBAm)9!L*&RLDHFT2L(JTD^D5tvh)Yo7hW=e;HThNt)2=dM^4YRn{jMxsQhgnI*aKo)FuEnjbj+5+lz+%;K^GwUND zXv{ij?@^!}ptLQh|GxDOTxzljH3CwFYfR-p;g__nG$ z?Jj*WMeucOeu7?0pnXEI@u(vhz@+DW>BWsn%i$9p6h*eHqw}9M6g}~q&9DiA=PdU{9aMX_q&K_tL&9Fb z|6%JbpyFtvb?uKpAi)Xl7Tg(NaDrQKcXxNEli=>|?(R--cXxMp=knci&OP`1_g}NR z*3@)$byw}`n(3Nnznd}R*aNnG!(mhxSnfKp%q|J(y6z&50glasKa`o zk*Szs!EwVX`&CPQObM1>5vTi>*J%pEN3$h-KoPdc%KfBNLM*ym4Mx7$*Oz(4$~s9R zdD@9LY)Q_;F-<0ibcbV=&Qdl^+vnI*J+Is6;8WP#w?9@_Zu!!W#hn9AN+8xFD#q;n zBUEMT?Wwf)zmvdjx~3Wt`jFI^(<%p(3QaOD1(#yZ{Y)#*$wXKZ+JORcn;~Vq}lk$qr>ED?iaa3p}#7jeOJM?7qCy568{JrN6bopll2>n$O_eU z9AZ~q@98V{q|ykWc?o^pTiF+(M34;Q7v~f$EU^Brbx2* zLPf!GC6sv}MLz7fS;DYGuE;+mA=-z1IsU(8H%$o5K(YCPeBy9*FP%REj%|( zthWAO#Mx8z!}2)!)$;Kup7#fzlCfvmY`{R{+_^K#ka#-B^XY)ns81>)26-bBvyYnHh$#6#U{0ftPZXSNZ7q$gKDf}2Gw|{f zF?`hYAxI@IB&BEj-@xd9V4(j(ruJsGjyCp0O!6%M0g3(}jP&EUe^JqYp;6}lfJ*<9 z9c57Ypivn=HZbeI5Gx}QGZ;+I4q_(K`grmFH&+UZ*{q~UXwrrF21uFrFv9!Y^ZLb4 z_v(&2;(qFm6~K7SGDF%}km#Ej5V6B(@-hPd%=(18bI*H8>vfvW35$KhB|2~5&lG8* zxiy5S*GU!0nf4bZ;l6y$x?bGu_p{X?y9JGxY`o+ZmX zR1t2pMzJLFh0m+Ne{z*pYK%>`*!*?3SPLDnbs%kPW!0yKrJp+^Xz z0UNRZ*SP<7<$oEM|AXTNK8(S^$V$%)2C;k?M9)^t$jrplkqFGhO3%*B2>LJF*O7>h znTd&>gNcRdqpvOXOdN6loFr2Zo`!$&>RdR89@@c*HV#U1r5%?$XhO)QN* zE}22$W4tL7v42>TgOTn3w)y`xP|pRm$)85nCXS{=OiXMa z*YPm~{&TRqrk;9zbyO6-yDxK}T@@E2I*}B(ijMs9{X4R=kQk93wjoj?kpySjhq$^( zvtXy(mz*#D!u@^_EB}C@;>d}hH9NKBdJw>oy+$h{{QX8O#ILW#YsX`sa;|mSuhXu9 zwA|M=kCG$hRgDJg)#7>N?;=80g~2RG=alsc=qG8OAh~^{K+bX(+PeeXp*8KFEZMkG zb?-0Lf3}7s3EqMVWr(ACHDqfY-xAx?r-jtsJ1K?zq&?m?H~H2-y;13k5mR%bHLOFt ziDs(kRhbNKTAi_wu!R;*$7jn2q`7_ro(iOXJih5aM^|rv1#ASlZlbjH8Ju~CVMV@; z4v`0cp`me!_qsmFmI;)fAh1u*J$)$yULO0#*+wnER|T1YMA3Z9yluG^xe+?b*F!cf zW0<}XUz+iHbq7FXzY44ryU}oPr8`c|v9Nf%N|9bv-G^}`ZMa2Zd}w>9Qsqqn_^2;_ z+F^~eCtU$B8@uPzvt3eYzk}-270r^Q7A?_7H@Obfzm`$t1&J2oRddNo!|)J23wUGL z!eV_Lfp$-HihMp}XNPI-u}*9cHx z8oJL}=jUfp9LgMrK1N&$d}^5h&VH=&WG+(LeCES^eM<4Hw8D2vK&#AdN9t2E7`y*= zs)j?d(hf?LMC^M(wIy}@35gH$^UqJw38qf!JLWQDhUfY${MhnGNV0meh9(3)?j zIg=HbL-Ri85L~61r@yc=!GN#-we$^|DeNBL$7Hi%L>=pZIP&!_g-z=V(A_641(7BL zY3JE^?l7@IUSHR9OUEdOE2fkQ_xp=3C!av?mc9PPJo)f`t~e2MUWW9igdor4Kg>R9 zAUY4T8d}I0^p*DOE&8SGSF!F1=P)P8y(lCA=^yWWv^S(9ldyu_zzX=#j!%s+2Hr(m z#2M9@eAtee51PFbVV&v+0O#?2%nia2O=USKvqbw0>n7uCXn(UJgzyx>flL%{!tt0f z7(U>{Br=KS_ft7+VoRv_qUc?}>ZLKBwMA|%0`u|4{B-8016r#K!QP~=wQat3&5+8O z6p`?rh?bBTpGbdE{92oknkXr96&@K_P`v!TP}vGk*u{ok(}#B^2OOK7d~iyt@-m^f zDC(vpBH>i`A)#su)ysVKD+q|>_xP6a z&w7vK0GZSr_%b9iji(&M>))jbfFS4(;^dFgUBy^%T_!G>W&gsbVd4=7 ziWj%gGk+P(AOmh?JOhkj>2(zh{R(yGE2H3!U-eL2hPC3hJ3iz<4z(heN@+ z#V}I_(sh&4+1F)oDPQI@)se+7>P#D1l4Y#g$k`=hxkhvo09TfJ%G8%E%s*IAHDhex zdI7F5!-zu=rq0PRhJEijQb`V-PXxTg8Ixx7L)wS_jX;ZmxF3ej;+yEGez_6tV-cUW zhJ4cXXksvQo&I~9-WCXz50Z~K{LH{VJd2sHiYgJ&GUKU&)n;}~|$ zmBOC>^`XP@fMOcm!1#wZe$o}hb(I2WDuD~uY6Tf3IHj|tC=+Y zsaNaBQe=W_xy7G<86Xj#+&!uoAKX zm*Qg?2rN=XMr~Uuc}*4i97a6HF(?8n!iJvWI=VkCOp>$CP}e8g;?*2K-%TiMpj*|A zb)_HwTxRNnJOE2B{qg3Rar1)F3VN->X)_r# zuwAq9-%AxHc!>_Tgtn3nyy{ElgwIhsArTq*v=;p6xI?#^eG@7{=|ALm=|rL_A{>MB zUkLdGjU~HlL_UWj>$C}N#H7xyRd56|wd@%%2W>|)KJlvmxv9reVisD~WitIKsG(8? z0P?u%oLOY>^0|cR%HoVBquedDM*xPi`06)GshHart61<99@Dp16@{QgQEMx({<#(` z%5~M;fr(lK`=Q?(pROkAi9&MDXx~~h%1cGNXm09M)x3+JZ{m+v#SU`W`lrb*W8Sac z&!}@~cM|PMZI!IL1?znw3k7>r{la`y0O{HHR?vg=KbO!}iDUDV(zm}J zP!5=31{shpNv^Tvl+Cz_;UI6u77Q^ApTn=ZpC7(YnEcWb!FFl*>xicsRF(00m2@5M z`vVpZ3DwaV1ly;I$K_;!qh?hv1yzzlw@16;XkEUiG0EE4fQ*12>&SN4FJFl;Y=Edr z`T~ynUeyjsSwcT1jo2&-C2ncBw}EuNPh1kOaYzWctZ5$-2tQh0VAv;pkD`-Jy59%d z-w`X@hkuvE0v$PH#_)AU=W?_MmJ^HWpXs80G!YJQd@KdGzEWEjEGv5HzJ|K@z-m(+ zR>$Ac4b#ovMhtl(@l2q-v4835E(08We6bMRGL1M6l$!awo=BFoTPtY^o*+lE+Lw%t zP>ZlE%DRA~8f6k$-rzQPF|}E~&^htKHn@wno#-#MNFs00$q!C}H#CmL z&hJkT^Le{Zo$V}_(2Ou9y|^=kj^w7z8PHqHBbcN5-pwfIzpF>cG8!VyRshs6kL^Nk z3wqwYcbU#L4)|91)*C=0VT74k)OVQM?$dqbWTPlS_v?;CbNT_dy|@?b1<{o(#=&!8 z_u=XU%ooUY0;kWJE~vAwQ0;iP{qPTsfthrBZPi>ycS&A8BbUZFugBWNPY5Wt%k(+G zDxxmL!};&yP5}Oi_CRC+0K&Y%zj#e*Gcp3M^f#ztJNTQv3_t^LrX~~LGf5{PUcq7m z&jX*&v)+$yw$2IPse03TA-HmOU9>aj>pcS=B8mW>_h0p%^A{EGgp=g!*tMDdgcoBs zU(dYO^3QoY?!&hWRLA}Ek!w8n?F!)I?oHhi;_gkH0G1+mK;d2$I3PRPDY!bLJ+JuR zNu~zBiU!?Ky4n?w&XVwvm|UPD?w>y|9U^6+Pf9igE^|3IsyzHM zbI-?+wJMzV{pUYT`SHj@+pdScF+&E)&-~ zSVk-yEbvwZRiWyiR*kU}U=m=W%3N~uvhZ@ZD|j|M3;++>m*ST`TcUlKy(+!y$Q_*C zRxehU8ry_H6+wK+?}{&QmleH)VegD@=U+)tr@r-l-yvuJwnstxGIeFtz#y8sy$?Ne z$=PNtwmQ%(=XB_V?WAyQe^g$gq2MB#R>6Dza&XPZGV^@o#rufBY9*Jx+~r(FdIEMm zBXd223T)Q0vYmE-+h}^;Xu==m27~s75;Z=hTOf@)MT9Z)B;cl0 za2LGej!VJ0p2a`VU2=U&=Yk*i`e!`si|bfYZ-ykK#NqyAG^Q7mD)@G0V0W~M{!UH$d&so^+6V(>}o7WbI2Xgzq`>UQ|p zrVx0SY%B35nk-O3@v`rFP=3FW*a!!yq_=P0RG8FflnWhx{m1Rr@%Hd|Ofgm6*8K1g zGJ`x#8!&$^LZASrt~lExOb)^rtt)8B&~pZjcvim;*2X}}+;K9U3GD?%QTS(I+3Rlv zy-_@+2J)cTWlw)~erefW$9une*zf0yY6HSM9A7prO~M6-FEJzdY(3{MN45>Z3kc7h zxbIv?E(-|)++XIle?EX34|xncCY&2i>6g>$N9(2P!|GM6B9`ix&UznjYNon-Xc6vg-p8=vj zV~{~3Q?ctcIl|*mlU$wmPg;YKz_PttO}5DWBtorxOETNU`k{!rjKzVqd*WF?dKQj# zTe@|Q!wpYa&POC}_i*V6wdMfl3BE&^r>Oc#(i_+|p$K^bjsuLLg6^H%ghM5FAMKp^ z!!KU^*N1eR5;ju?ia*vTbq=-MQ-C%8Qg7k)38~s&nzfO^C~ai5eiCLVadI3@MSr*h z4<(+Wh^<>yuW+_lth3 zC53&CidgMEGrq6%hzhB%*2U;rs+6q{TNUM-W;pS_`^O`ar>DLqU=guCh6m^(Fp3~H zaa*)j?!KGoIKV0~wph@NHMZeUpNvJv$7 zxP3Y9U%rqf=v%&W=1y(c$9EN73nIH7YlV~4dv#M;3v=1$afOQ5;Q`#xBKA0Sh7DY4 zaXaPR@Nfq_E?v_*88+M82-gxQu4Z4zB^&d2_)5wq%IB5MOKMYUot8$Itd{VX$WN_P zQ;|%OEV$}K>$H}vPwlKa?rQH!@3QZTouNE#=}r^xvhJ#!MV>XEC7zYJO1#E9_W3S= zE5b*a7n3)*cg**=ccAaswGAV?Zc@Omnepe5_vJ5FS?=%kApyOJRSMiB1ieMolCHhh zay~I`6|R~ms4^R=iwuYxsooOYbm=HCy~LNLuF~8L+QT|3Yxi>~fAP}U}Ym*)BtbkBq>~mnZBs#u*YKnB4 zhk3woLt7?5pIkgTk#9C#r?zBy3QMPv@)2)d<^;}Lj5eph6xAyv?eU-0A(81(+B7<2 zpx4a~wRD8&E=nOBLF zqD%Ii>ZhqPSoa0Js5p_YQ=N6C?Gdb4vIR?RaoSZZkkoJGw#(p_B22y&4Y~-?M7<*g zWB2^`+xjrM}b2*(&)oI)l04PyBIoY>~3ys>BUlVT5rol`_ zI`$Ip5JiwM2n5WI3l}H};jNZ42emg$1|a7CunfjanHc&E?hmQ9Ly)oYXtI~E^H?g) zzP8hCt0vbj$5q-j9IO@`1_pXUY&;#ciw8A^3cZ^9Xhubw_2N}AI?(jy9|ta1_foh` zt~;Is);))HY}!umxY%B-w)00_)|~En?yVP_PurgfT`#gukgcrpNKPZ%!P>J1({)89J_xHs`hZuKFgyhh+`xZubiw=fK6LXupi7=au5| zYSr!8g1d`l8&~}rzQ%cYnM?m%i^1{gC0`4`m7iBo5Jup%I3OtsPsrwYk@>p_@~Pna zy`;p+a=|^>*UPpoeS@2W!t^KdeVkiYt!QANZ<$^$XhJow&jSCrj*7Kea?F43pd|)TsiF*_ zpmn8Z;-%5^dBw8Acsz=8i9*1}zu}lQ!^whH{{qpVMupWXY@!&{(&VUCTCSbv(eQKJ zdI^U#gM$ML(#!3oaplNPwhco%l|>kKTmD#Asw3JAul=9`gWL+h}C6 z^P7dUuVUdTZeuYp`zaMcVD{`)P$ZhKofe0Wxs8vHl3*|%xUw2lY(l#_%_DWb)|#g? zb#`&*Z{X5kWx|}LCxva2DP*bq5`k{#=F`8Y91szCTipT7e~aMKzm*v{ZL(W`%W(@^Ev@Pcco&L}v-|diwf5P~ zMnAj3MhBauzDiYLfn6dF=3Y`=b9j4esLKhtF(UtO!(A#0l`ZfyRC9y%L!&(4PlLI8 zz1$oXL$?2v{5OYIZk2kxs|Lq(GL7OFy5DC_c7Z!>M`aZ?U`pZ(ot6uL9v=iJ>Z+Eo zZsv@08e`limCQ?_FcvG>qBdwsh+zuiu<5T_REGj{5M&i8L+!5os-!gxa2Mu& zt0~SLtEl@-Os#}4-S5`zK!G)$8kv~*Ua3%ao_dleW&oc4c^=raw=0Y|dX6geDEJd?iV*t~R)-(oXhE!;W}2_X_YA-w|@1-l(pU|L4*~F{#)1 z4+?pP4@TR$aKHbzVfn#my(;EyQ}7{_ZuEi-b@RcCuFZ{hqNGR-JaX) zRPnPE>bPMyFL27M`Gqt=i8GF-OU;PXh~0=;NzI|A080yl_-P+dluVwh+nf7sR!3xk zwpf!%sf2ziVt1xg+_)c%=OdkNJrNq@zwkxSvXdx>(=C*rL7dq%;9-VZT(CQ!3D>ljKGnB1cV6W^)HX#KAmcveSCeO)QreyaUL>0oQ)T#^vxIcd?&nd=ND32 z!pjKVB`#LMfPyoXpZdXrLj5T}=fA`pPLS2bcW7N(WE`jiZ-)dtOzx8Iz#F|A1ftQo z{)LM;Og==@4{Y7f_XLgig|LmE7e2W{&^)yU@SbOl>wReP@EjrKLQMZ6dNW3tnYqeg z{c4as-Eskb7@k3w=IPRryK#Dp&aSw`ME62xfxTe_ipZ&xrdV!WNC zYvX5o9iBb{{EZaR_e3s$z;o#>VX6yi+S>y!5#+ zC46J0h-zwZiG;4wWoa>H$<*RRtvZ1M$S#v4DfmP@;TiU(TCV6+*8rXy$EPy;eihsC%=-EQ; zHkfkv7xky`mzl5*H$2T=n4#1`Bb3krb~L;L?)XnH>+8=GDuLH;B7YD6dh&E6x$6^K zGaZhycHD)Q8{t}fOAnPkA9)jz`y|)zuka}Z24BQliQs1xe>7sYSUW099l1SQb6ttJ zSTJwr(vbFZHW2ng`&2TZj(9gbK#{XPZ}GV#h}Sxnm)tnOXN zw&Jlush8%*|I_8O1nmdy2le?gpynfljFg=zUDrNs7IX!-Aw6d+zO#<4`yGvNY*)cs zh4vZ;ZtI5P%6W$TQXJG@DZVC%m>gT+0i%G|QY(s*X)uQT!ZKbw@KVEVksa+nkCA9L*VB9$4pa zg_`quYW4{eH0^<^E(}gv=%b?pBH-(qp;mY#M`6W9WBJm)LJX zp}t~@x!?47DCL8MstF_vopZ#3sq7Vg?2zY)8-y`O`Ttxn>-g9PzP}aljWGoUS&rv% zgg0IB5P|8ZzwWrt)6$>pl?_ebu7=}XeL;L*{Mp*0@xXp)?R*-~DT-CbxZ&vpR<&eG3$DF`i}d@aLDGy6(@`T2(|Ofv%N zlzvGq!MyUUk9_T=1ZELdMtmDrVBgNhQqcjy8adQuGA>FCC|}ZbkrKT%q0dnR!|umG z$HF{x!-Z_?B;W^8U8LjQ;kf9_Lzc2Ml)zI{v|KG|K!R9#YOKIsyxbp_B_!k5@~7FT znK|@*<$*u0K!9__mAv_V6={k2axH%I4q58zE{$W53+H}il?~V2VK=sw^u@_)$#ARL zOp!dt-nVq7_E%;pF4gfLAF01^^BrBe2D|iyTQX;QW`Nv?;2GX1E-O_CDY{`&!x3a7 z{owZBG@q}{Y9tQN{j$a}e`8WB2-9I>K(8B2MU!w^E8Z?p-V-oIL-xO#A$e$#p`L?0vti3H(K*KKFDvva>?N9t9#8FrCV|(^)t-J?Jo3cDsuRNzzj=Xw5 z{k_tJCMQ{WL6##&oGf<9mC^Iuv-Rz&4AO-6Df+sbxggKL?{SoMmv|&kib6v775Ql7y4{LeSEWeEZE(J_npPyj1 z!)E}yOOpDjHt=MMV4&m-I9+y>Kvc>xBv0H8vG2{^c+y2us*v| z@)fUAI0tiDjQdZw*Q-WBHOHLgo2X$K7lXjha2^p}L;Y87FVb&8&MmI0tyVP#b1Di< zWjSd#aL1kgRfi`M$^+#_B?~%>Rn%QAme2UlO^kUB>)O&P z@5RW~3xRG8gpLP!FYuIOPdBV80JG|obXt&eL(E%nfNHE~rK;h%)6ibCka4NjH&@>*a@fK%v}kS7}cZ5xHKyh1x%Cm(`lK-W#!XP5ut^u5?`7YaXVqOdRHHv;bI9HC;wHiOJ;ONuUubGzB zc}GZ&P%g79J1#5Lr&v8(oqSb zk0ndduWdPCvO;MIC)iICA_koJEl~Ou77%y*Xyb?8@*ZuE)BaH66nja`PYb+3c!hYi zCcpJv2}6_>{60~C`a{rDeqcaVbyw$XTw$M3xQD-}y|tzH_&idIIZc~(0PP%Czvvzh zh@m?w`c85ospl8H zsB%(BYCTfR^FLQVn%S^fSCKgqNa>A<1ugqbNUwZ6@VQg3aiv37U1B!G zC%IJbhELx1h-7<&E$nfjxfSG9-EF}jwJsPxG+r80W_w8*y4ZUlzPsCvw|glx`k2Wo z_6V<%JO!_B{TjB_z`zquM!zXuST(o!?3P!uc#fBaS3mMcl z8No8K%jLPx%qa1kD*4P~0CQBJa6&~$;gHI`)0nu0ZcOKE$HeQgNA$dTxFlCo3ra@lAB6e{3;Il>aAdK9fQ}q}mApfZH zS&CPPyMRTq9bvalitSN0dHoI}2C3$(E*G)p;f%~&XrrC*~Hyyk)qis+$K=+id_n# z6Izx>{l&E~yy(NhZmkl5{%8!=f9GsU|Hsb%&WiKq4tg#ZHifEqn#MfUo1dvr@@kId zS^VDO`g1-}CvcgTJm3<)od|d)kl(Hk(B(1PPkC0yKq?jl{HCQ=d@-cX`_^e7ama#^XMb^JCfX(` zeo#my@NQ^}UA*?jhet)GnJ`I`4({eLi>i3?Me!)H z)6J;%|0YWBqGJ{^)pwT`$)?9!%wmz{nQINjiH0ZwW<{al`ZWnUK7zM8mgY`Lpg1dk zFm4+oVYEFx~*C<9bH}3IM4hrOZA!M2dn=pl!Vd{m3T!!Gv9>x4v9oH|VNNqc=^oOoU%|Ht)30 zJHdmBsxoE8IF@yfG^b9rEHJHH?iHbAw-Ir63Cqm?&U3enxlS@3+IVxG?pdYSx#dcz zsYvjQxI2VkcHO25xM4;Y?4=HPvXX2kst7l&H)mc)2MQk&O1S($b^U$f-UY%ZEo~#=c-+P1d;=x z$~3|B0o@@<4?mUb)X+qTVb!S3S22Ukcw}u*&FwoegMZUU%*W> zTn8&LLQiG-fSwK1un8Eb#3fx$CT^zmPn?eyGVziZH|aFmzj38=FQ@KFO(cfdRX7$Z z(V102@6x@jvR9|-6b-#R8f$Bnp6SK`GdCFb{Uzsw;|np;*X5HhLU$1^o18dn=B?OV zGl`gI2JgX(8V~Moz~GVygHB=AV_SBUu=I8P$=|Psg#78uhlQu2SC)7pKBkmog81VQ zl(*f_eMFgjgDzugEQ7Hp6>rK1M4s^8ln79U6~ru9=j7k)Zv>nusC?SdJgH{^3bnM; zQI}RhqjtbWT8v)sbZqE{CRRb_@JRhsJ~p)=uE_z~b-I%I+Q#l1i}aNJ?3O$YBkFjc zgP=&9XHE3I?|bqpm4x;i92}LayP|)jMO^k+x*N4b=(CXhk1Ie$Fs~UBt9tAmo$jqZ z7UL2Ni_5|+$)SC9bB1uP1~v_N+L?-$M=HLl%G)){+jWj8sTE?NvHyOI?HuunqDB(kT zhcj!9RcG9#S?e>IxVwAPuy!sNk&#PQRb%Z+5vDTQvZSVU#2IC6!ZJQU;ArciiP&&P zRhw{Ns!^OUHm@}yuY5M*!kKFAV%DV5kg#*?9ICTPIis~FTmEfTL2he?Mk`&w(IvZ{ zMdvQwGYX$`Vja=o#VK9FB&dJaw-)lJ@Z*%BR#UEHRn1EHq1#ZJvkX(RA<f{Db(R zmAq@cd}cjwVL234BbpfiGeIDzH$kJ%y-E97=40B;fS z8V*ZIEf>Gra`HK^x~+P`4;zCsWN0HwzOA!vp$KY*dij>5QINs8%Y}>{rsveiNV>7A zXVdpv_bUA%?P?QL43#qm-7FIrjL{?(E_XsLe|DQ_x6O9TF+mE97pXL+J^F*wLa1}A z&=C&-FK?>+P!uMrh<+t`q5|!+o@S2~ar>kd+oWJpw2;%!cNUstSWAa?-?60y?>!S* zN(b5%izC}4Q{&ERk-Y0a`eI-XO8ty3e0POXGbtlt zWqwtu*miH2kkbk%mdg>6v2sX8ow_S?%(X9Qx66(_+>;PGQ2jvWM6sdHC*rio=N&zp zM7=2;e42T@j)~J7BWb9qM%Eux$Tyb41KU};&-D~3+!Sr!3{!-UrZR&RWC;04K@RqN zv89!fm64?aw0`T;_G&wwiFn4RawW)>FkBV2nJe1Ljf%iw)L(|z*ak%%b#-D7PD9_W z=HO^gbg#g#P_e-lJ-%?0@OB>jP1964V6}1n1_3UC0u~u-o|_vMkcfMUyniNY$Z2ee z!kMEhGVb-}vq;NMbpi%^Tp(=74?bE765fg~pDaCNDrdczuUcDoxPBW*jU*FlB849f zRn!|7R0Nh*1B>(9Vs6#QsK*kXOn!4Dh4|3v&953s2UxTZ+ii|GxmF1Y7oJ#*kGl-A zitNOe^u&EH8IH425;4_Nj4D|mqktllD6g*d%v%0piQZjYUHgqmAxdS(9#et`YuMI> z=@0ImLD5kBkw|9>fqA*uqruio-{4?qLt)pUvN;e*gFkll%>jBhe^p{ZOI2MiHbPbF z#9kSP>g>;S0s7J%hRuSTJw ziUZ=}27BN9Tw*c6tEkdEIV;*!Ucc$S$Hceb(YNqUm*4s0 zQp{D(03c_Htb#_$yam$t2uG^kGdJfXifE%eW-H!zY@Rqg$!TdA)2+g3y**+Nc~2J>&T%FaCVkO$UT8+aJQygdK0-w+p70a<8{xzPd#xuQ$Jrw^N{^qa1kb|JXmRGhNZ~ zUf^jw!|7ed?Y%n#!+Q&Uy_?U-t>EJ6dN!uxiR63ke4cb?=#~`o)qKRvsSn z!POs{FUhZzHAXdk#EcQQl)|>&I-u2LHNr)`0$19KCoC=`*m3%ZN!q&P<&xZ&1CNCo zh7MysV-5IGviW}M6Irr~{+~ggG>1Gxwc%Ea_WEg8fl?~(3S|OTD~Zyn>zq*iz*&Et z8bUe^S8o0g@Z+qrqFQKvtfQhen6=Gt z>bqBQ)l_xGnjNjMz0zf`Q6;-+XXVOPhgC=BXghNR8s9^HFUm<8jv3G*UPWpsoF>=5 z;_%zA0eFMefXL~);amP&_V`yN3%gJTK)afZ?y`{rfOEp{W0=4a4 zU7E+qm9UGhwzyZUH<1Tc^gqi%_(%@N0^@7g(J6r|P5l(E?dg>-mtQTsfKI;`^7etN z9yShy^o3V%XTJ7IVWEYbq4zF_#XfeP1P%6Qpq+>}UeZ>3H2Fex2;1X$(X*c~zA?nZ z=^FoCbMA7XD5>qEuy2*{$i(>ok7V6)TNh~Fk3OWEd;eOz&8wepRFd8x>5l8I2`$gC zVrd~c`YC7DDscB4XRT6=El+q*U@{efTU)6Uj@6mf!-!$9MC^IX^hk%(ElWKa!x#w| zABfO;(r1~)EH(+x_=>%Ccg2uDAwZzrJ|F+gPB)IpfF+zZKxNa%S2wVVnKk}UpzO9g zuX)3DWt|(1ljCuEg%1&UNlXx){%puzs$j|l_ZdcA!`vsU^6dM3h|jc;1%9moqh-HjO8n3Vn|ljhf?V2}ZTPyV_H@Bxtc1$mLJz zcNO?-)_BQs$9tU5=M4TJIE{jf^Yh9VwIlNAI}rF1VgQ7Ert8!(sXe+14>knYQcrkE zB?bl228VuO3)4=|77@iZJjki1pKN?Q#bdx#?@vwcWU1axlRoCPdMZ=)Q4-4j1#%<1lsX!h(CYS; z+irQdHu6w}HodAgPbz(W9A^3~5HT7II-0wDg$FOW5SE_*JVcq$%C4qsNxgz^zT0=Lq9hHTm0dj zoN2O|hw@VHSsa4iE0hd^YQOn)@6u{c!SF}bC2b3NGG`LHH;d5_Wz$w?+sH&@f<&zv z26OG3n={jfM_7N>Kw^<~GH66!g!k_D7vcRM4|*$+Ad-1NFf0Nz8Nw(sO6?miMxPBG zXm5bD`)b{V^(vnkAx0mm*g_9$??bhQ*}~qH8xhxUJd)$x`L_YbmQnVXa6%+*u; zrWB-ltSQ=1oQR!U=qLgzvGFL9vP~E!k4`3iloOCsOJh}Kg-SS+Y%KoV*L+D{g+p%5 zIAl6X3|-gI;)jJUEB{;HFf~*1tqdV5){R-jD*MCNLJ6a#|HI2bI#$z)GDOX7<0Oj> z^9q@~cO1w59gkak6BB_%hJHO|qODdy@9gWCX9>S60|d*G^||}ROJt_}3eNt?k(z4h z{g7%Mrd|~b&S%jb2|{JJtDQgktLhs)og3p=ABkb(3xJ3n9x@5ega5Q?$tj0O9?&5vY&wPUANgJ^5HEN3$fI$UFz3 zX%wN2r{x}xzdy4L7qkJob*HEt#15q}l;KjRzf$BgHMO6Y>t*kK_l zLcWoY>$FvTokOsH!^uWA41<-tB{)Szk31j(+sh^{`^s2O)Q}c8X%w)Z*pnt}-&||w z07D+!quPH3QZJrpuhWnP6Q7xCBz&%u$=q*8(ELbX{Em`-L*__@N=eGwND^1h9P5h) z=q0cQY}Ts`v>;=&;601p{jO=7Pd?NZo{5_|tSYuuC42#isnO7YXfX#g4Pikyowdgv zpfi+JP0P2DL^Xs4y&`mYdbt_%`We_Wz|~DybU2KO`wFc9I`ON!?n;?9c5+GJiWbbO zBujy)L`cP;twh1l1TE~Qfkv=9v=4-8bqm@Xh{WSa)i0}wBspi%2WkhFBZ0=RfY?V* z{zFKzdrh+^B%MU$IKR38HegUI#yV*n5U(3^GNyu@OAb3 z5*A0x72x`rq$jDG`s1gpnls`ZntnqYYv0%x)j=Ci_p92RS6?P)RB^y<(2igeS z%Cv}S*kOUaST{+Q*%=ip2+1`tCIbpbYr&@E!I>XoZ_>~^C%F>n2)-;=_RJ%=+xlYp zat9Vu$OBWM2KM$?(ZhdM(w4rE0(OQH*Wtc@^-vDtJcW3K@)koobXNu;P3y1f(eNf| z6r9h?NXv~?Io^knVuhFXsY}3~ra3!{OM^GGU zBaeFbl{PAC{Z*-6Q<+_?@L9L@g!{)$$p)R_wD0kCJAv&)oABjCC3Le5ATPE={S4*f z1!GpJzbI2fo;x%I$ycMbjsCexZ^}RZQ5#i>ZuA~x@kbp7wXxGoOcw*SahZ&XM_^R^ z8oeXt;5j?YNF->AwPQ@4CDy~#KPazo{z#-_3mHnEDY{pLtpIi@5o=JZj`I^UyzYlU z@%kkcI;1PY@WtOeSV(paz#r)d>B_mE5gwzK6RW{Zey>R2X7VZf;>%<~JXx9@B|}lF zg;n3kMcsKkZTkDkJkev>gu!jlgLA$H!X#VuZdak1Q!edv8Tq$fWn*|~;gTZE2wmIX z9&G)Yt#R4s49>3`mKiA$j1Nn~-{enf;h}NSxahiVtTHd-w4~Cf0VcTJU1hltW5VB= zQ>;7YU>e!?t$D|$9J8q$m+z!p@X#tA?jt{mF%ZndQWxp06@;wm6^nlad~+z04aEE& z;Suc_sVBHxDI@P#yDvKJI02fRozzw^YCw{hQBC5t(ud<#rt|576sF+_w(byt&*wNv z-Y~29lfjJb9qA*l0%)BOxI|HBFIe^I;hXo3-N@e{QmJ5rTt;DS4e!mUll>Mk48rL3 z$;>Wik`SH+vZ8v!3+AjNmP(;QcyDO$7x0ILzYHDb2|TE$BiD7f5UY(?bdvZw6P zeAlWunvvQNnBHCNZ0bQRBIxp}JanGbA+4#mKxCD21_u!fd?(XjH?hxE%GMz;h+1?q)|WeEF`1fI1?WX1f*6qV`?T!eyfXg z#k?E`lH_rkT$k&7rLu56k_($+!lIzLTawQ1U6dSHA2S<7`Cx(iaW&FXK#JTh6+>8s zS`m?6Y?~pv=x5=oo1Zp8SqqKCQKywTVg3GWV`ylh!x;+Sbp=xEb#+}Kh}PW4S6NssB~L6SZ;Tj^!D*;jv7JWyjWo2 z-ac68xwyTvgD}h#yZz0Wf4Z~FWE0)osC2^FTWxn4muvB8o@@=Z|Bzii_>k>;xw6Y_ z_WbD7O#SHOroTR0=P@_!>eN2GSxR>Mi+uUNQF*N%K(i#-@mRZyO!5C_K=A+H43LYD z8O+^2ge4AIKYIUld<@eWX?FW7$%s7~SeuOdWH39)D$Qi(Oaht2uI0L)J%?*7viK5a93A z>-|~^dP+r%w=)Uqp`z1jkNE49Rlt$V{D&*P1*~|%ul+znj%Y%t-H!u0QO)ViL5Y<$ zp8l~WDl+CVlUx8wXk;AK&-)|Po>LuZfs?1ZH+d(#{q7KfpQ()|XUps!BhHhIP1nN) z4Y!mM$P&%-r;gw29+jG_dGK7u03Z=#Pi9}*S2|oE4DUr|tDh1#JimG>9Jrhn`&KcB zM|?;6k+b|pRf66xm998Bq?ntxctAArxdcnFoX?fzR?1+eDn!^P_rk|=t0<-pHyP0S42 zX^RY0oUU0oGES9bg1lQ5+jGYS7r4`LL$Qv-EZ<2ATcr`!Jr8TI%T7_^Z?>}pTpV%h z6$MBcq&)S>0$Di2R_iWGj2V)((&=U5!mx_j7=a!*wO`pg87%5HA7-qczISIYNgWan zt7WxT@1|_#@)LvaT?m~#=Kw|5K(0w$7K0xy&Wj{omQxY~m#y@$Hl?|4I~gsZVI382 zJ3g*o*yygxf?zih2zz=0_i}6&-NEl?FucWBT^R<4FdsY}ac}`V5!Sp+-Bth?Ck`7g%5L*pKJtC2YNn*%MQg{YC?Dm8`lAf288N+5bhI#S7Kekjd{ zEh;!S0a1{fr_}PcFI9`CCBAuFn9z}Re_1-I$M4MV4n)pIp-%DFDmq}*-0wnKrquA_ zC-Vrtl4!GG?-sqV|A?W`TWWQQPaFB>OVOg>3jvMNbu^{?vAiBS{N|3+eK8MvGz(UO zjlHcJZ!}90!&g2_b6~_H;@Lz+`q-Z%+82kt+Y&P?<~~h9IBL?h*; zkoMMFL9K0Fa*2k1XN>Rlzj;^u%Kx>uKI)7AT96$NXuJnI;K4>Segwv4RhIf!M}CDx z*{In=sl~7K7U1QhTBRkhvJxzYA@s7=Hazm_ayY|2!x7K%wYHaY`q3xCw*}HlR79%k zyhCx^TG39O!Sr~wbPD0@5Gz%H={o72y04~$TqxIjJra6&v<+&h;57Li%(b(flF-^F ziJIn86+?lM5L6udMqV1XHJ3n44k2HQg_5|c7bpftQ`El7Jvh*$L1U0B^ z+GQT_UV8njHI>4)ZkfAQVTQwKeLSfN-I3g z(1Y4rf_*2I;UYlT3KF7Bbc1i*yPS46au+oiG^rFW?QW6*wheQ~nShohPwoUh1+N5j zpMP=7TxB!%_Pc=Nm}a>>QvHuVS_c|6-5ue^Us0zDh@r4?gATRB`*4s_=mh`LA z@tickpmfzAJ!I+Gqq9>>Kg|FY4osAJKkdOA!z3n5q!}oD$FflWx0)71OBFqFD@hm+ zwiBP`MzXmJj_Nn$QZbyS3N#-hPXmn`G9|)JWYOaaU6JWl_jBvh<<>ZBq=6q!xoC;NcrH6YO5B@wu zg3_LR@td-P1^mNrOY>Wp4{fr!JC5TbE9J4)ln#w>7=L!FLNhpb4t@1eEi|6&&j8#B7a+S=>`Geu)o;5${lx!ZeKb-0NpzF#$6eNgt^ls*!I7}G)GZKLbGDxJ%kb6JROzuR`|IW zN(*QTh1#YlpTMpasP^TPGTixxADWc5#qz_sRInY#kfL#`4Qg<&0?7XkN=_R|9BzC? z*tCoaiG64?*Z8j=QbN}-GcBOx#8ek70ge=7YF{B*h0Fze8M-ydfKeKGU32jhR*3wq z;mPyw@fOk8F%5W7NSCM_n(d@#bI%uI@$BJSjNm4Ej|3WGNAvPNCo)PE_r_jWP$%~P zgjcr$5e8etx8e+u>Xf=DgPbjzv4an@3lO5CH(z}#oyVo!SEYykdk4g8gQ2`8;l#~- z&S)R>Fn8#V{*~7qr|{)N$ZVy3o+F}ZN?(+`-cnX_D)ZDht#{z1Zkkg*3}9Bi2bQD2 zVJCY*0vBJ5KTpP1#J*epmWRyi_oZXj!)R`4D+fzzbw9H`k&g=Ms%)wk0}55N&~<<` z;}Z+l?En?t2CjS(07w4Sj58!`pc|THX~p25h2q3{cqS1v{h`9*C^r%zBR+_LuimN@ z7hucJFy$29uDq0D}=j`dOK?d5*fv;M}zP^!8d$ z(zWgM);KSj1F9+si)E-ipK&B-nYz)Uy2P$ptf6Ikoy8UwsHd@vu0z~q9*?t_kE6%s zI)X0TUxCR8T1H9IVd)l<(XV_YA<6%u(zthZ4(&{B(HA>Lz+{};y;fj8#N3*SLr!ZX zRQfNU>Bh9?EA^7C1vI#=FiGB3oS=jc&sD2eCn#}Q%}R#b1CJMX+?;g7mWkMdR?@*9 zd1M&-YkuDbptzZt121%MfwdP#=>AMMAeAxfyLrbea5cj`-}j9l-|mXc?O7#&{UR3q zdnHyNt|u#qEqDtXF}k5s&=>Btpv?UX;M;LC4{f z1mhF!W4UpdaLkZ)U$~#GT*UJBeduS#RG^`wEZfO2pohI|IWOQ#s;dK?o}Sf7ep{iW z3cc=kZKHAx5r^aX=JzKes+Z^6PUm2>w4X~e5phswRSpLKf;dv2xarGuD)*h`7g$uC zewXRPJF}L|`T>^QO08Hl$-;x8REqE7DTW{&!tt{8a{jZTlm$&j)4Z~XXOm=r z_wp+Rz)#?#0bAI{LA0>J!s+fOTeM$#lN1%$gWCy^EV|vPz5loQ<+Rdxfow0T3D<`y zlw6hdi3IC9)xhD*-0zC-z{qU8Sm#8S%Pe=aoT|SKg0!IFkb@(1XMSu)4k&_xnYNGu5*vOnu!zi`p39`iXj> zH_umO!nwRN2Viuqhzm=>T8|-H7#qc8J~Xijk#euE7%*TgVNCV<*xFTQs2C2NdeYjo zK4nVzqAlvpXVC{#_p3Yw`LLs})ygxt_@L^w67lc(TEFycDA~v4Ih))`H_t%m>y;dV zo}E!OG8o669mfoO1M%4#dW5|UHITgau`P27B7UJ2B>NbhlI#`f1v9MaWeHd zWlD*lU56)Y-;p2_a~6H4tS@hxm}r|G#3K+d90A&%6Ot+;ts1kv(ZYoNnm6mKrn#nY z6y3!R9%Z;hp;Y+Nj)V>GLjJc@b`TG6LAuAH?=zaH=%Cgq$Rl36#UVxyDO<^eGd2a4 z5wWq2B7R5@0F`V6Vb+^H)Tt~H_GJA zjU@@QTZxn80_7UI#m78RUp_G&;U(=F$8$i~Sk;*tmse9VL%*?mVU|y9ARamr;$ls+ z&5JR+7wUVgnWuo)i);stF17&%bJt%e=A>I4LG^3@)47}$(C7a}t~h|y=^5(U-b%J_CcDc+3z zc%kb~%jT=lScsppf7S)1A^TWAU%sb4Mnzomt=qELZD!zSN$Bu0?cw@zLVAYNph$ys0iWXcf=lgp{WG^PX zqxJ*x`;c~2Pws#&&ADmc^o}d` zUa8mn0;v;BpRo`q;Wym;;pd!4uui>0b^-p0%;p*M^*NK|tY@jO0%4{iul&4Vi{1HF zX#2}2i3;1y#%DbY6MDwHBujJ)=40oTN@1$^If!BSIpv`1g3ii)+Rpt75B8c7^RPuN z{#+rTmk;`I2Lnd%0#}TLR=;daemgKP6)<$b-E$Y3RQgbO5e^a2nJT5ECy|;X%43#W zwOj-QxeySY;O99E^`QD?j+6713`*P5pibTV8{!EXaei7d*oQ#Ead8VAg> z#W}5xQPWwZd;JJYsfrYi>B6H`u<}&3%$`!+u6JO-c?DGdjra0P-QiobZ^Dt&@;F9~ zR|7Tg7wNo>dA1f-G~y|fx=flZ2wGcb|KuGgH8F`xCs~+!Z61f=d1HWQH%yF}>zRglPn#MW`STZVRtgp0J+8 z=OYHQx}xaA|4Ob!eus^fey%g`S#{A+XXE5{W=c;RvRoR1vtw~kUl%Y(71495zn^mP zdaBroxH*n``LluJ^cekS0=(`m5$$*Gtr6`v9V`JK&4Z6-C)H9;^*K#5SZLMLRif2* zcRpR+4GRhtgU9)4`i-**6DIPc?(SKqk89JZ| zDKBf@Lq>%v*V6qt$lBH??_##mh1t*)wH9l?@TYi#UZfsYt=zCzK5Ts>NlUR7+F#WP za0ap)fv|;(wLb{_Y76;Ruama23a8Wltzhw)ACCl)Kd0vJP4E}sFEzRNT&fs*qKDh7 zP^Z|I!{zd;BKoF7-7R?$92pW&Cxt?*>PyaK?-M9p;tB)6h@@ z4f(ALy?W{xC(y`LI#mm#wfzQRuk@h-*(p%~mAw(>wv1&Z%Q?Ic*E2JOhiUNN3jV;w zzNPO1jjes#q6%De;86N!3vZ>_oI~NJzjf785mRAGGoW!6a#w+3wM@&hM*r}>2$h8{ zWpgMYYdGzqL*cBGjl0jtC-oYMR|N`u`Il0V7B=p$_}Ma^Aa>dLu;LOt^N13l@Jmh- zi5$JBUmFj>oL;zT_DI-OuN_nJ;ynaUjMpH8>55INk$ErYOls;*5fQ>i5gsW{Y?A4z z6>N%JZTPjohk`EEE0xBgSoA`{lF+yxL)1f(_D?mkYMtWj0w%jH4>t8>bhhp5U zhqp;>j@fc2C22`mnrXSmP>7|tB1~eU7FeUDf)FJWjM+IbY_z^UGCB=0A@Lt^luyYG z6u`p?&P_+ciZ%Vb6ixLIbt}d8$Y|X7w!Qhstar=t9kZb)rtp~cAZ`s90-pa?KLo!& zJU0_p7q8ya33@YK?)9sfPp}Fy32`Rp)x9=REg4H?!RzdNEXUEL#%kqQ8`fC~ZOb;( z?m@b{wvzoaVD8XLU$unsG=opMwO(Up)d~T@gXcVEfm_A7Fcxm&2;*M}Rz%WJK)moT%W2Py_BIC+K-CF7}Q z{m>PUK$~8XozPnhO8Q*0kM=dwuSobYn`Lg?{D0pg)o?w-%yJS&r6pg+S7~1Y)XG_ne0u>3f#Y z+2n*;#Yh$Ax;mA%GcT0hi9M|&2rt7>T;LQuz9pk< z(yrHsJjrfbC@uvYg2K|!Qi?kudyN`tKYa$HIh-MJr8nEib~e&E0$#=b6`PlEY; zX;in_Vt%mX?4{Y$MpfoC;eR@|l1|e{0-CmyGETKfaB>-+3D|RY?8zE3Q$>&Pc2~HP zyn0%iWIr$>R*KfIGA_8%Qk5=HY*%Hjxe^ygh@2G#;n)E1aj>JM6!is4FaR@Qigw20 z8IOZw{JIO3-_||Zt0yADHm+$Y>gddMVoT0!zleohY>xne`C&;Kr|Ks8EK$s)d3s)K zs-{x`dR`oSQ8N$<7kzy`S@2?*aI~o+>)wcFCd>8_8o!r3s7qv;n!V(fD(X%M7yuN=`Nteln3F$>*}y<55mqJt9rd#+ZSJ zfU=7j9!l$~sVEyCkEEo2T@AcE+XK&_<0-?WWBoNOr;F)mn?B3U`0UmA*XZ{>?Bna6 zpAGP8uZCGENUjtwz^VjNBwp&RuR90%^Qf~mhu9>yy;;daQj7g@JAP7-VGtE|k!}|^ebQ)JysL5lB z(okFKrBv64Z|k3}>tr9!?^VKJgRrg%oMGRT{;~Zu6_0>JQ4S^&6W{V3NTc3Wu?4Mo z7D)v6q-Bc2XWA*~Clj<6!oOAOF$_Kbro38q9^6jVVHS@ss?0D<`r+?)FV`Ip-c9Pl z2Ic>W+WbBdZv7D=WsKG8Js-!;UZ-iX+=BaD(v!x@uO@<`mn$E|K|5cA_$U_)82l9O zOD+n-@M=|?qz;xUH^hdT6lJw-y7+w|*v33tjMcUnT3s<}@ij&4Yzg&K}2 z+Y{*D^`p~3Z>pg8Q1?J;O9-KO5|+nF{%a4JtGl`TxdnBu<>dvK^bkc;zET;4B-Gmo z*QrZ$y=J@&-k4K4vrx)iVZoFJ2q@#6Ky!{`_U+>-_}x|N-j6XV2yB{Xd19O`*hL-VPo(r-Ksx1M>xy>kibfPPOc z+}iF(HlDm((drwqRJ<<4XRVitnOQ3s!DfkQDb#A|srxwN!oxHADB6w0tY=*RU-yr# zm6zz8?gaILgCj&lLb0(Cp3u}3X+}+{TBbwOZ8$$qRCd@LonilO+^FF8tYC^6oTu%W z*I?F5vIsWdcrsL0*e78Cx&B`qUsN)(48>83@8p(;D#G1-sDyIEM){XoH&7JqHxX#_ zaLuZW9^svQ+gS<+41P5qayu=x^MCPu1Q+`K@xPqvTy+Y>5kMhxW80t+cB@<_-O5=$ zF2TYFky@o@5h`oBv1vqU79df5?$k-?Nh7N5p!^T7q<&%24e6R12x@xk_8AgOarsXS z6zQAaN2zueq1bpC6;(<4FNfI5H3Hx4a71h&kJ<4K_ECj1zr^)WlW=0iqxh=Q;6KLT zgP7OHF!8LORCssoN35`39H@;zX?y2?rIiXE%W*j#oUp7`S%apF->N;wp!Lw{5k>eh zJsBGYxpvnJZaNPnfc=KbU&6<3-H#NmT|S)y9Phh=A5kCW_PzqsGtC>xFw4<$IVG<~bM0dOSZl&F+{eYmQz7Ov+9=4NE2L#nfU?!mdF(0pPO zg#2@s-V^Jc{@0LhKG1M(tT4{R9IN5!(4tst3QpjgRG)Dc8~-!dQQC&V&&+oCw;}xf zg*(7`nw7~B_-M_5z54fm1yWON=gH34ite#WH~?FNPT~Ctb2}?RZZoG>|Y{88=39H5Yb-0!^)1|kp^Fv4}j54KAz<~ z<+O*&K3ZvP-pgiIA_Et$s!fm$U4AAq}C$d`w2r7EzjlRa<-h#!uv6 z`yY|p4$ckKjfBMQ?;}4*zt@K6qi&w<0n#bI196HHyL3ceNz*^dbj4fQ#UpRrr?jJ( z3em=gY5{*_Uwt1~1jlJ}<}vb-rZk!k(B13xu{Ef&HNf>CN?JYx|o3GrzEdtKAg5MA%%eltkve@)HfYxp#Qpk@lad zxnc~huHw!hBRpH?UyEc(HW#wv_d-7)LZN{I8hv`ZT+LX*Q|wd`%D9!F_`S;<^|J}P`1jkz8N`LGX`t<+(P{Fi1K|pn7@9otXNGn z9qB=1lJJ_M5NU&{u`hk{DnsMpbLs!nu(2I1JNj!^iamrgHc*KZD__qB^@GTu^YGaDe!0q4D!x@~>?rz8jT$On zUp*Q;(}!`dV+it~*Zya*1s7yMduDWbO-q$**6j5N^=Z7SWcd_(Mr7~Ry1dR9JEH0c ze}m^+IlT3_C~cV!^g$l4A)7Nlq2=O}NJxW@dDs%PR% zjXS2hr!ZQ}Qk$w578J4F!P$;Q^tmh^L)WXbQ5e9x4Ql|8mZ+CZuzK4VP7}A!z!4B3 zD>)V;vW0`^l9n^wgH{lA{ZYk1s)*4Y(rn42CAY}=D1(<;1rRD#)`tH?_9zQ!uwt8z z%cBhYRy&(=|NPe%gftY53emz5B()2K$rB=WwY^sZ1%DpIAJ) zkrt4GOF;Kf8ix=`xlAVkQX=d9LDyAmj>l-A`?$fh5Y&tHJPUDs-?*dM&(_vDYLLsM zyxKoD#J4XO6_xVrZ@!H#<1Vi!d#?IB^)!v29$9|~D_9}sCbUMCR&o1(N`I6o`7>1U z*Dfb?{&q_+QaR2O4!Qr_Otwa<3s!sm9udfo&i1cd(&N|fJU+%p?xqVg)I6&_Q8=<4 zCT+T``ynhVic?8r8g|f%?r}gu-U4PwgXS9M8g5sboL)h6vHnQV+;u_)--;+b?h4+# zw3}EwrH7ibzQZOBOmp#4L;P~uRtrKEDWl|@uUB+e(1xg)-(V~VS)vBxxuzTUX#hID zt$|S}g5ZE3jWeC1-J@fK^f>ArekKJiJJ=Mw^@HjN0)`?eaoh{=^Vn(h2AT}GL@5CC z{12frde)hG>OhGl^P+|ik3m%9JPCq$LlW4Crpa6EwnB5v` z_L<~@?LLwnR)mpq*-i~a-C98=zE>R$WR&DVatU=m)!e&zqbXLrrBxt@H)VDd_)I4^ zqxbx3fXxF>WdVsdaH7pt|t8jxOKI0u{~vsl|Bnd=2msp9Vxt1cJ3T|cqW%9UT)OH-spGYwT;q!76?2iij@bS zIg7e$#UaDNAR1RAx}BXf69wGFlhpkCpi$*<-^QkP#iJ_R5jZ4y0PxhtFaq>1d+yWF zet7Onn&~^bvuS4crCe-YsygfUr7Y{6$cfx-pd2VXG{;<8MSVL{4AJ4kY`%ceW(&n> z@6v>>%{axkmvntl{qXClk%)C+o@mVzdLmr%*2W|V7lh;3+(uv#Rs1f|#2nlvfTb(M zj-F}HoQ0W5c|R`T$8u#Vl{Yx~gv4HX}o;JW$`IbuN;Mb#86rf?i?6nNdm4X{scEQWnHH@~K z6V!f6{1ks^!{in6L-%!Lxt873X{r3&tGowyy|U(S@OELoHh_*(F${G#nuL*CP54m0 z^!KY@h!H#kJ!@WJsL4N8yvFG-a^IU?zMb6mYfS&+TSmI}pO2TH1VikNAl5p8UQGj0 zf{(&y0lPiSP}ovvQE;!w)Co`Oo{+{F;4(Z)`h6Y4)J-Fn_Un^42dSs+`708ov*bM} z5M6kdC)so^8nDb<)~iHoh`%@cav$|{5fM6*-c$86ok;hb<~qdgH$1zK_38}TP2Qm& zb}PLPbVKy&kxGu0)76JtOr*s5CTlir*S7;kM5p7srfd>{8|{O>&dV1(`bNFy zI!nV$R#$hs*g&4&f4PiQ<+%;oN8X9K*fYVCrU^f2VVng%F{pZ1Bk*|R+Dr;*dDGh5PRM)WKB* zMlT#;A|WdB;R?*3-MaQ4OLFo*JFML33>$w#70e~7$3;dB7P1|5==d?_2@DN|JExe@ zMx0wTc9eHsun5}2WqrxTzVXP8QukkBke54-z*0Rebv`bYaIG@3xUkoNM#pDD_E|1& zk_6s@3RK$*xZ-}%xSXu(W-`y3!~Mh!bJ#k-ztgF`7wsI>KqqWMB+cd?$JR8=7|6jY zKG9$p|697KAw_n8u62CQE7X%rEIokROEoW;(1mU%jeej|(BS`oFkvag z6v04kqz6`wB+9VN)m7<@wZlBC%$o-7aRQYh>Msu8g3Ac5q6JIN3?w(rPyU1{Tt9bG znCwu)d_uc#t3<$;?h0brTo6Sm{8$h!HW9u}9J+foEjo3)+K&9}cztCf#;|b>)IYe( z+^P_zzkHg&Z`e6Ke0iO+S0+0>`+7HKERLg zB^7U{O(`tTQ|Cv()Ddk!7y{Qe>*=yBt@Sf}OGfozy7w$%kG`$REnn(NC<4G#mRrOb#9HnCR-Nj z?%8S1yyoqco#{b2IZqH(K|ryh?lS)1aYg1PL_Mz{X;J>|1zO1#f0N~cUv94*>(oz$}Rt$PbDk-c1&!MP>4bgoZkA2-5$saqcCf;5gQ znW*i=SiSx7-&`50t2u6HaZ~LI`-W9%k}%s(m>p4~H=?j%VRDiIYkRB-hXd<}hbAg# z3t^@ROYYrS=Brc5CrkYG8j47%Q%t?piAfh(hRt-J!!!x=X+okX3#VAnywB)=Z3h#= ztrAYK?23AjHs;2XroGDb1 zU4K-kZA%5_Mun7n%{b}GX5i#MCu-V#R%!Au&el&tgllvSdAey>(+ez3((Ehfdr#gj zBffu(dCoF#n$j7Tz;%=_GY$Bc8M*d7{K0@)X3v?S?Q75ykSHvcAYJ;(=BiGAxt+Zaf>~Ua{YE-7kua1)Hu@LL`l*Y!ry@B&R z`7XFLUo%%n;30gdAg=naL!cSzxAlRPxMBIiFfUh7Dsj!(ZOqKC6`g{ba`8ouVMmzRr!kJOomay3u;k;9^- z`L82_E56LhC(9ImVx>7a(D-I?H-oQg7b}?E6mMYY4tNa?AB=24u);cyWV^2p*OiHb zX2FW`j=6`uzc-ce`IF0Z?*(lV(8T*+IZrcwG*k|tOi$UAbh^3~o#vxs+v>>O2{Z8%bvpAV z%a4jf-xpBl%i?{AVmcj3Vd*X-J z12WoWu$__l9)+_0l z;}jGVSoBQB7OzGK4V_QyYS1pb_D#T21P6Lk zGJgVtHKrlrReh*~=|2ncry6-N8;Q@13@YK%Y5P5&g{ui@YvXlYHSBnoi^-yXp&N3o zQQqPtA8k}JQ_YnfSkj`4r$m!Q|2BO{Srn+cq$|$x(P(r2oD3GWso6DFzu23n;SqxfVuU?CNr!V4ExpE-)NC!H7aT7^>-j{1 zQaiyKt0C)jW#hg3xNC=$4c?wsyjRWF16-?FNVMPw;+6)i zyeD~!uhM_SAW;O9B~F77z?h#yiBjzXrBhW{q481!teeIkZbm5>0$Iw;Fz&2Ur_KMf z3I`#{TZrknKs7GYn@|{`PAny|l&uVk4GhGx*rf(Yh=Z<9TrJ{F16U>Z6OqV0+g)QUKHVim6UwAUm^yDWzwBjdlQL_n4lW8rD z4`?8RlB!vE*rZmEglhWp;$Ly^*jUKXjU#yW-N$)ly;R!fPlT!h@>xx%h}@=;>24jr&KB`YuVq_iVqs#^&*RYWD|#hWUq zV9VkRGIt9*Or?vfqsc1f(~+l+8oG7^zZa- zl(J~pJ}P>rZrMgk&hl{bKdZN!Lrs>iU!Sq{1iV(5#RCO2Dk8YNI? z&$R{|4Uwx+ZwT^qXrRzugK)@8?-r#!Ae{yxdLDWbKXYCirSsP!{+-NKbv1YTovFu& z)Zy`g4UckmBV**+x6o-LP+0sVP9?*#%h&4%3`?AXecb1jIxaDx@-5z(dHB`++YXO_ zZwHye!j&JV{&GkI(jtnPeXK5~JS~^<67?54uye;`O5(?f*)VHaFEe`A#kI_)`o4em z8hegnR<|SukmsY^^pNHAsYW=C7QSm^Xf=Ye#EG-3FADH$KvhldYU1Gr&&%BlL((|3 zdGwhgBZ{QO!o|fK*Lzb@z^r8xNt3|hU$q9;AWhL9$KkUo{o+5;XR%64=&!*c5w78V z7H<<0<>ykDxq=1do_Z+T$}MA##$2Kn&Ol!|k<(|1{HZ{kG;FW+{Ldj(J96W};yMWE z7IeKV`YtxqS+C2D%Au+aMq5r~hrPY0@y7ZSZSbg&$ySZCLt~z@NhDI{a6(|L@5(8{ zyQtbbEWfS{Qw>Rwm#QL)n+AjytTRCOizTulq}C+6C}u?yd>Ip~!X|rP#8YIJ=7=0s zVQraJCuVRoSK%>=!%OQ~c)Q{rvXT?LA)T@ZbF3557wG%WE|7GW&XUtSVjlv13&O4_@b$FJ&Xe z`oMd%;9I&Atw($0uw`D!f#uB5crhC`4+_27ISBxqwjHIFvi+`a{T4=7V%Nsez_Mcjf@Gm;9 zCVB3Jl%U)cb_&Pv>syxPm0s@8pTl&Hfx4vc11F1v)uo;-DZy$EZ;4*ZiyQ2+!2H}2 z2OP0Js7CDbrrta^&o2!K$vnY`bagkg!|1SpDs#9+J%xsfw1woZD*^KWCm zEV*<~NH`Tr{vAt1TdE7{ITak2kke?f%#P;RYV8m`w$pZRLCo{dw|F??UBONAd$nA3 zd&`R~YoP>9)2d%eJD#p8tZ;Cmuf*{3&z$R5sqv_M?M&g(R&fx*&G+O;Cjs)ZmG2`w z{Awz3H*EKVzoPk7tVy^Y3GvbDdl`)(_VO8NU}idD`O^lR)(F$p-6e41cQTed#~@|O zHe%4b%O0=cgkRdo;|MmgvWiWqiw#1xxb`6K8O5A`=}D8je&()57uOe z(T<7>T*pn#!fljDmM)JGA8(YyKvh+1BcDel(elHnL2@xG59SM{A_|b$U-*?f#3p-N zCE&!Z5(17)iEpqbt~`!QDOBR0XDAJEiZd#D*6D{Pl#8l7R>D?f9EGtmm+FNJ4Js9q zk`-;emA*$imsB!SicH*&3b8ZvN)fZ&s|!!Y$wYQD5k#y+uX{+Zq=|eiE{Zh`{JzW` zE>Ab=u$Ut4Tvww((+;>F=MV49Q|Omoj{dXKDrU$QdrsJRXbbT1lv7El$0Z7VhJKgB zRNNR)30KFtB`0gD&%NreD>37Y^3ynT$oOpyWsKLCEBd{IU{G0nj{*G_*# zh)eJ1lAv{31PPE`hhc&a|Ii=H*ojzdbq-l&=xU@P#z(|fG+JJa^vZaPqN%M&Sn9!( zHOkHNhM^qUxeDDuQGuu`8tKxq_!M9(I!R|Iutk3_fA3#^;Utek#?f|O-u|i1EOlce zR-r>Er%{7*2IvkX%IaHAepl-7&%jTQyx$>e8Slm<+ewZT*Tx{G+ewx?BpmQ}cph~j zq}>*_=;N*__D5RNAzu}$ov%it&z9?XU6H#grb2%w-42U8CFxb%?zZI_;;-q?FFf0X zY}fYZ3luc?NLl4Mh!3L0ul$2k8DSUkZ!k`#Bv#s|YVGe)^tmg-CQ3%W&;La5&R;XEa+RUXou$ zZ}-7icFXcNArgUX6z=rS3^cRs38kHk+sL)ik+!5zBULF1aMF1{27HTyqqGl8{ z9DW=l0Yr3vq*gs7G(&KIqOb8|LTKI$&Yp9LMM4Fas#aOO20y@%DJAEF>n_)!bQcyj$o}yj7lOq?;`Q7BOHTN}0?Hk0QRKZ6grSv{%pFWayrY!4pPHV z$*rQk21Xf-q&fUjRSZtig)BGpx$W!+c^{J>XOAZOCTF&r=0sE|n?rZJV0Esv;}tLTTf)*R zdd40`u|Z=oKAcON5)jC-h~>ijq04AX&IjSV@7L>1`ps%LUXMr{fH9vG9(2ZSLm}bW zpL<}i=0_bKpEOLONx0?nYe0b`ja-);h|(S*e~ztC)>Kj*+4*mKDOr?k)vdvtRoK7H z=fGicK)_r!KRJpwlitUK3F#hehZ|*r5X*#7FpqPLllMa2E}6_2>p1SSnMIC*O}XQ` znjx47NU{?xE5g7-T$ng4+lnmnOgukA-dD4)CWErq-pZB~%q9CD7HaCZQ%(GUi>CT* zmTWwN6fZ7gf0JWathoLRe&fi23(jc%Emo?-@5z+sx=7$@+HhbIFsLPQowvl9HEwj* z?@ZGocZR@&si=5_POT6{lGCq+Akr9{Nwrp3XUa+-n+lp!Wv}uG)%>LmH6qhm+`chg zgvwSy2{OdT=}aF~H=QNw&y+xs1iYf+Tz%Zpsx=FL_1}|TJ_JQrG(>?ocRO{Vz)Fpn z^4=_nD#CrhE8CDS;`K0_6xVt+9CpaO5!JXg)3GVI;5Zv9}-Q6v?LvXjj2@u@=&UenkefaNM_kk_d<-NP9 z*Ph*W1oI@Y& zDduuxCd!UmoK}YT3?O2`ZDJ8C%ec61phlJI1Ck&`o`l2C32wO zbO|i#x#~4<%ap|e@xJqM=yh3heKsu{cymeXP3U5#pPh-wRgg&m^%0jHO7N7MSSTQY zS=GNtIVIb-reW>Z#Fjd=D^$n%l&bjD#AFt#l3Ur3eN->JvG5@U>^)$ zM!G*wIgJ`Fh9(_h+}emXibVL|(x{3#RrGFMfvR+H*x?LG5sS~`81-S_NZ}gBoT8T0 ze;l-_HVviGr2N91!g$hKSX%3)VKMm#7Aj8ugyD5YU<|R&pJBAw>$s}Hyw$)-Ub7K# z&MfyourVl}Y2`FK|KvXatQ}$G8#XFQ<|NVkC~cd?W#N1z&ZkW8D6`SXD*RUxj2(wm zL`U#6<;+EQGG>Ti61jPKqniO8clj28nHfGZCYWb7eW5Jr0%pqpDIN^!o!O*_f;(Pk9N~Z7EGd zVhqI}i6U)aWl&%HtCXWZDSyg0?LI*vsSjJEUua;zmHI3zFQ*zvK^kem8$YD6gVlw+ zdR99?H!hujTu4Q#mVF6+={uAB<-K&9?Q=aM=Ci%QwM(~+htfBcEs5{|PNkThgam

    n&d6Qi;^pO%m?6H8*ilgEPf&mT7rGG22TB3ryCcvxtg zCDxOcz^Pp|j|z$pdWvhBCC1@K;AWMxm}>PX_}iS@z!}2TzWL4Po}Q(D%a+dL{!2@5 z3v16o#Eqh1=sS1y?kQ0ax>X{r_#8%B7h&CgSqrVH`LKq5BMh;HZ`={vf22 zOrUQ3K$3COc>$u2?gkJDb|=dbIS8{m?LRn zB$}jlD9vTSB-wx(sae4@E7lT`ys9qz^^KsNp2kCHAzy&)7(F zbDV$1RexpYI1kMaXrXJn($k}8KNF9(n~cQ$QI-Z$G295$J?YyU8;f+=kWyL0j@c%ja-|^5SX58xJ3iaIN3fJ7EFc*kR z;Oz8^qt0J>0ipz%hmpxNBNmt2T)yxsQUS{<%i8*DfyZ0tmE~4e>!+g34@r*QOUqLE zu<7Qekk>=<lHhysW-Cu#~0gKl0T49Sk6ucq?q13=o2^^-Gji zk1ELzcTzJuAxo_dJg82SVBVsCs7d9cS_Es32`5$AGnNFa_4&+y3WckPL~^K-jCCqY zbHqYk(lIEGA}pRws3G&lMie4ajZxa0*D4VH23@u`?7uo2=;O6`MMrpUmK-h2@g^4{ z?-O6)iDR#7b0?_TJD~PT;*yr{-LU!UUe~uletU41tw4BI8Pe#AD>tiQ7~CzIsn+yah~EhUf)igC5C?kgrH4mu4LN2dHFy@sZpB2Hd6$M=VKz- zn=`8_*8nmTO7sMH^R;zkLg^G>(yUMpSry6V3Qpe!%Y6ORFye@4|TGvjdS{i+CWG-c>NBa6tx{W@M8<1>}) zUT&x4K1*;O0Ae6>b22A={aE&Z6m0O11nuq@M-_S~vA_RNCVSUkTU)P)|Ko@fkPEO! za*#gbz!1AcboMD|Mr{U?yw$ zFY2kY+(pku_7Q+irPJ{oj*I>$&l83$be*)m1L= zb>2!*D&Fsaga5&~`C>#D05Kg8s1cg&D5*+f(PAwtFMLW4KL(zrkjK`NEH161@$h4d z<-Gm8HmxT6))Jn@E*;f$?G_!?#Z3+g*oY(iC*(^j5lF0697s?u?yI168bemV0fs`l zNm#KQ=dbu_!JTDh?~V}D`oEW8%B+dHtZ+A;F%QyTO5g-(m@8}dvgC6lx?%TxQM_gnoeEzC-$G7{pckZb z#t0ReRzDLj;lY~IT(noL=KtXeoO+75Dcd^1`CGMQ#oj|J5nS<-3C+XK|Ksc-LNDzY zN&E4zQ0lk=l|1zEIDc$Yc*Yl=St9vO%#mxYK|O+X&Ka7-X048OlkZq&or&q3&mo^c zp@9CJFJ}0q9GJ!quaAK**77g)etts0RCa5dIJBQXy{7n{`re9Llb_J|iq#ji8X5rY z-1BX9HNwl7iIx4<-L-exS=X8^R?b~tyg}9!B_ss8vtgPT!66@!wys|cAKfUQklRF@ zm36k3dSmLB>0>5`O*JM~hDNXcldHU_V@j`9>K2Mqu%Ziv5Wfz10A;=n`Ip~0IctyE zZ9SinXm{lN&(2%umn2sjmwEC~Fu`xvzZu4IzSubsVH?Esx_plc`00!anS`K^fmiQs z5P$AuUnj9a)h964QcF|OffDg;5Xao?#&`;0L%c)_Vr$={^EKk&p}OD6I&oxu9f{I< z^ZO!UJM-xFQNe3;8&zz>Y45oNqJEq9We2LL%fyEeh99lr2(8IzrX#a+putMS&7V)f8+5SvGYA76UY} zdPyiZpu@UIV989G8Kazi?6m25-@;$-}5-n_u`C z8S)Pk)|N>1Vx`uH_;V`j&F0pQGN|H2pKwY2LYc=JMT@Bhi?|@ETLBS!UsjhDlSw4? zDV0QwzfjW;gcmdOWGPvMWkyf(UJ|vVIeG3aos=Bufe*YAXhTwNQ}Ca3Y^iTDGoAfO z5yNscPTiF31%In8uWVk>Sv8^1v%Pwd>5G4S;T`b6qO(D<1|7Q;uVI)(#M#{v-Z(6VwPQnp_i!c$d4JHRp4)B{KrIvO}85tolGx4&+CDqExLUUx(-3*zX z&u{h-07zFP0MZ6zIlpdNqci6=c9JwPaPSn4X3WDwb(lv)h;dAVw#Zj#;Z&&>C@^_ZcAcnvq*6`7S{6(9k=K54UvDHDrp9sSjqxLH@pl$K7&OR z)X^jlFzG?lvI19dJRfpXUG|Wz2ql2PG2LY4zdy168OMgI8zjasXV*$g4ol8OrEF1# zldymOj4Qxl4k+#^3=Su$W!EYC-^Nd^h$NNE1W}5+_bY$`F)~Doc>qLk@=W}X51L5W zYxQvj3_p6WU_40{ldwal1GC)@SpmbS#wCn+Z(wF~Z3wa=&M*hb-fEr>Pc3or+yR%T z0KGib6sq$lgz6V(4ziX{%p9jqox#*hU=I>JLcnFhHvsIUZ~5etdDjs3r@`0d$)@aD zPXr+9vyS_pz?ERa`o947Ul9BMKejd{7+D44S0IK>8=90SBvR3zUHYH7U4U)OCmdkl7G3~1{Gb18PNM@EYM93cur9&?KwB z6(G)$haK*84$$Hu3b@;jgMc9LAP2y~ITg^#T?o)~09bciXhpu2=zy3?SGpqKi9jqB z-)X@Vm>);~;N5h7z=D8Q=ir}a*Y0ia&y0n1 zeqQTq^^ur2*#ZCmXT-q)0FyuI{m=E#>APgI(AtuK zsRgy{aKnmdMNql!Y;Z|bLTeF3D!yKjUhEVuC6V`c`bbMd!hlnavH=IyDgeeU0mgZs z0xlzdie%8Yo%+epBWVLL`vqJSyVggFsU-zwXMi8HMdW0m!JhB{L8Z&T#_ONUfe}&31~bq9>{;LVqWTun_B=CeKk(WVEULQ5wQ0bbyCP&q$9cvh6@|HXj% zq1!+V2tDv*^)E^kB{;a9n%HGD6KQ>RRDqH?2T-WQ6TN`QRZR7R?b|aiG&oPV?AbP> z^&?as?FajVE~pR-+T)>}@l<-Ea8BNCBQa4ftQ#Zy11q+&qw(dFw8@N4k-1b(0})(P zo4oQAbadp%qw&-j{<&07Nh<^dj&uO4K6P?UPzeiWCuIr`9errTD^{KDQqV-Nm)89X ziFPDTy~f-`4|of@!=;;m4{)r~Qq_UCpk8lL>OaT<4)9+552aVU7=U1T86V)B#scI6 zMVbIT&ji4r7U0l3n3?JxXtkV2Qys&y+OmgZ^$c*TxwJIV`@Fm81r2Q<@e=6v8Zj*< zNqYGVlN&fK`+s&bf;*Zl-e4dMZ2WsknMEre#MsUS-R1y>Q1p|hsY>TU@Ipg)gTB~vk*U0 z2{oasu`!!b#pM&2>7SBcSInHaF%8cy z^Xex|p_5+?-Xi4V!eo-gP_2%pZwwmB6$nW-bJa#8vtsrIKt3A8km;ic)7%9!`lb68!3gcxY=Ow`B&4;X}We&Mhs@ zotXc=v}ay8OAwNL+`WpmQjoe>G>z`h=E97>Te>SOe^0Y^32r;T$Auxxp?5C6D5NPt zVK*MEal=>ZQcHoNpdpdYJ%wFD;6p9Tv&YELQur&d6MvAW+S!GI<66=vzZe* zlyl>f4Q!Z#_?Gn0R6BYxJ6)L+>i;dYaIQXXd6aXj7GSzA=>B=vrn@2+B>xhQ>CouZ zHsv-az%Z9j0sgkX1~N(%+DBPrI$d}Y)xepeZeK`Q82+s4y;kf+UJ*3&SqeB>WWu21 zyOphh{5B0{OZ|0rT2Y7cHX$c$5dCeBhHyXf`FXrh3YS}rXF&3p>tE|yH{wqCGEBQM zrq5!zo(RNwTO}ev>H3=A3XOUl8A@mCdw#A9tGEoR*@0OCSKO!z+lwb{F)C*sKw@9- z-X;YJ^**Q2CCWQ{VQdz?H{QC@W%o)a=8T{5ziWf#Eri2MO--MLDangD%7s17|5@?In4<9fX{sXj%o(k+2L#qW#Ld?R^L zk^@ooDF5M@B|p@h{xqQ%l+g|4n^W@l(*_f&G4Rs{^s$rhlEIDVj>2Un_Uf&i&$T~$ zutowoz!YUA+KMP({lMY2jQloqwRuBb7n21(dhtCQ)A{(Kj=EU`j}r3B?9FJIFKra- zG!&kOtDIpa*IgB`HZ-tNL1UM`(5+&Z51DAz)n`b#kPNgCv7VWCj6>>Y%Ez)$zp`L8 z^4Ot?6@yEaz1eb5J&O(5d&FEyKlLfWqatV7gE?!&yf$unF>Kt)7wAM(F6;bL55$c!qH|7()|_^thJOVtfhh*>eX4nOXpq^-g(^Iu zoY78V8hps_Nkh}8JFrZ8ZEsBS+qSNptt3aaJmVMR|-q?=2$1OhhAG9GpD_)E#4JNu^$lWobs!DMS8H!^-P$# zzFP$oC_DXtJt98Vy1Um|g|q@w|XHPDF(2YmA!md3UJ zpltjU!H5GHlW?R|azey7=>p&8%VLz3I=8W2P8zwYI*Fa{;KK1^H>j&Cmj%N}SdV0} z>SkQyGQFXEs+ju;C1!2^WaaeCT;*;RiNwK?RC?OyV?wo?X~Ri?vOGNNV(^v_>9nB& zEzUFBs2kH=mVrMVWBhi@8;EtWIYad&gMO&Z`x(j`^Gljcu1@qP_9(FbhEzTgf#Lf_ z*D}pt-aSOj|I6lM0bym0Ud|Fi>z-z6_ySe?N;{`M6 zZkB1ED-#<~wf zDX7U4hE8rUpC&5`E`Ay8A|b$bG4tm;6*ppORC&F%F6hmX$ko&fZM8*U^-dAgqC1(_ zyiR@C(z|^gftr{po|∨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 x6vKXI7WkR>8q!E&{Jk+;iC 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 From 54966e0961405c33867484ec7560f0e7611d64b0 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Mon, 27 Jun 2016 06:33:15 +0800 Subject: [PATCH 77/83] Bumped version to 2.3.2 --- about.ABOUT | 4 ++-- about_code_tool/help.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/about.ABOUT b/about.ABOUT index e8d70176..34284f74 100644 --- a/about.ABOUT +++ b/about.ABOUT @@ -1,7 +1,7 @@ about_resource: . name: AboutCode -version: 2.3.1 +version: 2.3.2 owner: nexB Inc. @@ -21,6 +21,6 @@ description: AboutCode is a tool to process ABOUT files. An ABOUT file dje_license: apache-2.0 license_text_file: apache-2.0.LICENSE license_spdx: Apache-2.0 -copyright: Copyright (c) 2013-2015 nexB Inc. +copyright: Copyright (c) 2013-2016 nexB Inc. notice_file: NOTICE \ No newline at end of file diff --git a/about_code_tool/help.py b/about_code_tool/help.py index cd6e70c7..2d92a78a 100644 --- a/about_code_tool/help.py +++ b/about_code_tool/help.py @@ -19,7 +19,7 @@ __about_spec_version__ = '1.0' -__version__ = '2.3.1' +__version__ = '2.3.2' __copyright__ = """ Copyright (c) 2013-2016 nexB Inc. All rights reserved. From 53641d2aa0ea50c6a50dc7c98adfcc45186c31e5 Mon Sep 17 00:00:00 2001 From: Chin Yeung Date: Mon, 27 Jun 2016 10:11:28 +0800 Subject: [PATCH 78/83] Update README.rst --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index b760c559..4ae1e24a 100644 --- a/README.rst +++ b/README.rst @@ -71,14 +71,14 @@ And on Windows:: For instance on Linux the whole installation would be like this:: - $ wget https://github.com/dejacode/about-code-tool/archive/v2.0.2.zip - $ unzip v2.0.2.zip - $ cd about-code-tool-2.0.2/ + $ wget https://github.com/dejacode/about-code-tool/archive/v2.3.2.zip + $ unzip v2.3.2.zip + $ cd about-code-tool-2.3.2/ $ source configure On Windows, the whole installation would be like this: - * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.2.zip + * Download and extract https://github.com/dejacode/about-code-tool/archive/v2.3.2.zip * open a command prompt and cd to the directory where the zip extraction directory * run configure From a480b35cd88bc9c4b961384808098adb08ad31c4 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Thu, 8 Sep 2016 14:02:12 +0800 Subject: [PATCH 79/83] Bump to version 2.3.3 --- about.ABOUT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about.ABOUT b/about.ABOUT index 34284f74..fff7f2e1 100644 --- a/about.ABOUT +++ b/about.ABOUT @@ -1,7 +1,7 @@ about_resource: . name: AboutCode -version: 2.3.2 +version: 2.3.3 owner: nexB Inc. From abe8e853754cd226ceec91e495c91fcecac27157 Mon Sep 17 00:00:00 2001 From: UShan89 Date: Thu, 20 Oct 2016 14:48:23 -0400 Subject: [PATCH 80/83] Linux Installation - Directory name --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 4ae1e24a..8534180f 100644 --- a/README.rst +++ b/README.rst @@ -73,7 +73,7 @@ For instance on Linux the whole installation would be like this:: $ wget https://github.com/dejacode/about-code-tool/archive/v2.3.2.zip $ unzip v2.3.2.zip - $ cd about-code-tool-2.3.2/ + $ cd attributecode-2.3.2/ $ source configure On Windows, the whole installation would be like this: From 01486383be64d9775a7456e0a26f7a1b3572db15 Mon Sep 17 00:00:00 2001 From: Chin Yeung Li Date: Wed, 30 Nov 2016 07:25:12 +0800 Subject: [PATCH 81/83] Add the `json_template.template` under the templates/ --- .../templates/json_template.template | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 about_code_tool/templates/json_template.template diff --git a/about_code_tool/templates/json_template.template b/about_code_tool/templates/json_template.template new file mode 100644 index 00000000..f745803e --- /dev/null +++ b/about_code_tool/templates/json_template.template @@ -0,0 +1,18 @@ +{ + "ossAttribution": { + "product": "", + "productVersion": "", + "entries": [ + {% for about_object in about_objects %} + { + "component": {{ about_object.component }} + "componentVersion": {{ about_object.version }} + "componentUrl": {{ about_object.componenturl }} + "license": {{ about_object.license }} + "licenseUrl": {{ about_object.licenseurl }} + "notice": {{ about_object.copyright }} + }, + {% endfor %} + ] + } +} \ No newline at end of file From d12818cb673f8a55c30ab13703ee42a058947511 Mon Sep 17 00:00:00 2001 From: Jono Yang Date: Wed, 30 Nov 2016 11:42:39 -0800 Subject: [PATCH 82/83] #267 Modify MAPPING.CONFIG check by prepending directory of genabout.py to the path check for MAPPING.CONFIG --- about_code_tool/genabout.py | 3 ++- about_code_tool/util.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/about_code_tool/genabout.py b/about_code_tool/genabout.py index 3b6ba6ff..7e30edd8 100644 --- a/about_code_tool/genabout.py +++ b/about_code_tool/genabout.py @@ -739,7 +739,8 @@ def main(parser, options, args): print("ERROR: LICENSE_TEXT_LOCATION path does not exist.") sys.exit(errno.EINVAL) - if mapping_config and not path_exists('MAPPING.CONFIG'): + mapping_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'MAPPING.CONFIG') + if mapping_config and not path_exists(mapping_config_path): print("ERROR: The file 'MAPPING.CONFIG' does not exist.") sys.exit(errno.EINVAL) diff --git a/about_code_tool/util.py b/about_code_tool/util.py index 06660b06..ebc4a36d 100644 --- a/about_code_tool/util.py +++ b/about_code_tool/util.py @@ -46,7 +46,7 @@ def path_exists(location): """ Return True if the path exists. """ - return location and os.path.exists(abspath(location)) + return location and os.path.exists(abspath(location)) def canonical_path(location): From c87c1ff66a281462f8bba82cf4c1a135f44f1108 Mon Sep 17 00:00:00 2001 From: Jono Yang Date: Thu, 22 Dec 2016 14:41:29 -0800 Subject: [PATCH 83/83] #270 Look for MAPPING.CONFIG in the same directory as genattrib.py by prepending the absolute path to the directory genattrib.py is to 'MAPPING.CONFIG' --- about_code_tool/genattrib.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/about_code_tool/genattrib.py b/about_code_tool/genattrib.py index bb3edeba..f5da7ce9 100644 --- a/about_code_tool/genattrib.py +++ b/about_code_tool/genattrib.py @@ -15,7 +15,7 @@ # ============================================================================ """ -Tool to generate component attribution based on a set of .ABOUTfiles. +Tool to generate component attribution based on a set of .ABOUTfiles. Optionally accepts a list (i.e. a subset) of ABOUT file paths to limit the generated attribution to this subset. @@ -145,9 +145,9 @@ def main(parser, options, args): elif verbosity >= 2: handler.setLevel(logging.WARNING) - if mapping_config: - if not exists('MAPPING.CONFIG'): - print("ERROR: The 'MAPPING.CONFIG' file does not exist.") + mapping_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'MAPPING.CONFIG') + if mapping_config and not exists(mapping_config_path): + print("ERROR: The file 'MAPPING.CONFIG' does not exist.") sys.exit(errno.EINVAL) if template_location:

    - -

    For instructions on how to obtain a copy of any source code - being made publicly available by Starship Technology related to - software used in this product you may send your request in - writing to:

    - - Starship Technology LLC.
    - OSS Management
    - 7829 Montague Expressway
    - Santa Clara, CA 95031
    - USA
    - -

    The Starship Technology website www.dejacode.com also - contains information regarding Starship Technology's use of open - source. Starship Technology has created the www.dejacode.org to - serve as a portal for interaction with the software - community-at-large.

    - -

    This document contains additional information regarding - licenses, acknowledgments and required copyright notices for - open source packages used in this Starship Technology product. - This Starship Technology product contains the following open - source software components

    - -