diff --git a/changes/remove-debian b/changes/remove-debian new file mode 100644 index 0000000000..6eb1896bae --- /dev/null +++ b/changes/remove-debian @@ -0,0 +1,5 @@ + o Removed files: + - Remove the old debian/ directory from the main Tor distribution. + The official Tor-for-debian git repository lives at the URL + https://git.torproject.org/debian/tor.git . + diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 26a72d1cac..0000000000 --- a/debian/README.Debian +++ /dev/null @@ -1,16 +0,0 @@ -This is the Debian package for Tor, The Onion Router. - -Some changes have been made to the Tor source to integrate it better into -Debian. If Tor is started as root or the 'debian-tor' user, then: - -- RunAsDaemon is enabled, -- PidFile is set to /var/run/tor/tor.pid (No default upstream), -- default logging goes to /var/log/tor/log (instead of stdout), -- DataDirectory is set to /var/lib/tor (uses $HOME/.tor upstream), -- User is set to "debian-tor". - -If Tor is started as any other user it behaves just like upstream's. - --- -Peter Palfrader, Mon, 24 Jul 2006 05:20:30 +0200 - Sat, 23 Feb 2008 13:44:40 +0100 diff --git a/debian/README.privoxy b/debian/README.privoxy deleted file mode 100644 index 0f4b4f9d95..0000000000 --- a/debian/README.privoxy +++ /dev/null @@ -1,18 +0,0 @@ -Tor only provides TCP layer anonymity. It does not do any protocol -cleaning, so if you are going to browse the web you still give away a -lot of information to servers. - -The privoxy package provides a privacy enhancing HTTP proxy, which -is good at filtering headers, cookies, and much more. To view the -description of the Debian privoxy package just run "apt-cache show -privoxy". Please refer to the privoxy documentation for more details. - -In order to use privoxy over tor, add the following line to your -privoxy configuration file: - forward-socks4a / localhost:9050 . -(the dot is important) - -Then configure your browser to use privoxy as its HTTP proxy. - --- -Peter Palfrader , Tue, 17 Feb 2004 02:15:36 +0100 diff --git a/debian/TODO b/debian/TODO deleted file mode 100644 index a54d3bceec..0000000000 --- a/debian/TODO +++ /dev/null @@ -1,10 +0,0 @@ -Legend: - - Not done - * Top priority - . Partially done - o Done - D Deferred - X Abandoned - -- don't enable coredumps by default -- fix shipped html docs to refer to local stylesheet diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 11b2dc3815..0000000000 --- a/debian/changelog +++ /dev/null @@ -1,1376 +0,0 @@ -tor (0.2.2.6-alpha-1) experimental; urgency=low - - * New upstream version. - - Drop debian/patches/0a58567c-work-with-reneg-ssl.dpatch - (part of upstream). - - -- Peter Palfrader Mon, 23 Nov 2009 18:52:04 +0100 - -tor (0.2.2.5-alpha-1) experimental; urgency=low - - * New upstream version. - * Pick 0a58567ce3418f410cf1dd0143dd3e56b4a4bd1f from master git tree: - - work with libssl that has renegotiation disabled by default. - (debian/patches/0a58567c-work-with-reneg-ssl.dpatch) - * Therefore build-depend on libssl-dev >= 0.9.8k-6. If we build against - earlier versions we will not work once libssl gets upgraded to a version - that disabled renegotiations. - * Change order of recommends from privoxy | polipo to polipo | privoxy. - * Allegedly echo -e is a bashism. Remove it from debian/rules, we don't - need it anyways (closes: #478631). - * Change the dependency on tsocks to torsocks | tsocks (see: #554717). - - -- Peter Palfrader Sun, 15 Nov 2009 11:04:02 +0100 - -tor (0.2.2.4-alpha-1) experimental; urgency=low - - * New upstream version. - * The testsuite moved from src/or/test to src/test/test, - but let's call it using "make check" now. - * Upstream failed to ship src/test/test.h. Ship it in debian/ and - manually copy it in place during configure and clean up in clean. - Let's not use the patch system as this will most likely be rectified - by next release. - - -- Peter Palfrader Sun, 11 Oct 2009 10:38:55 +0200 - -tor (0.2.2.3-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Wed, 23 Sep 2009 10:27:40 +0200 - -tor (0.2.2.2-alpha-1) experimental; urgency=low - - * New upstream version. - * The files src/common/common_sha1.i src/or/or_sha1.i get changed - during the build - they contain the checksums of the individual - files that end up in the binary. Of couse changes only end up - in the debian diff.gz after building a second time in the same - directory. So, remove those files in clean to get both a cleaner - diff.gz and idempotent builds. - * If we have a debian/micro-revision.i, replace the one in src/or - with our copy so that this will be the revision that ends up in - the binary. This is an informational only version string, but - it'd be kinda nice if it was (more) accurate nonetheless. - . - Of course this won't help if people manually patch around but - it's still preferable to claiming we are exactly upstream's source. - . - If we are building directly out of a git tree, update - debian/micro-revision.i in the clean target. - - -- Peter Palfrader Mon, 21 Sep 2009 14:51:20 +0200 - -tor (0.2.2.1-alpha-1) experimental; urgency=low - - * New upstream version. - * Forward port patches/03_tor_manpage_in_section_8.dpatch. - * Forward port patches/06_add_compile_time_defaults.dpatch. - - -- Peter Palfrader Thu, 03 Sep 2009 15:10:26 +0200 - -tor (0.2.1.19-1) unstable; urgency=low - - * New upstream version. - - Make accessing hidden services on 0.2.1.x work right (closes: #538960). - [More items are in the upstream changelog.] - - -- Peter Palfrader Wed, 29 Jul 2009 12:49:03 +0200 - -tor (0.2.1.18-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 25 Jul 2009 11:15:11 +0200 - -tor (0.2.1.17-rc-1) experimental; urgency=low - - * New upstream version. - * Update upstream URL in debian/copyright. - - -- Peter Palfrader Mon, 13 Jul 2009 23:37:37 +0200 - -tor (0.2.1.16-rc-1) experimental; urgency=low - - * New upstream version. - * No longer inform the user if/when we re-create the /var/run/tor - directory in the init script. With /var/run on tmpfs this is - completely normal now so our message was just noise. - * Stop shipping /var/run/tor in the package. - * Only clean up permissions of /var/run/tor in postinst if the - directory actually exists. - * Update Standards-Version from 3.8.0 to 3.8.1. No real changes - required, we already support nocheck in DEB_BUILD_OPTIONS since - August 2004, and we already create our var/run directory in the - init script (tho we now no longer ship it either - see above). - * Change debhelper compatibility version from 4 to 5: - - Change dh_strip call from --dbg-package=tor - to --dbg-package=tor-dbg. - - Update versioned build time dependency on debhelper. - * Forward port 06_add_compile_time_defaults. - - -- Peter Palfrader Sat, 20 Jun 2009 13:16:02 +0200 - -tor (0.2.1.15-rc-1) experimental; urgency=low - - * New upstream version. - * Change build time dependency on gs to ghostscript. - - -- Peter Palfrader Sat, 30 May 2009 21:10:03 +0200 - -tor (0.2.1.14-rc-1) experimental; urgency=low - - * New upstream version. - * Change Section of tor-dbg to debug. - - -- Peter Palfrader Thu, 16 Apr 2009 19:54:19 +0200 - -tor (0.2.1.13-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 15 Mar 2009 00:58:07 +0100 - -tor (0.2.1.12-alpha-1) experimental; urgency=low - - * New upstream version, fixing several security relevant bugs: - - Avoid a potential crash on exit nodes when processing malformed - input. Remote DoS opportunity (closes: #514579). - - Fix a temporary DoS vulnerability that could be performed by - a directory mirror (closes: #514580). - * patches/06_add_compile_time_defaults: Only set the User option in - the config if we run as root. Do not set it when run as debian-tor - as Tor then always insists on changing users which will fail. (If - we run as any other user we don't set our debian defaults anyway.) - - -- Peter Palfrader Tue, 10 Feb 2009 00:19:53 +0100 - -tor (0.2.1.11-alpha-1) experimental; urgency=high - - * New upstream version: - - Fixes a possible remote heap buffer overflow bug. - - torify(1) manpage mentions DNS leaks now (closes: #495829). - * README.Debian: No longer claim we change the default 'Group' setting - when run as debian-user. That setting no longer exists. - * Forward port 03_tor_manpage_in_section_8.dpatch. - - -- Peter Palfrader Wed, 21 Jan 2009 01:00:15 +0100 - -tor (0.2.1.10-alpha-1) experimental; urgency=low - - * New alpha release. - * Forward port 03_tor_manpage_in_section_8.dpatch. - - -- Peter Palfrader Sun, 11 Jan 2009 12:06:28 +0100 - -tor (0.2.1.9-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Fri, 26 Dec 2008 20:51:53 +0100 - -tor (0.2.1.8-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Mon, 15 Dec 2008 23:00:32 +0100 - -tor (0.2.1.7-alpha-2) experimental; urgency=low - - * No longer set now obsolete Group setting in built-in debian config. - - -- Peter Palfrader Mon, 10 Nov 2008 16:28:31 +0100 - -tor (0.2.1.7-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Mon, 10 Nov 2008 09:39:30 +0100 - -tor (0.2.1.6-alpha-1) experimental; urgency=low - - * New alpha release. - * Forward port 14_fix_geoip_warning.dpatch. - - -- Peter Palfrader Tue, 30 Sep 2008 14:37:26 +0200 - -tor (0.2.1.5-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Tue, 02 Sep 2008 00:18:55 +0200 - -tor (0.2.1.4-alpha-1) experimental; urgency=low - - * New alpha release. - * Do not build with openbsd's malloc unless enable-openbsd-malloc is in - DEB_BUILD_OPTIONS. - - -- Peter Palfrader Tue, 05 Aug 2008 12:33:23 +0200 - -tor (0.2.1.2-alpha-1) experimental; urgency=low - - * New alpha release. - - -- Peter Palfrader Wed, 16 Jul 2008 13:05:45 +0200 - -tor (0.2.0.30-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Wed, 16 Jul 2008 02:19:08 +0200 - -tor (0.2.0.29-rc-2) unstable; urgency=low - - * Upload to unstable. - - -- Peter Palfrader Tue, 15 Jul 2008 22:16:08 +0200 - -tor (0.2.0.29-rc-1) experimental; urgency=low - - * New upstream version. - * Warn the admin if the number of file descriptors on his system is - tiny. - - -- Peter Palfrader Wed, 09 Jul 2008 14:02:06 +0200 - -tor (0.2.0.28-rc-1) experimental; urgency=low - - * New upstream version. - * Remove debian/patches/11_tor_as_root_more_helpful.dpatch as - it is no longer needed: We now setuid() to the Tor user - when run as root and it all just works. - * Add comments to the dpatch headers so lintian shuts up. - * Add patches/14_fix_geoip_warning: Change geoipdb open failed message. - * Require unit tests to pass again. - - -- Peter Palfrader Fri, 13 Jun 2008 10:28:36 +0200 - -tor (0.2.0.27-rc-1) experimental; urgency=low - - * New upstream version. - * Add tor-geoipdb arch: all package for the geoip database. - * Update debian/rules so that there now is a binary-common target - and the binary-indep and binary-arch targets call make with - proper DH_OPTIONS options. This is taken from the template - that dh_make nowadays uses for multi-binary packages. - * Unit tests are broken, yay. - * Use ${binary:Version} to depend on the right tor binary package from - the tor-dbg package instead of ${Source-Version}. Some guy on the - internet said the latter was deprecated. - * Add Homepage: https://www.torproject.org/ field to control file. - * And mention www.tp.o instead of the old tor.eff.org in the long - description. - * No longer ignore failure of make clean in the clean target. - * Support passing of parallel= in build options. - * Change declared Standards-Version to 3.8.0. - - -- Peter Palfrader Fri, 06 Jun 2008 01:11:33 +0200 - -tor (0.2.0.26-rc-1) experimental; urgency=critical - - * New upstream version. - * Conflict with old libssls. - * On upgrading from versions prior to, including, 0.1.2.19-2, or - from versions later than 0.2.0 and prior to 0.2.0.26-rc do the - following, and if we are a server (we have a /var/lib/tor/keys - directory) - - move /var/lib/tor/keys/secret_onion_key out of the way. - - move /var/lib/tor/keys/secret_onion_key.old out of the way. - - move /var/lib/tor/keys/secret_id_key out of the way if it was - created on or after 2006-09-17, which is the day the bad - libssl was uploaded to Debian unstable. - * Add a NEWS file explaining this change. - - -- Peter Palfrader Tue, 13 May 2008 16:11:21 +0200 - -tor (0.2.0.24-rc-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Wed, 23 Apr 2008 02:25:22 +0200 - -tor (0.2.0.23-rc-1) experimental; urgency=low - - * New upstream version. - * Mention OpenBSD_malloc_Linux.c in debian/copyright. - * Add a recommends on logrotate. - - -- Peter Palfrader Tue, 25 Mar 2008 09:34:37 +0100 - -tor (0.2.0.22-rc-1) experimental; urgency=low - - * New upstream version. - * Work around fig2dev failing to build the images on all archs - (re #457568). - * Build with --enable-openbsd-malloc, unless no-enable-openbsd-malloc is - found in DEB_BUILD_OPTIONS. Hopefully this deals with some of the - horrible memory fragmentation that glibc's malloc causes. - - -- Peter Palfrader Wed, 19 Mar 2008 08:03:47 +0100 - -tor (0.2.0.21-rc-1) experimental; urgency=low - - * New upstream version. - * Run --verify-config before start/reload/restart as root. No longer - su - to debian-tor tor run it. Given that we now even start Tor as - root (it setuids later on) this should be fine (closes: #468566). - - -- Peter Palfrader Mon, 3 Mar 2008 13:36:59 +0100 - -tor (0.2.0.20-rc-1) experimental; urgency=low - - * New upstream version. - * Change the default for MAX_FILEDESCRIPTORS in our init script to depend - on the number of system-wide available file descriptors: - /proc/sys/fs/file-max is bigger than 80k, set ulimit -n to 32k, if it's - greater than 40k set the limit to 16k, and when greater than 10k our limit - shall be 8k descriptors. If there are less than 20k FDs in the entire - system default to a limit of only 1024. - - Big servers at the moment regularly use more than 10k FDs, so our old - default of 8k no longer is sufficient. On the other hand we don't want - lower end systems to run out of FDs on Tor's account. - * If we run as root also apply debian defaults. - * Add User=debian-tor and Group=debian-tor to debian defaults. That allows - us to start Tor as root and have it setuid/setgid to the target user. - * Change the init script to start Tor as root. Now we should be able to - bind to low port. - - -- Peter Palfrader Mon, 25 Feb 2008 13:54:58 +0100 - -tor (0.2.0.19-alpha-1) experimental; urgency=low - - * New upstream version. - * It's 2008. Now is the time to add copyright statements for 2007. - * Forward port 03_tor_manpage_in_section_8.dpatch. - - -- Peter Palfrader Sun, 10 Feb 2008 01:12:04 +0100 - -tor (0.2.0.18-alpha-2) experimental; urgency=low - - * Work around fig2dev failing to build the images on mipsel like we do on - sparc and s390 (re #457568) - * Fix postinst find command that chowns stuff to the right user. Find - does weird things in the presence of !. - - -- Peter Palfrader Sun, 3 Feb 2008 18:17:16 +0100 - -tor (0.2.0.18-alpha-1) experimental; urgency=low - - * New upstream version. - * postinst: Remove the check that requires the debian-tor user - to have a uid between 100 and 999. There is no good reason - to require this. If the local admin moves the system users/uid-space - to some other range then they probably have a good reason for that. - * postinst: change wording if debian-tor's homedir is wrong, do not - print anything if it is ok. - * postinst: We were only fixing the permissions of /var/{lib,run,log}/tor - when we were not upgrading. Unfortunately the check doesn't work all - that well usually in cases where the package was removed (not purged) - and then later re-installed again. Now we ensure proper ownership - and modes for all the directories and files below /var/{lib,run,log}/tor - (the dirs themselves included) every time we run postinst. - * postinst: if we reboot between unpacking and configuring on some smart - systems this will mean that we just lost /var/run/tor - creating it - in the maintainer script if it doesn't exist. - * Create logfiles in logrotate so that they come into the world with the - correct mode (o-r). - - -- Peter Palfrader Thu, 24 Jan 2008 15:15:32 +0100 - -tor (0.2.0.17-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 17 Jan 2008 21:42:25 +0100 - -tor (0.2.0.15-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 25 Dec 2007 08:53:25 +0100 - -tor (0.2.0.14-alpha-1) experimental; urgency=low - - * New upstream version. - * Remove 13_r12907-fix-unit-tests.dpatch (Fix unit tests from HEAD) again - - it's included upstream. - * Work around fig2dev failing to build the images on sparc like we do on - s390. - - -- Peter Palfrader Sun, 23 Dec 2007 13:45:41 +0100 - -tor (0.2.0.13-alpha-1) experimental; urgency=low - - * New upstream version. - * Fix unit tests from HEAD (13_r12907-fix-unit-tests.dpatch). - - -- Peter Palfrader Fri, 21 Dec 2007 11:52:43 +0100 - -tor (0.2.0.12-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 18 Nov 2007 11:49:06 +0100 - -tor (0.2.0.11-alpha-1) experimental; urgency=low - - * New upstream version. - * remove 12_r12235_do_not_crash_when_myfamily_is_set again, it's - now part of upstream. - - -- Peter Palfrader Thu, 15 Nov 2007 11:07:06 +0100 - -tor (0.2.0.9-alpha-2) experimental; urgency=low - - * Do not separate required lsb facilities with commas in the - init script (closes: #448001). - * Add 12_r12235_do_not_crash_when_myfamily_is_set.dpatch, - from trunk/head. - - -- Peter Palfrader Sun, 28 Oct 2007 00:03:21 +0200 - -tor (0.2.0.9-alpha-1) experimental; urgency=low - - * New upstream version. - * Only create pid dir if we are about to start Tor (Luca Capello, - closes: #447508). - - -- Peter Palfrader Fri, 26 Oct 2007 14:29:56 +0200 - -tor (0.2.0.8-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 13 Oct 2007 16:27:04 +0200 - -tor (0.2.0.7-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 24 Sep 2007 23:50:14 +0200 - -tor (0.2.0.6-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 27 Aug 2007 15:41:31 +0200 - -tor (0.2.0.5-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 19 Aug 2007 15:10:49 +0200 - -tor (0.2.0.4-alpha-1) experimental; urgency=high - - * New upstream version. - - -- Peter Palfrader Thu, 2 Aug 2007 07:09:36 +0200 - -tor (0.2.0.3-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 31 Jul 2007 07:03:00 +0200 - -tor (0.2.0.2-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 3 Jun 2007 02:31:29 +0200 - -tor (0.2.0.1-alpha-1) experimental; urgency=low - - * New upstream version. - * Forward port 06_add_compile_time_defaults. - * teTeX is no more, long live TeX Live: - - remove build depends on tetex-bin, tetex-extra, - - add build depends on texlive-base-bin for dvips and bibtex, - texlive-latex-base for latex, and texlive-fonts-recommended for fonts - like ptmr7t. - - -- Peter Palfrader Sat, 2 Jun 2007 14:31:15 +0200 - -tor (0.1.2.19-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 17 Jan 2008 20:57:42 +0100 - -tor (0.1.2.18-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 29 Oct 2007 20:36:38 +0100 - -tor (0.1.2.17-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 31 Aug 2007 03:14:33 +0200 - -tor (0.1.2.16-1) unstable; urgency=high - - * New upstream version. - - -- Peter Palfrader Thu, 2 Aug 2007 06:43:09 +0200 - -tor (0.1.2.15-1) unstable; urgency=low - - * New upstream version. - * Change build-depends from tetex to texlive suite. - - -- Peter Palfrader Thu, 19 Jul 2007 22:33:43 +0200 - -tor (0.1.2.14-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 25 May 2007 21:49:20 +0200 - -tor (0.1.2.13-3) unstable; urgency=low - - * Always give a shell (/bin/sh) when we use su(1) in our init script - (closes: #421465). - - -- Peter Palfrader Sun, 6 May 2007 14:44:11 +0200 - -tor (0.1.2.13-2) unstable; urgency=low - - * In options_init_from_torrc()'s error path only config_free() options - if they already have been initialized (closes: #421235). - - -- Peter Palfrader Fri, 27 Apr 2007 13:06:37 +0200 - -tor (0.1.2.13-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 24 Apr 2007 21:21:10 +0200 - -tor (0.1.2.12-rc-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 17 Mar 2007 11:35:31 +0100 - -tor (0.1.2.10-rc-1) experimental; urgency=low - - * New upstream version. - * Change recommends on privoxy to privoxy | polipo (>= 1) (closes: #413728). - - -- Peter Palfrader Fri, 9 Mar 2007 10:57:40 +0100 - -tor (0.1.2.8-beta-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 26 Feb 2007 11:50:49 +0100 - -tor (0.1.2.7-alpha-1) experimental; urgency=low - - * New upstream version. - * Install all the spec files into usr/share/doc/tor/spec now. - They moved to doc/spec/* from just doc/* in the source too. - - -- Peter Palfrader Tue, 13 Feb 2007 18:51:14 +0100 - -tor (0.1.2.6-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Tue, 9 Jan 2007 17:39:15 +0100 - -tor (0.1.2.5-alpha-1) experimental; urgency=low - - * New upstream version. - * Disable 02_add_debian_files_in_manpage.dpatch for now. - - -- Peter Palfrader Sun, 7 Jan 2007 13:57:37 +0100 - -tor (0.1.2.4-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 4 Dec 2006 00:13:37 +0100 - -tor (0.1.2.3-alpha-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 30 Oct 2006 11:06:52 +0100 - -tor (0.1.2.2-alpha-1) experimental; urgency=low - - [ Peter Palfrader ] - * New upstream version. - - [ Roger Dingledine ] - * Minor update of debian/copyright. - - -- Peter Palfrader Tue, 10 Oct 2006 03:26:00 +0200 - -tor (0.1.2.1-alpha-1) experimental; urgency=low - - * Forward port 07_log_to_file_by_default.dpatch. - * Previously our defaults for DataDirectory, PidFile, RunAsDaemon, and - Log differed from upstreams. Now Tor behaves just like before (with - our own DataDirectory and all) only when run as the debian-tor user. - If invoked as any other user, Tor will behave just like the pristine - upstream version. - * Tell users about the init script when they try to run Tor as root. - Should we also do this when they try to run their Tor as any other - (non root, non debian-tor) user? - add 11_tor_as_root_more_helpful - * Use tor --verify-config before start and reload. Abort init script - with exit 1 if config does not verify. - * Change Standards-Version to 3.7.2. No changes required. - - -- Peter Palfrader Tue, 29 Aug 2006 22:38:29 +0200 - -tor (0.1.1.26-1) unstable; urgency=high - - * New upstream version (Stop sending the HttpProxyAuthenticator string to - directory servers when directory connections are tunnelled through Tor). - - -- Peter Palfrader Fri, 15 Dec 2006 20:24:07 +0100 - -tor (0.1.1.25-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 4 Nov 2006 17:16:08 +0100 - -tor (0.1.1.24-1) unstable; urgency=low - - * New upstream version. - * Update debian/copyright: - - tree.h has vanished somewhere along the current branch - - ht.h is new and credits Christopher Clark - - We didn't mention Matej Pfajfar's copyright before. - * Forward port 07_log_to_file_by_default. - - -- Peter Palfrader Fri, 6 Oct 2006 23:32:45 +0200 - -tor (0.1.1.23-1) unstable; urgency=medium - - * New upstream version. - - -- Peter Palfrader Thu, 3 Aug 2006 03:13:24 +0200 - -tor (0.1.1.22-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 6 Jul 2006 02:55:37 +0200 - -tor (0.1.1.21-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sun, 11 Jun 2006 18:27:13 +0200 - -tor (0.1.1.20-1) unstable; urgency=low - - * New upstream stable release: The 0.1.1.x tree is now the new stable - tree. Upload to unstable rather than experimental. - - -- Peter Palfrader Tue, 23 May 2006 20:16:25 +0200 - -tor (0.1.1.19-rc-1) experimental; urgency=low - - * New upstream version. - * Remove support for my nodoc DEB_BUILD_OPTIONS variable. It clutters - stuff and I haven't used it in ages. - * Update debian/tor.docs file. - - -- Peter Palfrader Fri, 5 May 2006 16:27:48 +0200 - -tor (0.1.1.18-rc-1) experimental; urgency=low - - * New upstream version. - * update debian/tor.doc: - - no longer ship INSTALL and README files, they are useless now. - - doc/stylesheet.css, doc/tor-doc-server.html, doc/tor-doc-unix.html, - doc/tor-hidden-service.html, doc/tor-switchproxy.html got replaced - by doc/website/stylesheet.css and doc/website/tor-* which is more - or less the same, only taken from the website. Some links are - probably broken still, but this should get fixed eventually. - - -- Peter Palfrader Mon, 10 Apr 2006 12:00:50 +0200 - -tor (0.1.1.17-rc-1) experimental; urgency=low - - * New upstream version. - * Forward port patches/07_log_to_file_by_default. - - -- Peter Palfrader Tue, 28 Mar 2006 09:48:04 +0200 - -tor (0.1.1.16-rc-1) experimental; urgency=low - - * New upstream version. - - -- Peter Palfrader Mon, 20 Mar 2006 02:03:29 +0100 - -tor (0.1.1.15-rc-1) experimental; urgency=low - - * New upstream version. - * Apparently passing --host to configure when not cross-compiling - is evil now and greatly confuses configure. So don't do it unless it - actually differs from --build host. - - -- Peter Palfrader Sat, 11 Mar 2006 20:04:36 +0100 - -tor (0.1.1.14-alpha-1) experimental; urgency=low - - * New upstream version. - * Include 0.1.0.17 changelog in experimental tree. - * doc/FAQ is no longer shipped, so remove it from debian/tor.docs. - - -- Peter Palfrader Tue, 21 Feb 2006 05:16:21 +0100 - -tor (0.1.1.13-alpha-1) experimental; urgency=low - - * New upstream version. - * Forward port patches/02_add_debian_files_in_manpage. - * Forward port patches/03_tor_manpage_in_section_8. - * Create /var/run/tor on init script start if it does - not exist already. - * Set default ulimit -n to 8k instead of 4k in /etc/default/tor. - * Print that we're raising the ulimit to stdout in the init script. - * Add CVE numbers to past issues in the changelog where applicable. - - -- Peter Palfrader Fri, 10 Feb 2006 14:38:11 +0100 - -tor (0.1.1.12-alpha-1) experimental; urgency=low - - * New upstream version, that was a quick one. :) - * Forward port patches/02_add_debian_files_in_manpage. - - -- Peter Palfrader Thu, 12 Jan 2006 02:53:27 +0100 - -tor (0.1.1.11-alpha-1) experimental; urgency=low - - * New upstream version. - - Implement "entry guards": automatically choose a handful of entry - nodes and stick with them for all circuits. This will increase - security dramatically against certain end-point attacks - (closes: #349283, CVE-2006-0414). - * Forward port patches/07_log_to_file_by_default. - * Forward port 0.1.0.16 changelog and change to copyright file. - - -- Peter Palfrader Wed, 11 Jan 2006 12:08:25 +0100 - -tor (0.1.1.10-alpha-1) experimental; urgency=low - - * New upstream version. - * doc/tor-doc.css and doc/tor-doc.html are no longer in the upstream - tarball, remove them from debian/tor.docs. - * add the following new files to tor.docs: doc/socks-extensions.txt, - doc/stylesheet.css, doc/tor-doc-server.html, doc/tor-doc-unix.html - - -- Peter Palfrader Sun, 11 Dec 2005 14:02:41 +0100 - -tor (0.1.1.9-alpha-1) experimental; urgency=low - - * New upstream version. - * Remove 08_add_newlines_between_serverdescriptors.dpatch. - * Update 06_add_compile_time_defaults.dpatch - * Use bin/bash for the init script instead of bin/sh. We are using - ulimit -n which is not POSIX (closes: #338797). - * Remove the EVENT_NOEPOLL block from etc/default/tor. - * Add an ARGS block to etc/default/tor as suggested in #338425. - - -- Peter Palfrader Tue, 15 Nov 2005 23:29:54 +0100 - -tor (0.1.1.8-alpha-1) experimental; urgency=low - - * New upstream version. - * Add patch from CVS to - "Insert a newline between all router descriptors when generating (old - style) signed directories, in case somebody was counting on that". - r1.247 of dirserv.c, <20051008060243.85F41140808C@moria.seul.org> - - -- Peter Palfrader Sat, 8 Oct 2005 20:24:39 +0200 - -tor (0.1.1.7-alpha-1) experimental; urgency=low - - * New upstream version. - * More merging from 0.1.0.14+XXXX: - - The tor-dbg package does not really need its own copy of copyright - and changelog in usr/share/doc/tor-dbg. - * Forward port 03_tor_manpage_in_section_8.dpatch - - -- Peter Palfrader Wed, 14 Sep 2005 17:52:35 +0200 - -tor (0.1.1.6-alpha-2) experimental; urgency=low - - * Merge 0.1.0.14+XXXX changes. - - -- Peter Palfrader Wed, 14 Sep 2005 15:05:16 +0200 - -tor (0.1.1.6-alpha-1) experimental; urgency=low - - * Experimental upstream version. - - -- Peter Palfrader Sat, 10 Sep 2005 10:17:43 +0200 - -tor (0.1.1.5-alpha-cvs-1) UNRELEASED; urgency=low - - * Even more experimental cvs snapshot. - * Testsuite is mandatory again. - * Forward port 03_tor_manpage_in_section_8.dpatch - * Forward port 06_add_compile_time_defaults.dpatch - - -- Peter Palfrader Fri, 9 Sep 2005 23:22:38 +0200 - -tor (0.1.1.5-alpha-1) UNRELEASED; urgency=low - - * Experimental upstream version. - * Allow test suite to fail, it's broken in this version. - * Update list of files from doc/ that should be installed. - * Forward port debian/ patches. - - -- Peter Palfrader Fri, 12 Aug 2005 17:02:23 +0200 - -tor (0.1.0.17-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 18 Feb 2006 02:49:45 +0100 - -tor (0.1.0.16-1) unstable; urgency=low - - * New upstream version. - * Update copyright file for 2006. - - -- Peter Palfrader Tue, 3 Jan 2006 13:59:34 +0100 - -tor (0.1.0.15-1) unstable; urgency=low - - * New upstream release. - * Forward port 03_tor_manpage_in_section_8. - - -- Peter Palfrader Sat, 24 Sep 2005 15:15:34 +0200 - -tor (0.1.0.14-2) unstable; urgency=low - - * Ship debugging information in a separate package now, instead - of simply not stripping tor. This is still useful while tor is - young. Ideally it would go away some time. - * Add LSB comments to init script as suggested by Petter Reinholdtsen - on the debian-devel list: - - http://lists.debian.org/debian-devel/2005/08/msg01172.html - - http://wiki.debian.net/?LSBInitScripts - * Work around broken chroots that do not resolve localhost or resolve - it to the wrong IP. We now catch such cases in debian/rules, shout - at the buildd maintainer, and ignore the result of our test suite. - - -- Peter Palfrader Wed, 21 Sep 2005 10:23:25 +0200 - -tor (0.1.0.14-1) unstable; urgency=high - - * New upstream version - changes, among others: - - Fixes the other half of the bug with crypto handshakes (CVE-2005-2643). - * Since gs-gpl on s390 is broken (#321435) and unable to - build PDFs of our images for the design paper this version - ships them in the source and uses them on s390, should building - them from source really fail. - * Increase standards-version from 3.6.1 to 3.6.2. No changes - necessary. - - -- Peter Palfrader Mon, 8 Aug 2005 23:55:05 +0200 - -tor (0.1.0.13-1) unstable; urgency=high - - * New upstream version: - - Explicitly set no-unaligned-access for sparc in configure.in. - it turns out the new gcc's let you compile broken code, but - that doesn't make it not-broken (closes: #320140). - - Fix a critical bug in the security of our crypto handshakes. - (Therefore set urgency to high). - and more (see upstream changelog). - * Slightly improve init script to give you proper error messages when - you do not run it as root. - - -- Peter Palfrader Fri, 5 Aug 2005 01:27:49 +0200 - -tor (0.1.0.12-1) unstable; urgency=medium - - * New upstream version: - - New IP for tor26 directory server, - - fix a possible double-free in tor_gzip_uncompress, - - and more (see upstream changelog). - - -- Peter Palfrader Tue, 19 Jul 2005 17:36:24 +0200 - -tor (0.1.0.11-1) unstable; urgency=high - - * New upstream version (closes: #316753): - - Fixes a serious bug: servers now honor their exit policies - - In 0.1.0.x only clients enforced them so far. 0.0.9.x is - not affected. - * Build depend on libevent-dev >= 1.1. - * Urgency high because 0.0.9.10-1 did not make it into testing after - like 3 weeks because of an impending ftp-master move. So I might - just as well upload this one. - - -- Peter Palfrader Mon, 4 Jul 2005 17:53:48 +0200 - -tor (0.1.0.10-0.pre.1) UNRELEASED; urgency=low - - * New upstream version. - * Add a watch file. - * Forward port 03_tor_manpage_in_section_8. - * Forward port 06_add_compile_time_defaults. - * Add libevent-dev to build-depends. - * Update URL to tor in debian/control and debian/copyright. - * Add a snippet to disable epoll in etc/default/tor, commented out. - * Add a snippet to set nice level in etc/default/tor. - * Wait for 60 seconds in init stop. 35 is too little. - * Don't depend on python anymore - tor-resolve is C now. - * If "with-dmalloc" is in DEB_BUILD_OPTIONS we build against libdmalloc4. - Of course the -dev package needs to be installed. - * Update README.Debian to say that upstream now does have a default - for DataDirectory. - * Don't fail in the init script when we cannot raise the ulimit. - Instead just warn a bit (closes: #312882). - - -- Peter Palfrader Wed, 15 Jun 2005 16:38:06 +0200 - -tor (0.0.9.10-1) unstable; urgency=high - - * While we're waiting for a newer libevent to enter sid, make another - upload of the 0.0.9.x tree: - - Refuse relay cells that claim to have a length larger than the - maximum allowed. This prevents a potential attack that could read - arbitrary memory (e.g. keys) from an exit server's process - (CVE-2005-2050). - - -- Peter Palfrader Thu, 16 Jun 2005 22:56:11 +0200 - -tor (0.0.9.9-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Sat, 23 Apr 2005 23:58:47 +0200 - -tor (0.0.9.8-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 8 Apr 2005 09:11:34 +0200 - -tor (0.0.9.7-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Fri, 1 Apr 2005 09:52:12 +0200 - -tor (0.0.9.6-1) unstable; urgency=low - - * New upstream version. - * Upstream used newer auto* tools, so hopefully the new config.sub - and config.guess files (2003-08-18) are good enough to build - tor on ppc64 (closes: #300376: FTBFS on ppc64). - - -- Peter Palfrader Fri, 25 Mar 2005 01:34:28 +0100 - -tor (0.0.9.5-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 24 Feb 2005 09:45:52 +0100 - -tor (0.0.9.4-1) unstable; urgency=low - - * New upstream version. - * Set ulimit for file descriptors to 4096 in our init - script. - * Use SIGINT to shutdown tor. That way - if you are a server - - tor will stop accepting new connections immediately, and - give existing connections a grace period of 30 seconds in - which they might complete their task. If you just run a - client it should make no difference. - - -- Peter Palfrader Fri, 4 Feb 2005 00:20:25 +0100 - -tor (0.0.9.3-1) unstable; urgency=low - - * New upstream version. - * Forward port 07_log_to_file_by_default. - - -- Peter Palfrader Sun, 23 Jan 2005 16:01:58 +0100 - -tor (0.0.9.2-1) unstable; urgency=low - - * New upstream version. - * Update debian/copyright (it's 2005). - * Add sharedscripts tor logrotate.d/tor. - - -- Peter Palfrader Tue, 4 Jan 2005 11:14:03 +0100 - -tor (0.0.9.1-1) unstable; urgency=low - - * New upstream version. - - -- Peter Palfrader Thu, 16 Dec 2004 00:16:47 +0100 - -tor (0.0.8+0.0.9rc7-1) unstable; urgency=medium - - * New upstream release (candidate). - For real this time. Looks like our rc6 orig.tar.gz - was in fact the rc5 one. - * forward port patches/07_log_to_file_by_default - - -- Peter Palfrader Wed, 8 Dec 2004 15:22:44 +0100 - -tor (0.0.8+0.0.9rc6-1) unstable; urgency=medium - - * New upstream release (candidate). - - cleans up more integer underflows that don't look exploitable. - But one never knows (-> medium). - * Remove those 'date' calls in debian/rules again that were - added in rc5-1. - - -- Peter Palfrader Mon, 6 Dec 2004 11:11:23 +0100 - -tor (0.0.8+0.0.9rc5-1) unstable; urgency=medium - - * New upstream release (candidate). - - medium because it fixes an integer overflow that might - be exploitable, but doesn't seem to be currently. - * Add a few 'date' calls in debian/rules, so I can see how long - building the docs take on autobuilders. - - -- Peter Palfrader Wed, 1 Dec 2004 10:02:08 +0100 - -tor (0.0.8+0.0.9rc3-1) unstable; urgency=low - - * New upstream release (candidate). - - -- Peter Palfrader Thu, 25 Nov 2004 10:33:42 +0100 - -tor (0.0.8+0.0.9rc2-1) unstable; urgency=low - - * New upstream release (candidate). - * Nick's patch is now part of upstream, remove it from - the debian diff. - - -- Peter Palfrader Wed, 24 Nov 2004 09:03:13 +0100 - -tor (0.0.8+0.0.9rc1-1) unstable; urgency=low - - * New upstream release (candidate). - * Apply nick's patch against config.c (1.267) to handle - absense of units in BandwidthRate. - - -- Peter Palfrader Tue, 23 Nov 2004 11:57:49 +0100 - -tor (0.0.8+0.0.9pre6-1) unstable; urgency=low - - * New upstream (pre)release. - * Install control-spec.txt into usr/share/doc/tor/. - - -- Peter Palfrader Tue, 16 Nov 2004 04:49:32 +0100 - -tor (0.0.8+0.0.9pre5-2) unstable; urgency=low - - * Symlink tor(8) manpage to torrc(5). - * Make logs readable by the system administrators (group adm). - * Point to /var/log/tor (the directory) instead of a single - file (/var/log/tor/log) in the debian patch of the manpage. - * Do not patch the default torrc to include settings we really want. - Instead modify the compiled in default options. Those settings are - - - RunAsDaemon is enabled by default. - - PidFile is set to /var/run/tor/tor.pid. No default upstream. - - default logging goes to /var/log/tor/log instead of stdout. - - DataDirectory is set to /var/lib/tor by default. No default upstream. - - This is also documented in the new debian/README.Debian. - * Remove /usr/bin/tor-control.py from the binary package, it is - not really useful yet, and wasn't meant to be installed by - default. - * Change init startup script to properly deal with tor - printing stuff on startup. - - -- Peter Palfrader Fri, 12 Nov 2004 18:30:50 +0100 - -tor (0.0.8+0.0.9pre5-1) unstable; urgency=low - - * New upstream (pre)release. - * 04_fix_test can be backed out again. - * Make sure all patches apply cleanly. - * No longer use --pidfile, --logfile, and --runasdaemon - command line options. Set them in the configfile instead. - * Change the description slightly, to say "don't rely on the current Tor - network if you really need strong anonymity", instead of "Tor will not - provide anonymity currently". - - -- Peter Palfrader Wed, 10 Nov 2004 04:43:10 +0100 - -tor (0.0.8+0.0.9pre4-1) unstable; urgency=low - - * New upstream (pre)release. - * Apply patch from cvs to fix a segfault in src/or/test - (test.c, 1.131). - - -- Peter Palfrader Sun, 17 Oct 2004 19:04:31 +0200 - -tor (0.0.8+0.0.9pre3-1) unstable; urgency=high - - * New upstream (pre)release. - * Fixes at least one segfault that can be triggered remotely, - a format string vulnerability which probably is not exploitable, - and several assert bugs. - - -- Peter Palfrader Thu, 14 Oct 2004 13:36:45 +0200 - -tor (0.0.8+0.0.9pre2-1) unstable; urgency=low - - * New upstream (pre)release. - - -- Peter Palfrader Sun, 3 Oct 2004 01:29:13 +0200 - -tor (0.0.8+0.0.9pre1-1) unstable; urgency=low - - * New upstream (pre)release. - * Built depend on zlib1g-dev. - - -- Peter Palfrader Fri, 1 Oct 2004 21:28:49 +0200 - -tor (0.0.8-1) unstable; urgency=low - - * New upstream release. - - -- Peter Palfrader Fri, 27 Aug 2004 14:08:10 +0200 - -tor (0.0.7.2+0.0.8rc1-1) unstable; urgency=low - - * New upstream release candidate. - * Install design paper in usr/share/doc/tor, not usr/share/doc. Ooops. - - -- Peter Palfrader Wed, 18 Aug 2004 09:59:13 +0200 - -tor (0.0.7.2+0.0.8pre3-1) unstable; urgency=low - - * New upstream (pre)release. - * Ship AUTHORS, doc/CLIENTS, doc/FAQ, doc/HACKING, doc/TODO, - doc/tor-doc.{css,html}, doc/{rend,tor}-spec.txt with the binary package. - * Build tor-design.{pdf,ps}, wich adds new build-dependencies: - tetex-{bin,extra}, transfig, and gs. - * Support DEB_BUILD_OPTIONS option 'nodoc' to skip building tor-design. - With nodoc the build will not need tetex-{bin,extra}, transfig, and gs. - * Support DEB_BUILD_OPTIONS option 'nocheck' to skip unittests - ('notest' is an alias') - * Enable coredumps by default, this is still development code. - * Modify 02_add_debian_files_in_manpage to still apply. - - -- Peter Palfrader Sun, 8 Aug 2004 15:03:32 +0200 - -tor (0.0.7.2+0.0.8pre2-1) unstable; urgency=low - - * New upstream (pre)release. - * Depend on python as we now have a python script: tor_resolve - - -- Peter Palfrader Wed, 4 Aug 2004 20:09:26 +0200 - -tor (0.0.7.2-1) unstable; urgency=medium - - * New upstream release. - Fixes another instance of that remote crash bug. - * Mention another reason why stop/reload may fail in the init script. - - -- Peter Palfrader Thu, 8 Jul 2004 03:21:32 +0200 - -tor (0.0.7.1-1) unstable; urgency=medium - - * New upstream release. - Fixes a bug that allows a remote crash on exit nodes. - * Logrotate var/log/tor/*log instead of just var/log/tor/log, in - case the admin wants several logs. - - -- Peter Palfrader Mon, 5 Jul 2004 19:18:12 +0200 - -tor (0.0.7-1) unstable; urgency=low - - * New upstream version - closes: #249893: FTBFS on ia64 - - -- Peter Palfrader Mon, 7 Jun 2004 21:46:08 +0200 - -tor (0.0.6.2-1) unstable; urgency=medium - - * New upstream release (breaks backwards compatibility yet again). - * Recommend socat. - * Since tor is in /usr/sbin, the manpage should be in section 8, not - in section 1. Move it there, including updating the section in - the manpage itself and the reference in torify(1). - * Update debian/copyright file. - - -- Peter Palfrader Sun, 16 May 2004 10:47:20 +0200 - -tor (0.0.6.1-1) unstable; urgency=medium - - * New upstream release (breaks backwards compatibility). - - -- Peter Palfrader Fri, 7 May 2004 00:24:49 +0200 - -tor (0.0.6-1) unstable; urgency=low - - * New upstream release (breaks backwards compatibility). - - -- Peter Palfrader Sun, 2 May 2004 23:58:36 +0200 - -tor (0.0.5+0.0.6rc4-1) unstable; urgency=low - - * New upstream release candidate. - - -- Peter Palfrader Sun, 2 May 2004 14:36:59 +0200 - -tor (0.0.5+0.0.6rc3-1) unstable; urgency=low - - * New upstream release candidate. - - -- Peter Palfrader Thu, 29 Apr 2004 11:52:07 +0200 - -tor (0.0.5+0.0.6rc2-1) unstable; urgency=low - - * New upstream release candidate. - * Mention upstream website and mailinglist archives in long - description. - - -- Peter Palfrader Mon, 26 Apr 2004 12:23:20 +0200 - -tor (0.0.5-1) unstable; urgency=low - - * New upstream release. - * Upstream installs a torrc.sample file now, rather than torrc. - Keep using torrc as dpkg handles conffile upgrades. - - -- Peter Palfrader Tue, 30 Mar 2004 20:54:00 +0200 - -tor (0.0.4-1) unstable; urgency=low - - * New upstream release (how the version numbers fly by :). - - -- Peter Palfrader Fri, 26 Mar 2004 23:46:09 +0100 - -tor (0.0.3-1) unstable; urgency=low - - * New upstream release. - * Also mention that tree.h is by Niels Provos in debian/copyright. - - -- Peter Palfrader Fri, 26 Mar 2004 20:36:08 +0100 - -tor (0.0.2-1) unstable; urgency=low - - * New upstream release. - * Uses strlcpy and strlcat by Todd C. Miller, mention him in - debian/copyright. - - -- Peter Palfrader Fri, 19 Mar 2004 12:37:17 +0100 - -tor (0.0.1+0.0.2pre27-1) unstable; urgency=low - - * New upstream release. - - -- Peter Palfrader Mon, 15 Mar 2004 05:19:16 +0100 - -tor (0.0.1+0.0.2pre26-1) unstable; urgency=low - - * New upstream release. - * Mention log and pidfile location in tor.1. - - -- Peter Palfrader Mon, 15 Mar 2004 02:21:29 +0100 - -tor (0.0.1+0.0.2pre25-1) unstable; urgency=low - - * New upstream release. - - -- Peter Palfrader Thu, 4 Mar 2004 23:05:38 +0100 - -tor (0.0.1+0.0.2pre24-1) unstable; urgency=low - - * New upstream release. - * Do not strip binaries for now. - * Add "# ulimit -c unlimited" to tor.default - * Always enable DataDirectory. - * Actually use dpatch now (to modify upstream torrc.in) - * Wait for tor to die in init stop. Let the user know if it doesn't. - - -- Peter Palfrader Wed, 3 Mar 2004 14:10:25 +0100 - -tor (0.0.1+0.0.2pre23-1) unstable; urgency=low - - * New upstream release. - * The one test that always failed has been fixed: removed comment from - rules file. - - -- Peter Palfrader Sun, 29 Feb 2004 12:36:33 +0100 - -tor (0.0.1+0.0.2pre22-1) unstable; urgency=low - - * New upstream release. - * Upstream has moved tor back to usr/bin, but we will keep it in - usr/sbin. That's the right place and it doesn't break my tab - completion there. - - -- Peter Palfrader Fri, 27 Feb 2004 01:59:09 +0100 - -tor (0.0.1+0.0.2pre21-1) unstable; urgency=low - - * New upstream release. - * 0.0.2pre20-2 removed the Recommends: on privoxy rather - than tsocks (which is now required) by mistake. Fix that. - * package description: Mention that the package starts the OP by default and - that OR can be enabled in the config. - * tor moved to sbin, updating init script. - - -- Peter Palfrader Wed, 18 Feb 2004 10:08:12 +0100 - -tor (0.0.1+0.0.2pre20-2) unstable; urgency=low - - * Add torify script, documentation, and config file. Means we also - depend on tsocks now rather than just recommending it. Right now - we install it in debian/rules, but upcoming versions might install - it in upstream's make install target. - * There's an upstream ChangeLog file now. Enjoy! - * Add a README.privoxy file that explains how to setup privoxy to - go over tor. - * As is the case too often, the INSTALL file not only covers - installation, but also basic usage and configuration. Therefore - include it in the docs dir. - * Add a lintian override for the INSTALL file. - - -- Peter Palfrader Tue, 17 Feb 2004 02:32:00 +0100 - -tor (0.0.1+0.0.2pre20-1) unstable; urgency=low - - * New upstream version. - - various design paper updates - - resolve cygwin warnings - - split the token bucket into "rate" and "burst" params - - try to resolve discrepency between bytes transmitted over TLS and actual - bandwidth use - - setuid to user _before_ complaining about running as root - - fix several memleaks and double frees - - minor logging fixes - - add more debugging for logs. - - various documentation fixes and improvements - - for perforcmance testing, paths are always 3 hops, not "3 or more" - (this will go away at a later date again) - * Add dependency on adduser which was previously missing. - * Change short description to a nicer one. - - -- Peter Palfrader Sat, 31 Jan 2004 10:10:45 +0100 - -tor (0.0.1+0.0.2pre19-1) unstable; urgency=low - - * Initial Release (closes: #216611). - - -- Peter Palfrader Sat, 10 Jan 2004 11:20:06 +0100 - diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7ed6ff82de..0000000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100644 index a2d7332a5c..0000000000 --- a/debian/control +++ /dev/null @@ -1,74 +0,0 @@ -Source: tor -Section: comm -Priority: optional -Maintainer: Peter Palfrader -Build-Depends: debhelper (>= 5), libssl-dev (>= 0.9.8k-6), dpatch, zlib1g-dev, libevent-dev (>= 1.1), texlive-base-bin, texlive-latex-base, texlive-fonts-recommended, transfig, ghostscript, binutils (>= 2.14.90.0.7) -Standards-Version: 3.8.1 -Homepage: https://www.torproject.org/ - -Package: tor -Architecture: any -Depends: ${shlibs:Depends}, adduser, torsocks | tsocks -Conflicts: libssl0.9.8 (<< 0.9.8g-9) -Recommends: polipo (>= 1) | privoxy, socat, logrotate, tor-geoipdb -Suggests: mixmaster, mixminion, anon-proxy -Description: anonymizing overlay network for TCP - Tor is a connection-based low-latency anonymous communication system which - addresses many flaws in the original onion routing design. - . - In brief, Onion Routing is a connection-oriented anonymizing communication - service. Users choose a source-routed path through a set of nodes, and - negotiate a "virtual circuit" through the network, in which each node - knows its predecessor and successor, but no others. Traffic flowing down - the circuit is unwrapped by a symmetric key at each node, which reveals - the downstream node. - . - Basically Tor provides a distributed network of servers ("onion - routers"). Users bounce their tcp streams (web traffic, ftp, ssh, etc) - around the routers, and recipients, observers, and even the routers - themselves have difficulty tracking the source of the stream. - . - Note that Tor does no protocol cleaning. That means there is a danger that - application protocols and associated programs can be induced to reveal - information about the initiator. Tor depends on Privoxy and similar protocol - cleaners to solve this problem. - . - Client applications can use the Tor network by connecting to the local - onion proxy. If the application itself does not come with socks support - you can use a socks client such as tsocks. Some web browsers like mozilla - and web proxies like privoxy come with socks support, so you don't need an - extra socks client if you want to use Tor with them. - . - This package enables only the onion proxy by default, but it can be configured - as a relay (server) node. - . - Remember that this is development code -- don't rely on the current Tor - network if you really need strong anonymity. - . - The latest information can be found at https://www.torproject.org/, or on the - mailing lists, archived at http://archives.seul.org/or/talk/ or - http://archives.seul.org/or/announce/. - -Package: tor-dbg -Architecture: any -Depends: tor (= ${binary:Version}) -Suggests: gdb -Priority: extra -Section: debug -Description: debugging symbols for Tor - This package provides the debugging symbols for Tor, The Onion Router. - Those symbols allow your debugger to assign names to your backtraces, which - makes it somewhat easier to interpret core dumps. - -Package: tor-geoipdb -Architecture: all -Priority: extra -Depends: tor (>= ${source:Version}) -Description: geoIP database for Tor - This package provides a geoIP database for Tor, i.e. it maps IPv4 addresses - to countries. - . - Bridges (special Tor relays that aren't listed in the main Tor directory) use - this information to report which countries they get access from. This allows - the Tor network operators to learn if certain countries started blocking - access to bridges. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index f89185257d..0000000000 --- a/debian/copyright +++ /dev/null @@ -1,124 +0,0 @@ -This package was debianized by Peter Palfrader on -Sat, 10 Jan 2004 11:20:06 +0100. - -It was downloaded from https://www.torproject.org/ - -Upstream Authors: Roger Dingledine - Nick Mathewson - -Copyright (c) 2001 Matej Pfajfar -Copyright (c) 2001-2004, Roger Dingledine -Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson -Copyright (c) 2007-2008, The Tor Project, Inc. -strlcat, strlcpy: Copyright (c) 1998 Todd C. Miller -ht.h: Copyright (c) 2002, Christopher Clark, 2006 Nick Mathewson -OpenBSD_malloc_Linux.c: phk@FreeBSD.ORG -Modifications for Debian: Copyright (c) 2004, 2005, 2006, 2007, 2008 Peter Palfrader - -Tor is distributed under this license: -=============================================================================== -Copyright (c) 2001-2004, Roger Dingledine -Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson -Copyright (c) 2007-2008, The Tor Project, Inc. - -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 names of the copyright owners 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. - -=============================================================================== -strlcat and strlcpy by Todd C. Miller are licensed under the following license: - - * Copyright (c) 1998 Todd C. Miller - * 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 ``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. -=============================================================================== -ht.h by Nick Mathewson is licensed as follows: -/* - * Copyright 2005, Nick Mathewson. Implementation logic is adapted from code - * by Cristopher Clark, retrofit to allow drop-in memory management, and to - * use the same interface as Niels Provos's HT_H. I'm not sure whether this - * is a derived work any more, but whether it is or not, the license below - * applies. - * - * Copyright (c) 2002, Christopher Clark - * 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 original 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 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. -*/ -=============================================================================== -OpenBSD_malloc_Linux.c: - * "THE BEER-WARE LICENSE" (Revision 42): - * wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp diff --git a/debian/hexdump-cell-struct.pdf b/debian/hexdump-cell-struct.pdf deleted file mode 100644 index 15710df743..0000000000 --- a/debian/hexdump-cell-struct.pdf +++ /dev/null @@ -1,155 +0,0 @@ -255044462d312e330a25c7ec8fa20a362030206f626a0a3c3c2f4c656e6774682037203020522f46 -696c746572202f466c6174654465636f64653e3e0a73747265616d0a789c5d90cd4ec3300cc7ef79 -0adf188795384ddae638560e48e3c09617d84a988a56a47e48686f4f9cafc114b5b17ffedbb13d02 -2f10389d7877031bd9d35ec27966b250f0c3107a5656356053c3e0ad1a2eecc0aa46444656601413 -4a7017e030594748afb488991245ce0d94ac4443fc7f3e629d9ef66678075599299991d698299991 -ea265332031d01fdd8e9ea0678366e70245234603e595808822a84ffccc056db7eea5edb47f3c5b0 -74db4127fc602b41400807d691ecede578255aa2a3dcb3c332d9e310b2a5ceb8edcf765eeeb43bfb -4da42a9368633604d6024924b9fb11bff5535651ba7d6b8352dc35f8a73cfa097893fb4df57d92d9 -51c64318312962599d4afa1214ccbd28aee1745dec1c22e8f791a35eef3d7e6b4926aff2b579f4a4 -6ec87f31f0cee8fc02f62c8fb3656e6473747265616d0a656e646f626a0a372030206f626a0a3330 -350a656e646f626a0a352030206f626a0a3c3c2f547970652f506167652f4d65646961426f78205b -302030203235342037345d0a2f506172656e742033203020520a2f5265736f75726365733c3c2f50 -726f635365745b2f504446202f546578745d0a2f457874475374617465203132203020520a2f466f -6e74203133203020520a3e3e0a2f436f6e74656e74732036203020520a3e3e0a656e646f626a0a33 -2030206f626a0a3c3c202f54797065202f5061676573202f4b696473205b0a35203020520a5d202f -436f756e7420310a3e3e0a656e646f626a0a312030206f626a0a3c3c2f54797065202f436174616c -6f67202f50616765732033203020520a3e3e0a656e646f626a0a342030206f626a0a3c3c2f547970 -652f4578744753746174652f4e616d652f52342f54522f4964656e746974792f4f504d20312f534d -20302e30323e3e0a656e646f626a0a392030206f626a0a3c3c2f547970652f466f6e744465736372 -6970746f722f466f6e744e616d652f524a464b46552b54696d65732d526f6d616e2f466f6e744242 -6f785b2d313638202d3238312031303331203932345d2f466c6167732033340a2f417363656e7420 -3932340a2f436170486569676874203637360a2f44657363656e74202d3238310a2f4974616c6963 -416e676c6520300a2f5374656d56203131310a2f4d697373696e675769647468203235300a2f5848 -6569676874203436310a2f43686172536574282f73706163652f7a65726f2f6f6e652f74776f2f66 -6f75722f666976652f7369782f65696768742f6e696e652f412f432f442f492f4c2f4d2f522f532f -542f612f622f632f652f672f692f6c2f6d2f6e2f722f732f742f79290a2f466f6e7446696c653320 -38203020523e3e0a656e646f626a0a382030206f626a0a3c3c2f537562747970652f547970653143 -2f46696c7465722f466c6174654465636f64652f4c656e677468203131203020523e3e7374726561 -6d0a789c6556695453e7bade31247b3b715a737304ac496aadf6d409ad56a8536570442b838c2a83 -040886843109210904c2f83287210408934c822032aa200e60716aab56056d0fdada5b3b1ee939eb -7e9b7efcb83b9c75effd71d7cada2b6befef7bbeef7ddfe77d9e9745d82c20582c16cfebd0bec3fb -8eaff391c488133678c9634265d6d76be9152cfa9d05f44a36de89cfff59fda7236725e151cb5e5a -ff8eedc0325af8367af11734fa16c166b17aee7eeb2a8f4d8e974446258a3e38eee5f7b775ebd6ff -df9bcdcececea2b0e4fff922721327482265a235cc1f85582a8f8d11cb1277885c99d552a9e4b428 -529a1c1b95200a0d0f17875bb7f9864ac56744fb2452496cac5c21fac0f56fa22d8e8e9b37308f2d -3b44479362c4f1f2f522892c42229324268b4265e1a2cf62c491a1a298d070b115c02d4692189f2c -daea2891fdefeea39298b0a404d17cb4a2a372679187c84b1c99240d8dffff5f0882107aec4d969d -3ee22a768b8f4cf04a9478fb1c9486c6846ddeb275dbc74ece224782d840ac220289cf08376223b1 -9ad847bc4f781307081fe223e2387188d84a6c233e248e102ec451c2955846f0083ef1576239614f -38102ce26d42c45482b06100aeb076b0ce2fe02c885bf033fb20fba6cd2a0ec1a9e2aee62ab97748 -093940bea13650f7176a174e2d122c4a5cd4bef8ddc5c54b784b3296642df91115dad2082caa8bf4 -1bcbb2ef6696f362e907c885af166b1335eaa8709f6427a00e705d74255d423a8684875555cf8a29 -0bee52918f334d5a70a7e68e91bc0be0aed5b864512a92d9dec5bd825c38b6b3116041017df4bb75 -ac595f0bff54a1be3cea312ea0efd929b9387c2ef5305e939a12946baf4281163248696aad2cac2a -36092fa1851c64e6f6adab8c2d8d03ad3dc4ab337cf328153292733a54ce47246a45146ee5d8d239 -5836435f31b36839edcbc72b34dc8eeaf494ecbccc1c83f043dc8649549259956d820a7ba835970e -1450661ca6259bb36bd28c6ac4c579768519e698d680ea48d0d88326d1431da38d4b52692113d20b -f4c5aa5275911aa844a53221ba23beff8b2b37d1eaeb42b4915e6feaa8286f2ab467ce0733ed7083 -75771ab94db3abe955fc92c2f2fc0aa05acb3481429c4f82579ad63f9bd2a02833e95fa4a9846e0a -9d27af0c3554760235dc243d28c462123c74ea00eba2703319589c5a09c3144a267f0abeb9f7a454 -7d78bfe0196928084c96a4f9a430271ed33fa2396d2c9864d3ab90233fc89da115508e879f23f28f -1b0fbfe936a545940b4b928cf2dae47ab06f6eb034de74bfbc3dd05f1919260c0896ef879d14feeb -b38d883dd45b7dae5bd0d2646969bf45d9feb9142cb33616d6af8374ed0c7bf663fa017f2e8004a7 -54dd4ea6a6a8d342ba146babe021451f631860323d2e61181044e2b8b9029c42177070a08afb6d96 -29155ca8b90f4958ad55396532fb522de4ee227523bca1e8b5242a9abbcc70d2767693769076aa47 -cebd2c40147b96606a978e141c0537539192aa8474d0146a4a02ab038c27c0199ca4477cdc8f8837 -025e001bdbb75df5fafcd08fe2df0171e0f74b13df50c9b57bdd0ec63881bd0778d785f4f80c4b7f -00c4a6d0c1d768217a7f6c5471ba57d071c62cb71ca2acc9fb0ac93a10d9cda2d723277ed09e10d9 -61f0829036d958728fa13377824213dc8c7bfab6f88e98ee93f57e10002792c5921361b16ee04c61 -c1a36d88fcf9c92d44f40bf0145acfaf983a7f610226a0496eda4acdd35d75817e71416559f6fd0c -cd45ace5bc9a7f22161f5c53757be65b438a2e701105ffeabc7df3dead0bafe057f82166cae7c6fe -af30ab1baf048a57831b55dc6786b274d84bcd74f279d27315c6be97f75224570453c7fbb6012600 -2f0adbfec9097f9967ea56a04ea79675086dd14b30a37ffcc67a38cd2ea51df8558565f995409d2d -4b0916e24212020c86c3a90cbf0c66727fa1da0c63144a223b06465a4acab2f415826a6d45a609a8 -26734d6ba7a24e122a4b740b14fe486615f82645ea8ea9ece7db6c0cdd398ba22f16b72e8307b2bf -23f7c99696e53c4c47d376fc8bbb49255332656992d12eb63cb6388e89036ddcebeae8d122be1f2d -542527ab33b3a2653a2528415199daa7a478d8cd2f363ac2c1772af8e72753cdfda3829e73351dd0 -03b74ff4ef2dc4fc123bdf82f832a886baceae1663595e695e2158724d792570017acde75a3a5bcd -5d30026d598dda0e0a1be61cf89d86e799c340fd67a72ed2734f38e67ce4d936d8586aea1f11f250 -317acdbfd5da75e95cb33aa65a501b557912c2296f59d4c9cf42effd22b0a5edf50d29f5f4e63a5d -c332b88d9c1f3055435fa22ff8bcf5d9e81d4e1a373737dd9097970df699a02f482b668a644c4a2a -8a5bb1d3cbdfd5bbe3f48b20e1787497b22601a4f6c167e4fe12a9a94125509c4d6fd48d51295c9e -07763491a5e5450595500655b98d990c40666b4b76ed8ac9bbe30f46123a3feb1662e2aebc5a7316 -5aec7bcfb55e1a6b976c6914307d0216fa0f2b9b5ecc209d954d43b36b2d7c71a1b25c761e87a112 -bb2f4ced959d2d1dcd967eb80c03ba0b716d146fb24fecd4bc61056f08b7a9b84f32cad3c08d9a73 -675a599ffaa9b525db99962cd699e0118502c89b05281d4f70d036ee5c10fd92cf9b6cad30f6a2b7 -c7433604284223558293715199eb72295b744e3f4a2fe9608d4db3919169d73588e296e715660a0c -e999e906bdd8272428253bcd9069802cc8c9cf2dcca5aee1ebdceded21b7867b9a463b05ba0a45bc -5a9f04f6119a963b4274f10dc94032da796786f58c8174a543f878930f47431af32b0b4cf96560df -344f5e0d09aefab47d5671d49bc983c519e5d67b23d21f29f8b18989727943626b5b63435b6b62a3 -4c684b5fd3d52bbae823f5685ddfb2b69748fb66396f98f69e75e22bb8d98969696ad00323e9c688 -aa08e31908816075b42c4a9a1c0a7eb063d01bd91c7b241e0d3b2b2ed3152b2081e2690e049c74d9 -e27103d9060812b9bce1761cc569e0e65b2aabcc500135d916438fa637a3172844be7af6c7b73ef7 -b0dd43e1aaf1d041b84edde8efb93dd4af8aec129c3b5315577d8c3acb9d3759fab77e16d2cfb051 -e92cc19fcb21e1e3b43427abc20e5948e722ad09bea668e3751271a121b9112fa09ab8996837676e -829b8977739ab84d88d568413640595bfedf82cd6091568df95497ba3d87011a61800a53aaac408c -547f5d659a2e62a47a4445bec8aa4c6354653ef1d6ac5b66d9fc126e457e65be11a88e72ed09e15c -1c09c7b53a8f2c26dd6966d2a328b51c6e50f44f6476819f5aacdfa79ef79f71daae69197cbfef7b -f4de37cb79afe9a3f7f96a6d6a9686714a43d5a010f991309ad5a6694aea0eb11c63a46072c3de40 -8fc43a6563537d5d43515e715ea930b72ccf08a5544b4743ef708becb8e02889371e5167848829de -eb24a55612ede031183c31d8573f3a2128f6ab55f4c179a8afeceaa1f0a6bff3419a95ae484dd0ca -d3154045c9cf0f088b48b8d5d78d960e321a6c6158b57294f5601a79587f6c0b63caa642a3d5949b -cb528284b8c41aa3c63b8f8931de4cfa16682ae02285ba4828309697969e6d1ca8e9026ab021ca5d -889961c73b2dcdcbcabe4433e995afa981db142a26db073a6b2f0135561beb24c4918cc96764781a -9845723319571053a0ab858bf6288c448bc23fdfede91fe7795c903c2669390ec120d73a79504f18 -3ff757317eaeb14aabbe835e7c87757f1a29bf67a30db3bbf85905a19ad88c133a7b590627852cc9 -2f8252a07acbd2438573d5a4f445f47364378316a0f7d05ff6fcb4f6a86764a052e06b73f172f7e8 -d4c82e6c8bd941879dfd4e359e15cc4f27ac99976c34c874003ee0c8d19295c515454505b5a53545 -e540d59769ce08ad2e1f9d919892ae49d7e6845ab3d2662677e6a794c3158afe95b4823ca51b1fb3 -d0c44b362d472bf9bae2082f5dfa29b0c7195cb413b9bd7a7df1294cd9ffe393c9f77cfc924e4708 -ce483467d46ef55976bdbf75777c05d4f498d7f65d27376edf22c4fbb0272795769847ad476beed2 -bbea58e83c33ca48510aff7dda33988bbf98f3e41c46e7f18e49b46386c407eef2b1818b0ce817eb -b4473f7fc642530fd8e820fd9c8ffcb9d550545058daf3ca2ebd54a3d06729984b89b99885f579b9 -9007b9f6594539c68e5e83ae4f80c8886b47e0036addd14f7729d5a50d3182338d89e50c8164dad4 -78f1e58427d38f5aae8e082f0dd58fc15378a4ba1430123ce8d58817d53363438eb695b6b9c482d7 -a8e80736ed35fb291f73f59e2a177f4cec3e86b9801d606bcb4703013dc1d7136e3372f0d6cb9f91 -00fd87cb37980c5618c41ec216b40ed920026d6ea67018bec87f39e28adfc60bc28fba7f74fc27b4 -e9aab1b5ce2cacaf3e57c6506ffeb8595bc6679fba3f46f2af7c9e2ee7bd420334c9a8f3efd7bafa -bf74f8d6f5f3b598f5c901c74316d9bf360978af30e19c24ddeff0e1b3fd8883964cdeff6352328c -97fe20485ecdffdaaf2912bca943a74e1ddae33ffedddd86fef1cb82e149066bcb78e4a59b0ee343 -7d77be1c08dee7253fe5251664e50064e758af80f403b44d2b0b7e44865fd9b792f8c8c674c3f2e5 -f03f9f4ea0b700ada090f326b410f3f1e22d6bf00a6cfbe81344dce8afeebb2608c3db315b84d7c7 -51e8169ae583323b3d2d5d9e10a18b046a4fd013b478acfaf3fa66614dddd98a36a0be1bda867732 -f34ba135eae6d965cd2cf805997eb1caa313df0742d511519ede624c025e0898d589175ef6be107c -35611caec2404d77d7f88d1e669a424b2914ea88dec5cb053971fce921ccc1622c0e166ddb16fc5f -281c450d21f64ba1adb28ef6ad433e75dcf6452f16b71b972c7951bb642941fc37bd8f00ed0a656e -6473747265616d0a656e646f626a0a31312030206f626a0a333531350a656e646f626a0a31322030 -206f626a0a3c3c2f52340a34203020523e3e0a656e646f626a0a31332030206f626a0a3c3c2f5231 -300a3130203020523e3e0a656e646f626a0a31302030206f626a0a3c3c2f537562747970652f5479 -7065312f42617365466f6e742f524a464b46552b54696d65732d526f6d616e2f547970652f466f6e -742f4e616d652f5231302f466f6e7444657363726970746f722039203020522f4669727374436861 -722033322f4c61737443686172203235312f5769647468735b0a3235302033333320343038203530 -30203530302038333320373738203333332033333320333333203530302035363420323530203333 -3320323530203237380a353030203530302035303020353030203530302035303020353030203530 -3020353030203530302032373820323738203536342035363420353634203434340a393231203732 -32203636372036363720373232203631312035353620373232203732322033333320333839203732 -32203631312038383920373232203732320a35353620373232203636372035353620363131203732 -32203732322039343420373232203732322036313120333333203237382033333320343639203530 -300a3333332034343420353030203434342035303020343434203333332035303020353030203237 -382032373820353030203237382037373820353030203530300a3530302035303020333333203338 -39203237382035303020353030203732322035303020353030203434342034383020323030203438 -3020353431203235300a323530203235302032353020323530203235302032353020323530203235 -3020323530203235302032353020323530203235302032353020323530203235300a323530203235 -30203235302032353020323530203235302032353020323530203235302032353020323530203235 -30203235302032353020323530203235300a32353020333333203530302035303020313637203530 -30203530302035303020353030203138302034343420353030203333332033333320353536203535 -360a3235302035303020353030203530302032353020323530203435332033353020333333203434 -3420343434203530302031303030203130303020323530203434340a323530203333332033333320 -33333320333333203333332033333320333333203333332032353020333333203333332032353020 -33333320333333203333330a31303030203235302032353020323530203235302032353020323530 -2032353020323530203235302032353020323530203235302032353020323530203235300a323530 -20383839203235302032373620323530203235302032353020323530203631312037323220383839 -20333130203235302032353020323530203235300a32353020363637203235302032353020323530 -203237382032353020323530203237382035303020373232203530305d0a3e3e0a656e646f626a0a -322030206f626a0a3c3c2f50726f6475636572284553502047686f737473637269707420372e3037 -293e3e656e646f626a0a787265660a302031340a303030303030303030302036353533352066200a -30303030303030363138203030303030206e200a30303030303035373630203030303030206e200a -30303030303030353539203030303030206e200a30303030303030363636203030303030206e200a -30303030303030343039203030303030206e200a30303030303030303135203030303030206e200a -30303030303030333930203030303030206e200a30303030303031303535203030303030206e200a -30303030303030373335203030303030206e200a30303030303034373338203030303030206e200a -30303030303034363535203030303030206e200a30303030303034363736203030303030206e200a -30303030303034373036203030303030206e200a747261696c65720a3c3c202f53697a6520313420 -2f526f6f74203120302052202f496e666f2032203020520a3e3e0a7374617274787265660a353831 -300a2525454f460a diff --git a/debian/hexdump-interaction.pdf b/debian/hexdump-interaction.pdf deleted file mode 100644 index 24f0fdf01a..0000000000 --- a/debian/hexdump-interaction.pdf +++ /dev/null @@ -1,1031 +0,0 @@ -255044462d312e330a25c7ec8fa20a362030206f626a0a3c3c2f4c656e6774682037203020522f46 -696c746572202f466c6174654465636f64653e3e0a73747265616d0a789ca5596d6f143710febebf -c2e24b938a5dfcbe36aa2af11295aaa84072522b71454a2f4792723920490508e5bfd7f6d83e7b77 -0eb15b4e22f67ae699f1e3f18cd7fb91d08e11ea7ff1efeaaaf9d83c3896e4fca6b1e453c3c865c3 -6d6f09e7cc902b6833d1514a39d93427cd2b274f09179aba518fb069a46245230c6d9a8b8649d977 -8670aa9513654ac6f626b61965be1da5d09e62362018518c01c645f3c78f64dbc84e45afad05416f -4ad8a4040efbf1a13b1874ed04187afb63323213e0621a6b96769c30cb9993b4145a9bd032269007 -02588799a04ac56e04b44764058a82e495272eea1464955e60b8957930b2236a86b227c9c79fcd91 -67ff67dcb19ee6b80bed4d6acb628df01eac2debb928c7e8beb80b8231eea2d228eeb23b2874ed04 -c5e26e3240a214b603900a2ecea2951b13c07510e5d6c4f626b5adf6ed2485f5ac0aaeebde946311 -1f8d502f9a9210a8ed881d3a8482d76e045399d8b9001337b41621ce15d3b00014da9bd896c6cb25 -29b4a754d843d29a620c3046bc01575e34ad36a8150139700803afdd0053bb809c09302b11ca3e25 -42df82442845913fb00ee41ca98a9c03da7bc2cc4b42c6019d5122042f50dcca7c8f25c249ca9ea4 -d7c46dd89efce5ff3b6bfc860d9b578a5e427b5e42649ce684e8db292132a58be481f662d261c294 -631cddb99e462f98e20f94c60931b98342d74ef06adfce0598167f69cfd35ee57ce7db29dfb97f45 -66407b31a3502b8a31c0d813885e34e53b501be7bbe410065ebb01a646f96e2ac034dea4abe84ed7 -4a2f29b943f7cd4d6cf67e599208d2e15afa8e32c5880460417bbf4fbc60a088461d6806a12432ee -706bfdf603e00229afc46b22b4db71d46db84132f53a7e264646f5dd920c5c424c549ef4551a9da3 -ec976240304258c5ab4c7b6786daac4a674c2e74be19eb9c514541c03a50468c2eaa08a8e325ce0b -c60c033aa30297fc40702bf3062b6e9394e7143623635d333296354377c5006987f261f8ae7a8022 -9e480c8f05cd0c4fa3857104b2342b915af6fd8a13398144ad4cae50cae402a55991cbb10e540065 -8b0200ea586d52bba3911a9e8c6a2fc6a895713031ac4a93946755242572415222d723d517891beb -40ba57aac8f6a08e479052b912298516a2e407825b991758119aa43cab00499b0b906fc602a47891 -e4b00e2446458bc408ea781af282b13880ce8ea6811f63dcca3c18c934cd519e4653ac2b42e672ea -9bb19c0a56941ea413cb95e045b902f5114d811b2f18a30974463534f981e056e62556432729cfa3 -89b24c136589261e2e78a208d2891ef170475420eda3899bbce9f8e0fa6ae0c718b7320f4646344d -519e451357399ab8cad1c479b108482779248a8503f53d34891c4d5ca0d194fc40702bf30a8ba649 -cab38e48b010e15c24e24da748d11445b00e9c4660e10aa47db98917b7a1c3cbd0da8f316e657e10 -4d739467d1c459a689b34c13eb0b74ac132f246ce911db4f13b3bbcb3b8bd294fc18e356e6c1c890 -a649caf36852f9c0cd553e7043ac2611a413174e1467db3d9b2eefb4144dc337fada0f04b732afb0 -03f724e539076e58079b42c9e640b2c55a946d562c98fd4610e5c88957e9d8813b06c108b2343b0c -9f898ab36ed7b48e976b5a474e04ddd918b7e31d96d93dd768c4c46bb5748f2f0dc2091847204bb3 -5a8f39f97ec5599ce42f2fe9c38b51e9be3cbee0ecef834fe5b78e6f7d7fc99f5ff0af2fe5f79302 -72689ea15f5f2629a74f05505de1534168979f0a18396f0453fe3a520b621d314a5272bd2eea2736 -7ae2483f6f3e9240394d7f5657e4f1a27970ccfc1377825dbc6de08324734b4a3bef85ee04595c35 -072f8e0961878b7f9a9609ebec50b2386b0e1e6d2e576bffd4559efcd08b72ffd0013b2702aa212d -73af147ef8deb3c5e225f9e568d175ddbd806878c7b8b4a455324874c4fdfc48692a3f6c4b5bf929 -577dd7bbb4e416d23f5f1e2c9ebc2417a7dbb39b8bd377ebe561f46737d1decd4c5b47ae3bc27b8d -4febbf6f2e6fd7b5dfadd19d62dab9d6f320f5f5cfbbb67d747442d6dbd5f5970fb797efb7c127da -e9de4a6dfc5aa92079b43cf8bc3c6cdbe393470361de7752c28735107dbe3e5f6fcf1e0620c178c7 -8d2652c5796c2eb7efc8e50d593c3f6923cefa0ce6d372d159ed3c6ba58d50c7ebcde917b2625f8f -3edf3accfbe4c531bf4f9c2fe76f3ef3e5e19d5773c9dd093f2f84bf3e5e9f5f6ec94f91839f1f1a -7a7777f843e3b892ccbdfc0986c3af9d81f3375f9c8567cb83df123e136e626e0aadd0a512c7ac84 -69584fb2ea49cbfbdacad727efb7dbf5ca4df80e9015efb424b2f6861762400ba53ea010bca7a7b7 -a7f749158111593af1112e260ec1d6b9ed19f25bb77f9dd23279afa96431629707ff6e07ebe85e2b -29736f45adcb0b00b7fabd6d4fc9eaf27af5eb539892b51dd5cced2286cf697970bdbef9f07e7be3 -621da624a4cb324cedc2ac14819dec5e5b852b61fb265e6186998478f0e92a2a3cb95e9fba693895 -4120047ca93baa84db62a6100eb23920c10f47be4b37aa9262498a459222585ba19d0541679a81e9 -287cb420af1afffb0fd8e4d476656e6473747265616d0a656e646f626a0a372030206f626a0a3138 -36350a656e646f626a0a352030206f626a0a3c3c2f547970652f506167652f4d65646961426f7820 -5b30203020343531203233365d0a2f506172656e742033203020520a2f5265736f75726365733c3c -2f50726f635365745b2f504446202f546578745d0a2f457874475374617465203136203020520a2f -466f6e74203137203020520a3e3e0a2f436f6e74656e74732036203020520a3e3e0a656e646f626a -0a332030206f626a0a3c3c202f54797065202f5061676573202f4b696473205b0a35203020520a5d -202f436f756e7420310a3e3e0a656e646f626a0a312030206f626a0a3c3c2f54797065202f436174 -616c6f67202f50616765732033203020520a3e3e0a656e646f626a0a342030206f626a0a3c3c2f54 -7970652f4578744753746174652f4e616d652f52342f54522f4964656e746974792f4f504d20312f -534d20302e30323e3e0a656e646f626a0a31322030206f626a0a3c3c2f547970652f466f6e744465 -7363726970746f722f466f6e744e616d652f54696d65732d526f6d616e2f466f6e7442426f785b2d -313638202d3238312031303331203932345d2f466c6167732033340a2f417363656e74203932340a -2f436170486569676874203637360a2f44657363656e74202d3238310a2f4974616c6963416e676c -6520300a2f5374656d56203131310a2f4d697373696e675769647468203235300a2f584865696768 -74203436310a2f466f6e7446696c6533203131203020523e3e0a656e646f626a0a31312030206f62 -6a0a3c3c2f537562747970652f5479706531432f46696c7465722f466c6174654465636f64652f4c -656e677468203134203020523e3e73747265616d0a789cac7b07581457d7ff99597667c0c424928d -a0c9aed1c4ae4114053b0856ac805244447aefb02cbbc0d2e1d23b0b2cbdf7deedbdf796821a5335 -c5b4bb64c8fbfe6759497cdfe47b9efff73c9f8fccecccdc7bceb9e7fc4ebbb34b800607088278cd -d2c3c72568c93e3f1f475fd5f562e54c42f92ea97c8fc3ac655a7e2ffe5d8ffb1e9897725e2f7f0f -08c19569ef6aaf7debdda937de7877eaea37094b1208e8804bf0293c862fe17bf815c6092e319598 -41cc26961006c41ac298d842ec242c081bc281f020020811212352881ca288a8249a884e6288384e -5c20ee101f134f8967c42fc41f248f7c8de49333c90fc825e472722db991dc4e5a90074917d29714 -93b1642a994d1693d5640bd9450e92a7c8cbe41df233f22bf267729cc3e54ce1bccd1172e6735670 -5671367276702c39f61c578e1f278413c949e464738a39d59c464e076790739a7385739733caf99a -f382f387064f434b435be35d8dd91a8b345668acd3d8ae61a17150c345c35f2342234e234b43ae51 -aed1a0d1a931a4715ae392c66d8d4f353ed778aef1abc63897cb9dca9dce9dc55dc0d5e7aee19a72 -b7732db8365c3bae33d78b1bca8de22671b3b8726e15b799dbcf3dc1bdc4bdc17dc8fd92fb03f757 -eebf7814ef4d9e2e6f366f2eef239e016f2dcf8cb79b67cd73e279f00279125e222f9d57c4abe235 -f0da7843bca3bc8bbc3bbcc7bc67bc1f799822299a7a8dd2a67429213597d2a756526ba92dd43eca -8172a23c287f2a8c9252b15426554429a86aaa9d1aa64e5157a9dbd428f525f59c5252bfd340f3e8 -69b42e2da417d01fd106f4467a33bd93b6a4ede823b407ed4f87d191743c9d4ae7d072ba82aea7db -e85e7a843e4d5fa26fd20fe847f457f4f7f4aff4b82647534bf32d4d1d4da1e65ccd259a2b34d768 -9a686ed3dca37940f390a68ba6b76690a65853a699a499a199af59aa59add9a4d9a939a0795cf39c -e655cd3b9a9f687eaef9ade60b4da5e6bfb5785aaf6bbdad35536bb6d6022d3dad555aebb5ccb4cc -b52cb46cb51cb5dcb5fcb442b5a45a715a482b5bab48ab5cab4eab55ab476b58eb94d645ad1b5af7 -b546b5bed4fa4eeb172d660a394573ca9b53a64f114cf970cae229cba7ac9e623c65eb263ffff040 -0f37f7e059f3adf61d58b068d1e2bfee2c3332329a75247cf2c92c5397200f37df5973d90fa12ede -7efe3e2ebec16b666d62477b7b7b38cd72f30ef7770f9ae5e8ecece2ac9ab6dfd1dbc56bd6660f6f -0f7f7fbfd059f3372d98a5afa7b76c097bd05f336b57888f4ba0dfe2591ebeae1ebe1ec1e1b31c7d -9d67edf67171739ce5e3e8eca22260eae3111c183e6b859e87ef9fb37779f81c09099a35e198b376 -f919cd329fb5cfc52dc4db31f0ef4fcc4202fd4c5dbc831d7dfd825d02421cbdbdfdc42ebe6e2e81 -8ece1e4eec954b50d0c4eda0101f1fc7600f3f5fb74017c76097c0899b9372f93b06067b387a3b7b -b8ba0639b938b34b75dce4e81412ece23471dce4e418e8e7eb3471dc722490558cf1c4d16de2b8cd -d92fd8d1c989d593c5cbb9c63e8e4eec5047570f8f657a7a06862f3fac58f5f2c3f295fb26e8bebc -d437507f58a6b77c9b9f9b9faf8bd7cb0746fa56811ebe6e2faf0c975938f9b18b50f3329b90e6e5 -a3557ac6ff31d1c06892e524efe5abf6bd3a417fe5ae572458a6b76292e372ab600f6fe749c90cf5 -2d8f38069afdb9c04976cb5e7e58a937c96792e172c37daf08f992bcd1f249b6ab76bd22c5323d83 -49b693fc0d975b4e0c30fb0f0daed29fe437c9d86092f1f249c6fa86bbfece586fe5cba7cb566d7b -755d4606079c3c029d427c5cbd5d4493ac5758beaade3fd5be6af9a6bf8d5d392990c1a4402b2605 -d237da3d818a4909266dbecc70fbdfc8184d8a6768603531c9ec3facb86ac5a6ffd6bcc124e31593 -8c97eb4d729a34f532a31d7fd3849ed1aaadac2527d94df25d6560fa2a2a0c26edb46292cdf265bb -dd4358550486f8783b86fca9d63f953eb96a23439bbf56b7f5efba5d65f577327aab569ab246769c -bc5c398906834934ac989467b9feee5701b16cd99fda5e66feaa27194d0a666868f59f089a34c3ca -c9a51b4c725bf1929be18ac947cb5fb25db662728cbebef97fe056cf7682ebb6ed93ec8cacd496db -f2b7a5af9a34cbca49110c26f9fc497ef9e482f5979bff038897d9fe09836daf604bcf486fcbdf0d -bdcac8e2558dac9c646f30c9feaf65feb9ba15e62a062fb9e93baaa3da7fe8cf68d996ff86a2a19e -c55f8b357b55ae9546e23f07bbfd35c6454d31e8af3b4e7f0ef39d90d97b42c96eaf2c8a8de441af -5cfa3afafb050507faf9bbb363ffbaedf6279d1055bc7451dbe2d5791384bdd9611eea672113d120 -442db55a2edf57c6bbb3bee237f1d0fd2f69c3fefa18f22a9a83d9c1816a9dbf24ae26183cc13470 -e2e8f7dff05fb96cb981be37bbd8208f0951825fe11ef8ca673f352dcfbf787b4cc815fe8a306aae -2e13f75f5db587a7cb0473e789a3179bf85c7cbdd90cece1e4a1a62a9e90dae54fed394fb863903a -f3fdc5c07be24688af079b4e4cd52733f569f3c4c9485f7d5aae3ead9838e9e9a94ecb8d8dd457ea -79067aead34b2a9b264ea6c613a74d26132713f54d93651327e3956a9aea679bd537cdd4374dd537 -37bd9ca0a669a296c578957a9efad966f54d33f54dd3976cd5b298a89762a216ded8903d6d5eb949 -bd062335cdcdea676686ea9b06eae9ea67a66a914cd49a3051cf9b58344b453dd248cd61b3fa9999 -5a21462fd7a07e66aa1670d34b91d4f38c8dd5545eaa40cd61f34b9a6a2a666ad599aa9f99aae5dc -f45224f53c63133515f5da8dd51c36ab9762a6d6a099faa6a95ac04d6a594c5e4ed8a49eae9e60ac -26bdf92577b5228dd423cdd4cf4cd5026e52cb62f2729e5a59c613a497ad7c690ef54da397b2a86f -9aaaa57e690013352363b5968c97aba7bf3487faa699faca542dc4cb659aa8f562acd68bf14bcdab -afccd457a66ab62f1766f2127c6a4d18bf54b29aca66f54d330300c833370ef775b2de6922f673b6 -d9b5c9dfc576b76980eb1eb340b7bd9b83dcf76d09f6b0d81ae269b92dd4cb6a7b98b7e3fe1d229f -2307baeb23d62e9bdbdb2059a73fafaf51ba7ef9fcfea6c80d2b160c34576c345838d85269b772d1 -506bd5c1558bdf1f6eabb6375c327ba4a3e690d1d239b38e75d63aacfee883135d7587d7e87d78f2 -f7eba798c7a73f3ff3f5d96fce7d7bfed9c517977ebda2bc3a760d6009cc065bd80da660044b610e -d8c11e3083d5f0117c007b6133ac013df810f6c116580673c102b6823ecc034bd806cb613e58c176 -58010b603fec0003580807c01c56c222b0869d6002ab6031d8c02ed8048610086e7010de83694041 -10b8833d08401b6808060f380442781b3421043cc10166011fb42014bce030bc0fefc01408036f70 -84b5301d5e0311f8c01158073af03a90100ebee004eb4117a60207c4e007ceb00166c01ba0c136d9 -11e00f2eb01166c29bc0050904802b18c3bbf016f0400ab9900c91900729100508a2211564900631 -900eb19001719009f1900509900d89900349d00837a0148eb2ad7b2194c15db6811f821ec8679bf8 -5b701e86a11314f019dc860b700cbaa0186a6114eec01518816ea882727804757011ea61005aa100 -9ec03db80ca7a1179aa0062ae163b80a27a00f9aa1023e87fb70134e423fb443093c806b700ae4d0 -02d5f0095c873330086dd0000fe153784aa440119c85e3708e40442a9146a4131944269145641339 -442e9147e4130544215144c88962a2842825144419514e5410954415514dd410b5441d514f34108d -4413d14cb410ad441bd14e74109d4417d14df410bd441fd14f0c1083c410314c8c10478963c471e2 -04719238459c26ce10678973c479e2027191b8445c26ae1057896bc475e2067193b845dc26ee1077 -897bc47de201f190f898f884f894f88c18251e118f8927c4e7c453e20be24be22be26be21be25be2 -19f19cf88ef89ef881f8917841fc44fc4cfc42fc4afc466042498c11bf130c314efc41fc8bf83709 -2441922487d420b9248fa4489ad424b5c829e46be4ebe454f20df24df22d721aa94dbe4df2c977c8 -e9a40ea94bce206792ef92ef91025248ce22df27679373c80fc80fc9b9e43c723eb9805c482e2217 -934bc8a5e447a41eb98cd42797932b48037225b98a34248dc8d5e41a722db98e5c4f6e203792c6a4 -09b9893425cdc8cde416722bb98ddc4eee20cdc99de42e7237b987dc4bee232d484bd28adc4f1e20 -ad491bd296b4230f92f6e421d2813c4c3a92474827d29974215d4937d29df4203d492fd29bf4217d -493fd29f0c2003c92032980c2143c9305244869362328294905232928c22a349191943c69271643c -9940269249643299422232954c23d3c90c3293cc22b3c91c3297cc23f3c902b2902c22e564315942 -96920ab28c2c272bc84ab28aac266bc85ab28eac271bc846b2896c265bc856b28d6c273bc84eb28b -ec267bc85eb28fec2707c84172881c2647c8a3e431f23879823c499e224f9367c8b3e439f23c7981 -bc485e222f9357c8abe435f23a7983bc49de226f9377c8bbe43df23ef9807c48aee400eb93ac63b2 -f186751d620d102d407281ac038e3670fa81c380c616d0380d5c43e0d6024f08bc32e0fd0ba8ad40 -9d067a3dd003a0a90d9a29a0351db442618a254cf91a5e3b00affd08afbbc2eb2f606a024c7d006f -2c86372ec19bc6f0662bbc351dde7286b714f0d61f302d17b43540db1cb41fc1dbefc1db23c0e703 -bf0ade5902ef7c0ad38d60fa6998fe29e858814e3be85c02dd3741f732cc3086190e3023086664c1 -8caf60a60ecc5c06330b61e6cff0ee9bf06e21bcfb00ded382f7dae0bd672070024121081e807003 -08734078176615c3fbdaf0fecf30db0666d7c39c2530e700cc390b739ec107f1f0a10e7cf80dcc25 -61ee5298eb0073cb61ee73981707f38a61de6998bf05e61f80f979b0200b1694c3c285b0d01c160e -c3c2dbb0c8041699c1a20158bc1316635842c39275b0c412967c0b4ba7c0d271f8e821e8bd067ab6 -a03704cb2a60d949d077007d5fd0cf80e502583e0a2bde8715ddb0e234182c05834360f02518fc1b -569e8295bfc0aa55b02a000c4dc030010c4f80e1bfc0683718c5c26a02560b61f57158b307d65c80 -b58eb08e0febd260dd6d58bf08d67f0d1ba261e322d8e80a1b5f80f15630e182891c3699c1a66360 -ba1d4c2bc1ec106c9e099b4fc096c3b02500b6fc0e5b3d61db7e368bc0f653b0c31776a480f94230 -6f829d52d8d908bb48d8150dbb8a60f74ad8fd0dec39017b77c3de5ad8c7a6a41760e1091637c1d2 -162cbf06abb560d50b563fc0fe723840c38138b07e1dac6560331b6c76834d1fd8ae00db5b60e704 -76bfc1c16d70f02ed8ef05fb2770a8041cf4c1a1120ecf86c3b7c1510f1cbf862399e064084edf81 -f32e70f606e73a70be0dce2fc045175c9cc1250d5cf780eb5d70ab03f7f5e0de0d1e9bc0a31b3c03 -c193016f1abc1dc0673df834816f10f8fe047e1bc0ef2bf00f017f09f83f87000b08f80d020f40d0 -2208ba0ac14b20781042fc20743e849642d80608eb06d146106d03d143103d857067083f06620f10 -8f41441448a6822403a4bb407a0a220f43e453887c0651db20aa02a2b910ad00991fc4cc81982088 -e5436c1dc49943dc1f10af01f1d1107f1fe29f40c27c48a883447d48ec86c4a39074109230243b40 -f20348fe1c528a002d01b4125037a4ae80d4f590fa3ba479425a30a47d0ee9b6907e16327643c62f -90d9075926907511b21590b31272ce41ae19e49e843c43c87b0ef9b990ff2514e841c16a28b80885 -9650f82f284a06b92ec807407e1c8a3743f14928d90e25bf42a9184abf07453628fe05656228fb1a -ca3da1bc1a2af4a122132a5e40a51b54fa42e538541d86aaf350bd05aa87a0c60a6a1ca0e633a83d -04b537a12e1aea30d413509f06f53f40831534f443a3013411d0140acdcba15904cd51d0fc3bb404 -41eb01683d0cadeed0a60f6d61d0f66f68d784762b683f04edeed0fe05749842873974f441c771e8 -380f9d07a0f31c747d0add2ed0b30c7a8e41ef52e85d09bd9f409f37f429a07f21f4c7c3000f06de -80011d18380d835e30f80b0cfe01433c187a1386fa60980fc35930721046eec0516b387a038e59c1 -717338ae80e3757062099c380a27df8193517032094e66c1a97970ea2338350ea7dbe1cc7c38f310 -ce7ac0d94e38a70de7d2e0fc4c387f13ce3f840bcbe1c2105cdc011747e1d27ab8940b97d7c2e5cd -70f9295c09852b3fc1d538b8a609d72ae1fa1cb89e02d7ff0d373ae1e64eb8f92fb8550fb70de176 -27dc790bee1c83bb5e70ef35b83708f757c3837df0e0203c38050f6de0e14df858081f0fc127c1f0 -c9cff069267c9609a3d630da078f0ce151263ce6c3e30e7872109e74c0e7e5f0d4099efac0d33af8 -623e7c711fbe3c025ffe0e5f55c2d7def0cd7bf0cd1df8b61e9e75c3f315f0fc247cb700bebb0cdf -b7c20f2be0877cf841013fcae18536bcf080176df0d326f87919fcfc047e3901bfbe01bf4e875f2f -c16f36f05b33e0a5800740690c631a30160f6319f0fb06f8fd22fc7e03985dc0dc83716b187f007f -1c863fbe827f39c0bfcec1bfade0df8f098827e0194184116ce9417a12e418c129203436121adfe2 -f4a94a8c14a24ee58f8a694f5e4cd7f657dec0267cb18b3458227677b60c3744f4569e496456ab50 -e943a19b45450f336905d32aa2eec4174a91193dbe87d26e4766528949022da2d8e9adbc216cc29d -3ae68a14d8a65bf97e1931b65fc13f942ecb73bfc3a4292feb84f118e7f1a81dccdca808bb645d11 -b655507661857505e9459985c201acc9c5725ef7a202ffec0024d54581e2d8fd29b408e750e39138 -8f8f295c8769a68e3b5599c4f8be500ec909a59f723f9f9929e13515c74424a6c427c5091732f50c -85b3e28b120b51be2e2a9567f7a6d172e68894aa492c89ce11631e93a2931e2bf7a9b3297643125d -24093617fb4803424452148f62d26499a26c718618d1c16161419e4d813d57874ee10f4e08f152e5 -e2c2a6fcbcaa745d963f922b679c242e8d62d3514eb172363f2b3d2f351fd175b9125b21934aa17d -d152eb445a82dde5947586a400b5d1b8851aeaaf286846f47095f73621e34221f348b18d6a90b39c -b2cd8c2a40c3340ea7be7138656cef2ddeb145f0908a4bb30df788b68c6039ee91dd5272eb09749f -a39c8df5f876666e41fb10adb7e3634cfd74f2e6276d85d1ae79c2ac901cbfd2f072a45b53a1a83c -6536b8cad63acced88d0c6c16f0b5a4b33ef3c5c8a39fd5dc58d6d82da2a456dc3597ac254a2f231 -52314dbb7ccc7c6c219f8911f14e2417c7a16024890ef77563b88c40c7f1ecae4741bda8421795c9 -739a53eb527514cc49117539a954f21d23c404b3428759c658e9bf9f90689dc89a55aaa0f66684e7 -a04a249757b70fe02978beceb7ccac66db520f56e3da87517884cc2385d62e4f44d129512a138f28 -a8fd5992bcc367184b5cab83e7e2ed971f94155ccad09dfafbeb4831a6a1209ef7294b5f70c6562a -6ff0c76d28641815b996451d6e56502699d222749356ee61315a5878278bc5a81dc5048ca73111ca -342e632be27d9a5018854ce8f18514fa402a328c67e74529a8f519e24af423ad9c47e18cf1416e11 -6fead847ac36da714f172e681729a63d7b81135eacc6d474edd6125635226a34a1201a19ab708f8c -23230d9354a877c14f780fd0cdf2f696b6a6b27e3484fac2bbbceb7d6afd0bb6171f2b2ccfab2aa7 -b55bab2be4eddd33b086fe19c65860c43ce53f4703096d125adbe57450ad93f90c6415eaec14ec15 -7e24761ba26da5b94d42dcadc182417b657976ae5cd0c7c3d4793bfd75fb1d96085928a006e58c06 -42b912cfe48767c86ce22322c5ba52b1478c35a219010f57281770e5cc0f5412a3c52de5e5de96cb -cf211a0b788c627c0157a27c9d62f12bab53ead711e80b5cf40507a72b0ff39977f416310266e6d7 -73f1343cedd9af5880a77ff42df3b630d28f3f7a7611f31ec33db465a3b36b5557a8d0ef58c40d56 -e1df0e5eb82950d13aa69cc1d27a8cc34639f8b98c8fe71de31653e129c92809d16eb1f90342e525 -2a21cd4eec2edb21d68da07252b3500ea2db736547848c1ee5d2e49fefc44a4e2d65b1369b79fbee -0a4c9eea281b6c11eea030a181e2e2a264d1e16181325f441b5a7e8cdfc0dce13bf78e0f1fdc2f9c -80af0a1c78808586850abe7e22deb194925814846409513112660e13aac3ccc781d1c5f12513f1a0 -28b7292d03e5a1fc541627cd226a28b948fa03f33e9ece58ea3026145a2193e925b20039aba0f4d3 -a405e81e8df753783e0e3dff794dc551169063aed1e53215d7692c2497f74dd7ee572aa3f9ca4a0a -9dcb6b571416e515657464b0b4a34454475251a23ca64c9aeb8676d2cc17d4385f29e2321b44bc5e -5414db75901edf49698bfe0992ef522cd55d2c2859484afb9486e5d8a88b4098e68c011bf0627028 -3794171f1a1115866290245d92655b6c937310192143ef9d96663b5d962286444b1b0c8eee3bb7fd -2b97ef11e6a2ef07ce7f4287971a9b6ef33144bae6c8a2ec7087e5b0f717087368bced6bac893f3c -7d2cd4a94bd0e425f7536ca75531d6a7445c8af73629a79e9b766314873c9eae2dc955bec7cf4dcd -46b9886ec9961d148ebb53dac3e84074f49e785a4c694b7042296f636a643eba48e36554ab6795ac -87c59ed65758037f88df347bbad0c221d0ca41789f8a4fb30a758fb414ebe2851bf90da7da06ee0c -6f60688663bb71d3c17d6d0d0255c4bb8e7d9b30d54628176343bedd86c3be3bd03e74b8def77478 -475c73f2791a9fe7c55e96d50736f9b4d9971f4036e860b88bc7c123fea6c88875845b0698faf6ee -590c3d02e6015ecccf7fd0d27e1e9d47557e852b6855e6eb507ed641286f6253bed842161a161214 -e82065632a93c7539a2a7fe5cac72ba9306603b786973b9c5356525e59df5f74855d4c006f7cdbf8 -afac239da7aab0a92adb49db94ff6a63cdc353aec73c0efe63cc90cf5830ef321f30f64b9af44eec -159e317feafc393bd506bf8b6761fbef7d1f599e139a5f5fd5b68875108d013410dee675c2b67109 -62a6a03d919bc30ec4048a038383dddd0f85ef47f6e850a97be38101cf1f595ba11775cf7b06e9ce -dee18a93e865f86e573e5245abcf5f28799898ae5df23326f8685354e48689acec8ddb799846bf34 -5f3875f96cfb53f41c7de1f3c0f2e496eb0cd1c6bc8768ed12a652c47b18971bc346b617cd7c6def -c6fc9ceec797233c86040facba0d100388d13ab26af5416bdfbd512b10ed14c58627353cf0bef3ca -69754165d358e78f189daefd091e57aee36b3fafb5f7c9759ec9bcb588d1609530ed8afe37674ed6 -0cf5091936705a844b4c1368318e2ea22c0b6273500fadfd89f2db68ca84f98c8f82122365b12122 -cf286fe48dfcf3c2cabcea432fa32bb4f673ac75fccea30b8d9e5b0553f16336fbce6b223e63c3cd -0555fe7f03d3bc338ac68ef222996fa9a038a0405682e84a4569659b43cdee9dfbfded0384010eb1 -6e296b6823af4f99ab3c64121db54995780be594517a743eba4be3ab782a1b178fb3854b45171e51 -e973f4058e50e9f3393e84fbf835c9252935e8013a91d75b75aea9ed3cba827aa41dfef54e7d2bea -96b05afc842911f1eec4e6c9d0267adc8c42ab62651be2d4f9696dbaa408dda695a11aac66b2b36b -f1cc0b073f58b8c786a1c2a4a969c1027515d68e7bbbef9661830e91ba18132bbfc1ebf87e3c1b06 -0e07317310edcfb3458e9971d909e9c9f9a884c6082fa53e45f2c84243ba124b827971471225d1d2 -48b15fec4116c44b7120af2e2bab568067f258f7af90942ca3ab79dabd49780e77bc8e15f5cf12ee -af024eac6ce74d6817fff01d71739493ad9cc12f4acf4d2d4074756e84839049a7904d5cdc8e2856 -7571726a4bba588e4ed338846aea1da9cdca4d90e50b8aa5f9f18588ae9297d43587967938fa069b -da0abf62a3fffe10b7c83d22dd89d2ed34be588d3d3b33eba6a11bbe9f61b3fbb5b5d3b519a5a752 -87dfb99e0a63235a5876488e8e7f9e7f6600ab5abcd478939e79adcb154fa1283c5c1c9fe0e91b19 -86c2506841547718adcd981ef0f7749db1ff81c3b7771fd4f41c1374349634a10e74e1608f713ac3 -cfd2d99f16988b8a5159736b6d4e6e4a764a3a522417a664a176d4256fac6dae93b7a211549f5029 -6da299b8f119fce6b88fe38711fd6573a4dbde0dce0c77f9defabecaecc29e11a136cec45ff3cfd6 -b50e34d6887d8a05a5ee05f6c899b6f075b7dfed78f99980f547c6ac74acebaf6030b69759ce6778 -e96bfa56ff72adb0ad64a0ebce958e2f2782ae3df32efe808d13ea48e1b0a0c1e8ec0e41a76353d8 -cda0414b9d6b6bf1eb87f1722467432d9baab278cc176367f8bd6840d4ea7dc2ae691162b868beef -874ef6ae470e045b223be450e2d6b47fd0eb078435d1b3faefba07bafb06cbcfb0316202d4e7ff03 -5bbf288370049f050d15b5265cb28685cb872ab864aae0f2eeab7079fedf7061916d183d115954c8 -5e9fc1565eb768ec8b3fa43e41259282d52c3b5d594544b972595964c53474011bdd602312be86af -f2b51727e277b9d1bce4e498b8949444a41b8f6469d1996c00ca0909c90898b9769ff5268b26a747 -76c2339ead612541c85bd7c1cbcfdac3bbb0422408ad8ea98c3c4d47f0b4cd19bd422a3b2f23ad80 -d54c5172653c4b20beae36b174e6fd4b676e8c0435ef6e133270c9af58528d6a75bb1aeb064e3778 -e8570ad445fbcc13aaa27d171b3996e167fc9e8186924e448f54bb9909195b0a6d9145ee8d5757ed -5679f139e83a8deda85f1c4facdee318b4db5e804f5309e91e5181b11611bafeb1dc082a23351d65 -22ba3727f6b070dc8bf5a4f898bdb1ec7c6f39b5374b56c0ce9f2829953fa9e2c9a3173852154ffa -c7e629f82ee96179be2dcc119ca573b5b0a1a0b9b6a946d18306516f647b403dad7dbfdbc5b066c9 -4ced7ea65ec4bb1b9b178d4cd5ba97456d54950a0dacee33230b55bab7a14ea5e118e63c171bf0c6 -ed948ff9daf7ebf273baf05b670e2fb10975741309ec03dce31725ab9285b40b5f2cc59c72bcb06b -02a1b39e73c66cf06f7c26279cd79b549054102b8fc90a4687696625e5b5cb7f13b36a1ee6e15ddf -d47dd9372ce81bbe507b0d9d42c3a24eb706bf62ffea5d74252f16bb714378f1a270692892a188f4 -f0ec4372fb9c432ca20eb2a5d73ce6f082da8da7f608af6e7ee68249f418e1b75abb5a69ec40a1b3 -05856732e9a9b8912d1f5f6b224eb326c96183f95c3696e7a5a4c70be262e263e2642e9687ed2212 -a3e3e2e350024a4a4d4e4fa68f332778ab1a0e9f1deea83ad62c88cc0f0d14cb4290aeaba4f6a210 -77fe48b12459435f7c413c64496e5295b61f5972256cd5599056989a8b74ab26429984429b64d19b -55594026a7b665c6e6a99489296b1ccaf70f0ef6f3ab08aeabafaca8af0baef465b3ddf1c8f2d056 -e5ce72bca87b5afd632cfd71baf6b0d2824df4a1bcc4e0e86831bb78b669cc712d72cdf142879183 -d8d3d7dd3bdc111d406bfa2cb0c69e5b2ec78e54bbe4466686a2205a5bb2d5c6de44dffc249e6a23 -08e6690f3730eedc0a5eaaa2a0488ed8d89ea888eb9074c576b11503f5f4e14f9f5a5e66746e0a67 -9f71ec4327e8933d1d17fa7b446ead8246afa280e23dac9baa1beee13edcae203e7f814fbde06017 -ccf0d9ba15ddcacfbf9fcd16a38d22ea7e5c7ef464729245ad53b970a382da98c5c2e8268d8fe053 -cc817f7aa26aabfe4e85d93fd1459c51f24ba445d32e8ce2cda3aa423868849fc0b38f664b7efc8c -d2becfe88b7917920a64c88666a228e497209546fb877847f920dad9aba547a8dd8f1f3273a5d450 -529104d9d34c26b576c8fa767b67716dada0b7976b4865248f94b5e51f2dd2658daa7cf082c05b58 -9b5a29edf909e97b825d22f784b3ed4466aa3c4d9e9a87742b73c5ac1bbe41a10d4981d161f13269 -ac1449902c5b5c1e5e29cd8d603bfa7071885757f0094c9ebd87670badc736fc93a9d964acfcae87 -c032568dd963c01f4fa2d0cae86843955afa15945186b45095cd734e5098872ac22b1992aee2c5e3 -f5dcf1f3bc78663db78a5785894a05d660632f9b4cd5cd2b4b8b5295651b23a35625a9fb5da3f488 -89b280d5efeda2c25155cb3022a21ea95b4c56b9ca2d724219a0aa6f84125e53925c864448962c4b -94cd670a743ec4b9f14549452897ed68f2b35bd36939632da13a92b365031fe0d7982e9db4f8f4b8 -f4d8acf0acd82c9485b20be5edf86d7c47a7fe5a5676433aad0e864645c45d36cb8f71f8ac63b01a -a49bf322ed84e3a1143a9094b44995e523e55458aa531a5bbfb4ea62730acf6276a727a625a525a5 -27e9e6c8d2e351021d13131f251049b0af9ce790eead703cca2cc1fb75ea6b6f5eb930509fa32bcf -284a63abb11c397358caeb4cc94f4452141b239546b11de5541da5219598e612e51bbb3742d72776 -a296ee538e29882f5ee03ffa384aac2ce0a31705c59fe6b1ca9188a807f1c521681ecdb0bdd69638 -97081f7fbb1dde1b9129b2adf21f0c6f8a6b57751db727e0fab10aae6d22ea613c0b57139ab94c31 -c69f18e1f598b8db7aad5350d5933b80eeab9295b443f96fb67f5ccd1aa85139c247b7f3f33f51ed -207489a84fd573c79da84351a101d2f89cea3881ac35a298ad49fc4382fd1dbb7dce60387f0bbfa5 -ea4327ac758db596846a89cb8b436224890f8af65fc604eaacc2c1e2018450a12eaac8cf1ecc666d -e520a1da130ba2cbacb245d9a2ac703dc64e673e2e4acc4bce4379baa8bc20a725831db555425526 -e7c82aacf14ce65b9d029f1c69169b6e720a0b6ad8762a4ee74b26bac835233e0be966a3ccdce22e -b665ff5ea7b4273db38c65a10e83aa18a860ed9bc5cb4f2d48659beea63c29dbb40550c84a1a699e -c05a385a4e996744e5a193b4f21bd61607c42eb2cde289fda6334a9daa69e8f3cd9fe3399f4cd7fe -5ab9eb0a5f2c8d4a90b07e1457d427c46cb43896502fa90a693bacd8c39669f79718db9a07978555 -5695975564a464a6640b9373537250365ddb54d1355ceb6b25d845314b778a630fbbd0da5f878449 -3d3c6798f7399cefeb2e3f765e9079a034b41bb5b08b6feda0998fd866c03b2126342a48ea17138a -6877bf965e61069b35badbf0eb7df444133ef6ba8218dba96afa1d45bc9349a5d1c80f45c4f947f9 -30f3c6393acc22fca5e7edd84a24d7458aa23c55d39f9f5aa46afa15226a986dfa7bf571caf8808e -9c870395679a1fe6e70fa5ebfeb9a1f0c50b8e72d9d8747e414a1eca400dc905b16cc11912ec6369 -cd9831063ad891fa1329ed2a5c16444e66e868f5be54ab825aa7dad3bb4de3dd544df9afb3ef6d3c -618a827491541ae7979280a2d1c4bed719057520559aa7f79c91e2741dbc0fefb976b938e75aa6ae -8291536a2f359413b8f11d6c2fe779a3b062ef3ee66d6cadf3197e4d51db50dc94aa2b67f4255443 -725e3ceb5851512181de09f151e19161d2321dbf9ef01654888a0ab31b525934394972a906541cd9 -78f01be6031d86c718f91c91c57926e94af08772ca2f2ab3302b5b5e58267c88dff8929995119f16 -8fe27551785ca2a7aa7650b092bc778cb8318acd55ff390ae56c7e617a8e6ad3b32637c24ec864a9 -3025b14861311528a7f6a749f251278d5b29949693979d5d5dd95bd28ae8be0a77b6d2f261bbc0e8 -e87daadc1b2ca7f6a54a4ad0051a67520dbdcda503883e5dea6f2864dc28b42f36766f1c3bc84f4e -05a4f9a44596a24e5d7c84c25acee7d6efb50ed86b25083fed516b851c909fd4d09cbe4bc5a5598b -3ca22d25aa3643d6a49c7291b8328ac33ee7e02563ebf809698e12ffd88391babeaad22d2b350365 -23ba2b37c651385e4c793ff2fc18ebbcc0249e83dfd8f0cdbc5d7bdd6cc304fb353a07db8e3d1859 -c74c6538763b8c0e1caaac164cfddd548dbddf0d55d8b315f18e26b0d8f347a1f101323fe62de62b -1d46077f939c19539192ae1b531eaf60737a5565de0915f6ca44d4e994bc989635cd463ab39856e6 -03e56b71a589133b531545d947d3d921c922ea68823cbc7d09b61a6f51c173a9720d5e31be862be7 -3dc245797598c0838a63f9b9c7f3d8fc928edfc217f93e8101debed581f58d35d5f58d01353eaaf6 -1c5397f0c94bc4e96b78f01a2704037fc4e6d9773d7e9d9103487710751676d67db740676864d1b3 -fafebc1634a48b8665cdbebdcfbed3b11b5ab0c8b9d6a5c00ee9da224fd921df45cf746cecbe5be0 -eb14e582ec74d1c102d77a471a9be106fec3cb5b8c566edfbada68dbb5cf46af5c1d65f9063fbac3 -c13f31ebf99b4b431a548df55a0a7d26aad9a8b85ba6a8419f4d5cdfad68b85e4ae753db5202e27d -c37dc325ce681fcd6c66ebe7f0e0ad6157434b83d0669a619dc9a2f8485d785d786dfc951436569f -5736cbf8b7a871436ca164ffb8ecc74c46ccdda6f613e2c5630eee536dbd6cd5e34aa982ccfc8c8c -b4d2ec920c36af95e74abc84aa5d63cfd8e08818498c34c95185d37a39b53635220f0dd1cae7140b -f1c8634ab21cfb3611e8ab6b0ff1b2e39c313be57a3ee31dca1b492892211f74d8df6ac74a8beb5e -471d1e5f6baa2ea96b2caf2c6c45cdf44d8b91b5065bb618b8e478d56e14b884bcbfcbda14add25d -7c79dfaf9f9cabbe72577071fb70c01974099dee69b829c9d7f1720a89744316e840a3fdf9beb3d5 -ed8d276a0674aabacb0a46b2e8f119f97c9f8bb20ed44f0f35b60c0cb4b8d95ab81f3672106c36e1 -9f6378ad96a7cdf61c74624b4bda6ccfa5fb971a7b9f9c62d56ec32cad18631b25c534740f6b5d39 -7345b5191333f636ffcc1fad7869056f4356d44431f7956abb6eb29c2ba698793b2d99775657ee1b -f4123607d5c55e4ca699d3935560085e4a6d535af10d72bd8e223c0ddd2ceaaf2fa7b53f292d2cc9 -ea626b08bcf547e5267e7657f1bddc73a85eb742541a1c240a0f8e902f285926988a0f4acbc7de2b -23d015ce5529ffcad8e66d3cd684f8b52b78c61542d9a87c873f9eba4d99ca636668a83fa8ac784f -597987c0e71f73947ef83d7e64a6ebbec89843489789e5e1b5d8f4e9d79df7d003dd1f56df9f6379 -20c4c955e0e521f1129b9627e8747dd7d6741dd1a3a7f7ad5a67bf7495be90d9ccece5462967b069 -f0f1af4a33fed5e6fef3e81c3de2de79c83d28d8c3ab52d496959d9a9a25c84e432895ad4fb2e263 -3dfddcac5c8553f14fd844e9cadfb867b7f18673bbefde397ffed6fd3de7d64f6cbc63e1d758c8c1 -1fb130dbea796817da4d5bb7baf4b75655b634052bdce2d9be966d5c92114a41746c7c564e735ddb -8976210e52fc2f46b32ef425eb42ef8c2de35f0faff0411b69867599558ac0bba28d61a200643871 -bd31c46773381d4d5d49adc9aa2fad2f9577aa76625817ba515a79b57c6b597825bac1fa28854e45 -74fb95fa9506646d4d55b9509d8cafccc462ee15d677d8d3264a69c8588cb37faa976acaf173d370 -fd43975bd3b58fe325f833fe5954995c15436b975f08e9dcb779c6aa7ddb8dfdc3b2ab5c053ea5e2 -6cd52b328934d4bd37e4c6fd8735dd83c2c1ee9a33e82a3a1a31e8db1856212a7050d0dac7af0f56 -b79f98f1c98e531fd93888bddc043efe928090ddf2449deedbfdcd17117db9dfc1dc4de2161828f4 -f1f1936c099aa899594f1e62556c6ce713e06a6fbac27d1e623411a3ddbee0f30fbbed6a428e7915 -14ebacb9e8d7ea7f37e86af43df403faa5f0d3da0b75171ada6e9d5111f89579ffffcbe25e7eae2a -8b2b937a7020bfd1ffd6ce6e97d316ba190969296c579f9991915978e4ecfae7c2a48c14149f5bd9 -282f6defab6fabee428574664266427c6878a8589018efefef1b10131717171b9794ac93c0fe8b4f -a4b1f69eff5b8253951d4a4b7c8a1fe02c8ef246a12834539cab3fc8b6dbc81e7987daef38e1a553 -d35952d088ca51794249ccd383a571fd680035960f5c62e7ee89fd4dd9d740a0a7b5bf357ec5c149 -d8909f7fb5a4ab7d70e0144245e54dc3856da81b7544b60557bab7eea9b442f447663b0d9d4a421a -ab4a4aaa8ae20b2425c2a8a2845c9443370d340c9f1bdabfd53ed232c852e0b743642bb34d71d0cd -dbcef7090ef2f2ad086968aaac686808ac56f55249a81ccfbda45c5746e096fb1ca5378ee07fa8dc -ebc063ae8eefe5eec02dcc9afb78cd0b8ad97a89cfc4f1701c7ec665cd87d73fe6743066fc3b430d -35ed03379fb44e6c6ae1b75d9f2f7f716428a0e240535484cec7e6b5ee751babb6e66f40f3d09c48 -43ff5d7ee63e6e9bf6d27ff9e9ad7f804185a8fd7f80018e17fd2f46b3625efcbf068d6ae9fffa8d -c01fe056fea171ed94a8944814a57b40e1d7d25cd630d4127b33eaa620ae3f7e20713006834e3cde -cdf70a09f5f1aa0c6a68a8aa6ea80f52b5afbf2f9176e229bdca438d041ac5afdf54bedec51933bd -cd5fe76e1db915d1cc7a662a7e139b7cddf6cde9b3c2e1e1abb5b7118d97e17798379805f3cc176e -0b88943766a766a666092fe36cee669ecc25a45b92ef8e740f23f7080f8ffdfbbd37b03d9179a7ed -70df606d7f8b20cba1dd7708d1df3fc21cccc746cc1cfc36b393716056321f3107184bbc82998f9d -6e8c14f63d1732eb9446fcba647950b273b29d784fc041919b6f883fa25d839b8f9d281d69e910d6 -35b59655254f34bf1f3f24f0831b1cbc4df9311f5bf38a51465a7a76c7539d986c49a82c2194cd09 -2e3c86606429c96cf84cd64dc848ca69ea8a8bec1660caf5f84e349f5eb46be3ba307176858fc0ab -32388f6d217ca551812e834177476fd51e1d110ef4979f46f7d02dd180cd8843dfbe4a46ab5cc517 -6f5470703c9bf452c569a1f1be911eba71e18962144d87158b15e5a58af2aca4c2844241646b5c07 -5bde6653d9491531e5e1b59ebad5de2551a56ca55124afa891e43b640b9db3bc0a028a63337586eb -14d97dd91d5985f9a89aae9414874ac4917e4182409fc09090a8b8449d1a0a5565d5e5376629328a -513e5d1e511c1626918445658467850af23c33bd913f1d49b9948b8a3ddbc2aaa27222102d924484 -059549876284ed710d3245647e9cce91c08878fb9843b1e22814488714455614e7662a4a04f5cd99 -9939d979b9d999ad15af78c6e97f4889ff879e812b59d7d87e363e83057ca66e525a7c666c764cae -ae4f8d6f5d72a6b83cb4341ed12acc47561fa97717de5d9a181f1fb771f1e19d2cda133212b332d2 -52333304a74f75b5dfbea8324acc6d25d930f1d58779ca7b7c779e03f366504664aa9405c19b8bde -67665a9558d53b094b03e591eda1d6cc429d16de301654c5c9934b906e076a2faaab6a6d50d4b6dc -88ccd139b0d12d700f52bd6208cafd11f7e9943acb23ab115d5daaa869f56fb05308197de67bbe6d -bfa81fdda25f9cb8f6694941725ca9ea9d13a3573d965b4da07b1c7c8c99ce37e0794694b40ac756 -508d85854d822faa19b73fce6237551523ad536a0c10e86b9cf10547b96f6c239fe1c9f68a4cac19 -58bf87e12166065a51bbbcd7a6c3e144d005d6f9de7cfc2ddbb9bf6df209433984c6b9980b6bf122 -b6bf07bcac86668e309dfcc7239bd8ae8274de65b6dcea1bfcd1d19cba32b9b0bcb831b755b5bb7f -9e0db1765708ec778583d370279ff1db86fd18ff2bd89fbdc5f8617f55dd95a43cf47f6711c6a0f6 -ffceb8c7d9be726e3376ae26ae8de2dda39c46a501ff1a738f877644475a24b345babf9cb2c8882c -422769fce963ea5966d27e2153a2daff89d999f0f271667421ba446339852a5065daf1c4741d8738 -df24d5770a96f5f2505f7a636649516f67433faa438ac82a0f857fa1ea0561b9bca4a2c7a66efd86 -bd01b66e429f23d1aef16be8cd2a65c5d6f98f96b461db7e5c5f3b0dd53c7a84177f3e5d3b0a3f57 -6af299b778b1d7929a511bfd79ebd173eda562f75441eafe1c6903a2ebcb2b1a8f5b7419335336e8 -317382d2449901c2598730f0ca98796962148ee252e29362451951a912445bb9fad80bb58fb9d406 -75b756ca07bb04da5107af354b7b670ea1fef2a6f6f2aa8a3e5442a727a72526c42644cbd852d75d -628f6c917bcef6da2a3c353513b5a6d4e9d4e2d729268789e457d5cb6263e3a3a223599a6269547c -d8cc20b1bca2aab4b099f5c74675251ec3965458f4c766ee351e133eb65955f1c5962b6fdd219456 -6c233bcee3ed61e695c4f65e2b2d3c8974b10f8fb11dff9a7b9987ddc766b35939fdb3ff5d51851f -c7b0a96c2f36e5f72bb5530b52f35191ee31519d876798cfc1e05ca3fc4d82dcdd59aa57730ce864 -af53150fde3e93c5435035dbc2fe2e416c4e0954ff71f0ea1ffedee6e2c7effc7fdd53c36c5e133e -524b5c1fc57b46394dca95fcebcc151e3a141f288d91c5c9927d935f6e4764490bd0008dbfc27b98 -2714b295441c506d5478c929ab0c591e3aa6ea1513d26253a213a3e2754531d28418948064e9924c -bf7cdfac207410d907f939fb1c9639272ea74d79f89b77983dc7783f978ff45514c4fa970a147e85 -3195289b4d6799aab71f6bd4a6c1a3ac6dec79e336ac7586797f451b3cf31ea7858d3681d86dec2c -e316f8986a2e16bb0bff5841794b23bd0513c1666c6a1ddbf499ddc17ed72def4dd77e8a7b95145f -fbfef7c75b7baecdf874d3b9790cb17aabde7685ef2f1f09b49f326014e2bd65c6c2875b3017bf76 -ffca4ff73d8699d7bf10847fc0bf7da08a6d4ae9ed870e6ddf607de6c9a58a9e338382e1fb2c2dfd -336e03a7669ce9efbe78add761f33ebf43fb5c0409490825264dd42cfb2f129d388f6f8e532eb2bd -f862f468f4111b24ffe7de9099ffceffd435fe2e11d50694e3637589b5585cc3f69c786fd5a95b78 -5fe57dd561bab6c323e5a5b1fd7c07deb2e511317b91130ace756bf0af88ca6213fc877af318eeba -a37baeb6d415d6d70b0706ea6fb1ed48514a415269537469520d3a8e1a8bda7bc7057fccd519e49d -1ffb885f125e185314572ecb8843be3443ed9c6be6115cd7f3a4eff9b17a41667a7e564e06adddf6 -087fc9dce22f5a3a67d6bae3bbaf3d7ec002f2f53beebdbb84057efcd61a57ebd9dbe66ef10a6ae8 -bcdaf279dfa0b0b0a82c97ad03f04f75aa29efaf3dbefbfae8c33fa7e4fbf1dbabdd0ebc9cd27da2 -f16973b7b0bcb6aca0124d541ff6c3044ed7b055260d4f6c6a28f0aaae2fba709f82c089ac4af7e1 -edfc9daaafbe49b6aade212429a81d6911a56ca3771b1b7731c6f7a8ec222e5eddc5cce57d85cddb -af37d41ecdd75530074445544379944896208e110b190dc69fd1c201b1c509c5aa1de9b2d29c41d5 -c654a2881a482a893839ff5bc65887f9c009afe1654bb91b18132756128fb177ca88aff0081fcfc1 -3d780ed3a30a21db940477377b1a27549104cb7a951a7504fa0ac73de79c0de1638dc2938a6bc33f -df3b8fdf4478268d8d3ec29a0c9f99a23f9799c94cbdb51ac3c99ee2eee38223cc2a86338b591c40 -e3b3788c8fc21263a263fc825c23dd10bdc1ee2e9e72baf85c798db0a4ac3abf1ed14ffa0d98b5c2 -897daf7f8807ea86e3c0493ce324de5e4628bd70157f1eaf0ccfe0fe727221af011fe2eee5f93087 -b88c2eaf71e2c25b75a16589495e283383cbd096bff13c196fee195e33f6e6e219ec73d545a3ea82 -e03102bc971fa61a378357ced29caafa02ed1ec6b74139f01bbbf0a6df6a9e72f0413cc897ae0e77 -3737b6de196485ac914ba15b6570abfbd9e01388feeac685cfbac415de8111e2206956945c2c2c90 -66c6a058daeba08fdd6ebbe357070a4f569d14d45d520ce58da4f6e9c660933f4bfcfaeac9129fcd -e6f39f10787b050717330bf8f80d0ae129855fd4def06d883c8dbe6b4d9227f54494c529120a115d -515c5a5d2d5684448527c486098f882312dd52d089cc2ac5488e22b304e5d155c1154141c12141b2 -4c71b64850669d1994b2df23559c71a4242c273c339aedf1c5e1017ec592ba82bcf4dc2a6197bc24 -a3253d757ea4a58f77f59652e635a447336fa8c0caecad527634e2b87a027d8a6f8c7294a6ca457c -661a8f1dde989a9f7551714951969f5f94558ce8829c04b6eb49488a1726c424c5a0783abc34a2ac -babcacbac3a5e1a0e3e1609700818b85d82e620e3d8b276355cfe1254ba2b7a624c65b24ecd79530 -1b650cedbff710d28d8ac9ca4e4fcbc8c81666e5a767a35cba425a14e22f12053835fb0e9eec6cbe -d52c68bc51f27115de995a98733a9bad205e53a577e6ad114275e48f8c27d9a8de9344b3fe998a39 -047e57e9f07750318cc6df8136995371976a2b88cda7136995259e73e7e716cc7bc851ae5326f131 -87f2a83b2c5f95475ff430a7cce3fc623c033cfcc39cd06174b0d8bdcbb5deaf4272d389665aa925 -a9fb07837ea125cc3bbc73ae3dd1a349f48a9627d49d82c682b6fae63a45371a422db16d516581dd -fe65cceb37689c428dcafa1d4b56d2ccb6a57cc35361d56cb37fb2a5e57a11ddca3ce77fbdb7dc1f -ed44dbdc5cd749264274823283cfccc3f3c34b633225483734324a14912f298d12e2a50b55eedbf4 -0477b098da56cec145ca837c7422a3aa6c24fb2544422a028342fe82484610622112ce4244f4cf10 -29ce684d4f5d1175c0c7b9debfc026658147ba24ddb1382c3b6c6270843820a024bc32bf34334721 -ec2e29cd684945fb1303c36ce244096224a3832a42aaaa2b2aaaf2124ae21482b091c46a74bc2d45 -9ed82356c49626e423bab2a4b4ba36a224382a2c214e24748c90247924a1eff27a1a5b7ddaa30752 -bf6d492a4eea661da02ca1e03f1d801d2c96b00e30f1e5c6f9e538b31ccb2a707af934745cf462d1 -29cc7d6e7f2aead874ed5fa2f145fc165ffba78dd786466e1cf73eb17748c8bc87b96125d27a54ad -dbd3527fb4a54e1a9e9494949020d0fe1922a26411113302cbc26b9b1465cda72c7b4c0c2d6c3659 -95f97cbc4d204b65018e686d65f4365beb2d26c33bf0d455c24b0ed55ec8993ee8e1b3dfd583d540 -4666769680655b5c945d5834a32ab4d4df3b38d8dbe29cc38327a78fde3b2a6ad878593017e7f31b -d171af017b96d8c6160f8567c00c772f6f571797ca73bb051e2d5195a881eeacafeb54352b38ecef -3b948dc165ffe39e236e8c671b8e14d6077e63abbceb2dbde7feacf2423c3cffe75eaf43f9e01fa3 -b0b4666c5a0d819ee1c267aa97e8867c4be4287675df6be1c250137b794433a33968d1ee7034e80c -3a8a7a4bda5acf9cecc034c2afd3d8510fbfcf4c172405f047fb192ee3c2b838cc323070f80d3b63 -f77ecc792c9c3a7627b23cb60117b4143761f7eaaa86f832d5b67760f5e57b38a066ba76f8a3b165 -6c0dc47067319acc5beb86ac6ff5b717b7b60a8f9f68fe043da0afb9746e17647bf13b9adc1cf605 -6e713928f472f215b3e9c62db0a6e378dda7edc784b55d75a58dacd5d63c72c45ff09d7956d64ee2 -9daa6a233ba88cd61e7954111099e93d93e1cd62a630da66c7f75deeed2f6b6d161e3bdef410dd46 -45c90509a5a571a549f5a80fd5647755323fffc1d319e2fda81ce36785a54b909466b8460cb5da3d -a8baada7ec5aed88a0fe44474b23ca446929590945910509f5b1136eabcbba2d5efabcbc30b71015 -eb96451684486212c2c305cc3c66beea6db9ac061735e037d998fb05676c0dfe907f70877b901d72 -45ee65e10d010331ed894f689ccd4b3a1f5b1fdce8d769576983ac907bd8110b9b534e653b910d3a -2cf6f0b677f035461b6846f7d162fcfab5eeda6b1d82862d6dfe17d00334dc7d0c033dee88fbf9b7 -bb0d9905cc6beee65bd61e798cd71d2b3a51562e64dd549595f13ee64d7eea67b5ddc7113dd07cc4 -42e84fb195dc6435f3bb6458b50d3f369b0d97775571e82dbc86bb93c7bcc9ace1b6f0f0eb3fe1a9 -1fa862504c7d987c8c5f3bedfc28367b72f09be9daa2dba37cb43f3a6ae247121f2a07a8cb2d3dc7 -4eb71c58b1c6e7c8f6384168726c228a41d1b9099529b476f7e7497d9b99993356861c7214c5e654 -240b922b922bc34b42906e8028d4ff7097cfe91f1e3ec6c4a99011a716a1579d6ffeae025a5bf4db -7043f3ad195f6d3b37678b7580b5af20d435e61032a3553f3be8c0819d0dedf7cbf0aab6b0b269ca -d9df4fd7fe7decb4b294affd1b7e7ffc7c187539b93a0685a0f8a4e8f86826795ca4e3b92b2afab0 -eafb59768a14ea7046603e92a38aaa335d0fea8eeb605366310f6d8b92ee8e1327eb8894d9541f5e -cb0de2ed6548ef3006d86287b73d317d448863f0875407aa951586e7476448328fd0e538329497e8 -9a2891492242dd63ccd9be9683c53ceddf2b72721482273c3c17554a0bf5e8f1a34c201f2fc7b7b8 -cc2d95c2f1c9b1697cb14b645430922051962837a84027b820302b84b5bb9b9b643b5dcfcb6f2c91 -57a2025494288fab8cd6e90e93b3d1f624aa6f28bfc7e2af5e2918c44e6c7771d1fae2c39bd3b5bf -c695ca5d7cb6d14c94213a3a39ab5e8829ea927b939940fbfe4e7b3f677191b4b4585e509886d253 -d285299929992883ceaf2ca8a82c94f80b7c283dcfc838ff605afbebc8e898b0b0194e0d7edd0d75 -450dcd822caf82a85ab6792fcaaeaca4198d113e8a4d8a8b8d13c7462545223a545c5655532ebf51 -ad6a2a957d27887ce5777c2b7ce904f55fbf5f6aff1e3fe0afb0e1da524f46b8cc1aeaef3f4d0ae4 -fdd3af9b700e853f7aca1da6988ff4b978dd3ffdd449c539e3dc7d16c18d638bf97e1b0243f7a21d -c8a3417a95f6e5a55a670729fcaaddbb448368140d1c2df895fedbb7c2c7e68e05f26d799b66ed68 -3b54b80de93296ccbbcc1cc6c15cbebdc64658ea5e1cd6e3b29811ea0cf31e62fa82eb40e455b607 -df8f67e2d9d8e1b2e4b2ff8830bc555c76a4833ebc83dfb2bdd002e9d38cc56a36bee9ec3da2183c -2c086ce57b5c8a3a893ea7b1c5a7780a9e7eb24764df37910b568f91fcc0e0e000bff290dabaca8a -dadae04a3fa11ae07ded0fcaf0ca369fb669086be09e1fa66bff36f69045381b801f52a1685b5a78 -2aadfd7dba5d1292ce3444260196b63b2c5ce7215510878655e7f68cd85cf3bf838a50796a656a57 -dab9b47255e7c35303db7ab19bb77932f366b28e434a541e6aa771321650d7515958ee5a35a6935c -1324d11249a89b6c27a2e7e0689ef66fe5b9e9a7044779783aaa8e28d0a7c7df1e9fc137f5f53565 -a66efd19ef13687f8fadafabbaa9eb0d5e2613df04fffe87ef3957fe6981d8ee9dbf2f1a5f540ad8 -d2be9940b7f1e2db1cbc9c4d4d7a3bf7ae5c737ecfe8932b97461fee3eb95218e3c91f6ab6da6811 -e86d1f282aa8881246d4c774a14ebabfaebe57c55399db82a7b7104875e4b0dab5e35b1d3a6465d1 -eb70ea647fdfc99387fa2d85a91efcd6061f37371f5f5777df86b6b686fa36366b7d241bc2b1aa70 -1d54350d3dd9fe046b7f325dfbe118e0a57c3b3367ff7de808722d133784762634a57c4f63394ffb -4bcc8fb63b3177a63df28b3ee4416bdf6d76f129b09da9b7d97ea76f89a8b6ae58519f224c29e1e6 -ffbfeaae032c8a736b4b9099b9299a3819054d58936bd424c668349658628d2576c5062aa834a94a -91b2f4267c8834294befbd89820a2288057b8d2d2a96989868884673cfe047eefdbfd942d16559ac -f91ff33c1a5876879973def39ef39df31e1a21c1e9fc33735377a03494e81dee16210eb50cb20f9c -a5fdb5a916fb5bdf5546abe7f69e59b1f2e49e82f8da93ba054b4a1cf7a3dd687b5c515e665a6256 -e641063fdecb21d330931893e020c20f8218e79916262656db2a0e65a5c13be5ba576ab8d05be945 -fb510d4a35d93c5cf0096c5108c38953f43eaff9fb402edc3f222432380ae99448bcd6db3aba983b -ba8644da88dc2cb33d5203f290cec58abcbd6516197a5e7e41815ea2f4635a6654739752e73b3505 -d3d653151f31d3b3fdd8a9f8dcdfe1bfdc383dad55f4a51a2decaaac2f0acae98bd55ae5f4f8c55a -20696991720da35bf75409376374ed4f491aa856139c277196eb9dbc1c11e3e01a9f9a1a939c9b2e -5a41195bb9da220bc6306fddf6ed05a9d5c5ba4fcc61f133f80ac23516600db318bbd0750423b821 -9fe10f5644af483616c5d9c6880b6c27e1bedac5d431e85ee89aea5f481082bdfb0844156e157625 -22d734f768cb14c6622e97bd286a15fa9ec1ccaaef2698db47e76cd075cce36cf77b1c40a7985f77 -1f3e939be2b53e53b73924378ee0cc29dcad1f7ee74f2d730a84b07c98ead618ecb603b492e061d2 -831d1a68dfbd8b7cbf7d9a7c1620ce6ab6b9dd5cc40c5b728c7862d73d477e3a5264352f52147f9a -42e1fee1de21e6b16b23d69120a5fdd537f86d4c5df916ded97f293e2644147f410b7fcd4fe4f052 -3c087f2e3d1e1a8407c142f2e73318048b6021fe1cbec4b34541461cf9ff9eb82f1e8947e39e5817 -0fc143712fd0855130167ac107f0b5a8d580d091068d0a01075ec29c109e09c7d5c416699fbda814 -2a4b40335143363da209bb841ea19c0e4643f6d29981094169f2f1928379e4f38f33a039e0341eae -3b860afa796bccd57066089ec9658487a7836edd8a36e323af7100e9c265155965e397023c7cd36a -7c0d8ccf6bc24fee5c6450388a10a6d2fed875e88a7382b66c2aade3a1b4544abdd1373ce33fb827 -8cb133f94abb73982478e461be1b49277e99760b16dfeac55ee427f18bb961f81665b7668dfd0ac4 -2cb128dc2f8283c39afad2c821d0c96b21e133be6bfc5739f65e15bf3e3b57925195e59fe5be57d7 -7d4fe0d680e29ca545f6558451edc82a3dbc7976aa4d052a41a9b1f9654c046defe8e12b2608e195 -b88b7c6e9d1771a6b78e93c8ada9411e93a6269f0bb6dcf1a6e019348442e5d35956d330a5650982 -6a7f3e0b9a16ed51551ff86777836e051f5566f8fadc63dd6515d9db3f69ea0b7fdbb846c52d846a -484dd3a8be2294c976732b423cc35106037769b710fce6222d7bba3806a130c4846df67310e1ad34 -b2f7f233dcc4d8c1c2573b248027f316aa7e8b67a61a93f6a87a8eff6ce7f8943887aa12c26b730e -1872b9bd52c03fc933f28867a8b87fde6ec9bec9a7f643f734f86f528fea2bfc37a77bb1ee8dab61 -00b708a20c28bc0a276a2d87e9434fdfde47e3f7f673987c7e1f98a6550e7f722b28b64a7ee6b71d -eafec18e25218ea59a4b37b2844a6a3e8b7301b3a73d3b9079162c4e6a71ae471d3ad7bd4e39d7a3 -e772ae9f85c8a3f4dae58e75b2f6b5b8d60760f23c959f7f92030e152293f25b2cf8de31304aab3c -022152df5bf70bf13dfe9ef42cbdd9b3ce76d2b3f8643c9b7309d762dd0523b7ed83dfa16e5caf3b -94ba1d55ea1c595c366e8d9987bdbdaea3939793eb8a7437ed948acc9462c494e69b1b59592e5ea6 -27fab4af963d84d142b3b3add0e9aca0712d1e0b86490aa7ad7cc269af74e8b495ea3aedd7423054 -7ae3a40392a10d3d5083b8debba1177bfda0d202cab09e6cdd535f35c4239e746ff6540789badc8f -cfd67aed6b71e4231d3af2c14e39f291e772e4333cc5b1378d5d88cbf4697619f64cb43d719a3eec -cd66b761cfe44611c7e9d3ec38eccd8ddb89ebf451b88edcef0f36087e7f8c64a5475eadeb0f80c5 -eae6ab4f38f9b906e2e6abc815f7625d27bc145f2f9fa0cad9c9879270fb47e3798efdaa5abd5fa1 -39fad21570a4b6074cbeb0e80ad49000ecac7e00de258789c1bc35971a12bd39dd37ce5b871d9329 -8edd60d97bb5aded6a27cf2d710ebaceb11ec2e9e546b1aba345aef35ed0bc76e0d25eeb92f9a922 -765c796e7c6a56ef5dfac57367afb59d66aa9bee9c579e18538c740a529cac4cd73b4cb5133d390e -01d93328d0ed2afdbb0518c823385c3f893c0203020dbb9e80864b1d42c32eb5e3f903fe1ac7462a -bbc96cb8124b692953496e6b422a7f963b383775b564e2d2ddb631fae479bffd653fdc1bebfc3a00 -deadde9950582cdab7b7e05774179d763d6b79c461a773dad2ca9f2bb4d7e50c5ab634c72c6a4698 -8e91fd5eef02b7ddeb74f03bdfe75b69dd1ec75d3f3888b807bd6adab76b4dd2b63b886caa5d4fa3 -d3cc9d8a23a775150072a4410a1f531a802600f2678700f29b3a00c2fedc0c217f3e1784e06fe03f -1cfbb39ace5707ee102654c29655e8c3520203cbc8bf2af032e15fb0549ffc8bfc215fd7d7d77af6 -296260e11b9599f1cbd569f3e257ab2a2ad4c139121f671ed7e4cda00b71895c610e6826f5bad5dd -70d45955d99e4cfaed6cedab137fe329b07b2e3627f39ec3c27985d4811c847f991317e23d3bf4a1 -479e9d8ac2bce773f9d00c7e19c73eeca2e679caab1d16c743796355d5856775d204e2a3aa12f497 -eba3f85de2a42a3e5e38057857020312616ca25802d48e1e681f4c3e0a5d4fc0907dbdd83faac186 -dfcc55fa23845631d88f4686082d170e504608764dbe5ac63454d0c50bb7f8466dcc5a9a66138f98 -a311945d925d86cdb60597b5f7266716a20aa67665d1545d3c9562a11ab49cb8edd4ee34db250b36 -58ac121952957057e04e83f01758aff9c4601e7c0183602e2cc79fc2177891c8a82b7c05efe30ff1 -b77838d6c6ba7870f381c13720fc3d54265925d733d390ea9969460aa3f1ad0681ff5e444bb5ccfc -1967f04fa0550a992d5a65a7b7520455b47f883ea13ddf39e9c067f8807229b31727b777ebbcca32 -2db628e441508984bee735c1d18bbb125ebd73ef23b748ed760523ad135c52904efad382916308f5 -3c3eecbebbf110254574979048db768be8afda31a38863aaa84ec81df361a7a3e71a217ab693ddbf -5caf3c26444ee535917e7cef02b02ed040db60ed364d302099c59859b3c68c3df2fda52b470fff78 -65d6913122f3aeb515cbe6cd35583e7fa1c19e830777efd92f6a8eaae71a34fe941e96bd9ee07a04 -e6aa9b9fbc38afd9785e75fdf6250a0dfac172d56713afd2532608114c794940e624e784a240e003 -d420c8de09cec23e6aed2eec3dc161cef56ee52f34fb88b80cc5de139c6662efe550407e46cdecad -d9894ed7be1c37dac3df7e2ee254878e83a56cb62aa7271f7cbc2998021b2894cf580d3f0ec35bcf -5849cd151627bd088b8571e7db2f8abe4473c514b15795c70582bd120cb9fd208da0c8b65701ef37 -f88b6a42864c0e1372cb21b1b52266e14338c9e1d5748b28a66347a29885ad4431f1e251ab68a82f -e7707fd848b18eb95b234a7f3aaa5a1f13bca03fddcac2eb1a3460a100bb2f87c4e9f13fa8db0155 -0da9c720f78806ccfa45132a01389770b183b7bf2dd279e642a7ccf2494af4220cff5358fd9cc98e -dc3d044f7c091e725e00f47649c12b1623c6772fa8f456b952f155a1f22a572bce7c2eb5629376d4 -8a33a56ac59f363ee0d8114f565107cbaba8235aaaa8839faca28e78b28aaa709c1dd25e3bf09236 -dbbd14e7f9bcb1bf9a0d7cc47724b242e3a40b7a247dbe7e87187a4bcdf0d4933543a758cff66a86 -d7cb9a6b8673d6da4e33d34d77ce294b8a2d403a4529ce96a6eb1dbeb36b664042d9ebb633010fa7 -dbbdd83f9fcbbb86c1028ebda3b4eef7931206d622e5094b927a44cbd43c13656a9e83db51f34cec -949ae79ca7d53c13d551f3dc034dca9ad6e4dae86098f41cf2e8eb9537c4f19bdc72c169fb91ed75 -c93029d329a9c7e93bbdd8c7f029df9b0bad89d8bd352fe352c5cefda812559966e9c5da44ae0b5b -c5c453ec7f5cc14ecb99f2b3f475f7409b905f880fb9498f53cd4ca3cdfbe07fa14f31638fc73006 -94ed6aadd3549017f2217fdc9057b0fb9eb7ff6d287cf53c958187fd3200de42e7d0a9a26d079802 -da7cde1ce37968309a71cb0dfa32d083cad8ae85bfa482e2c94ddc2248c40527919f862554e676ad -6e8fcd202a89ef92a4011f9e81900c38754613bc1b7b727ba84294e014bb9c49ba857f1f9644c554 -26261621a6121fa1903e42cbfc988df06d12bd2c8c24f1150cffedb75c140583e19816f6a4914590 -b75f806f404090650079d9f8e69711ef42db6262ca4298a47e3449c50fe3c170580bbfb391ca09ca -708ab162f0661ae97b7918f9931feb95441b867a450b3f66472be093505058d3e0fe204ae0a0af08 -469bc6c342b569eb3f5b0bd48c1fa3d4785f94dc39eed3b85ce907f0a84a23ac27df40e18246f2b2 -90bfdfe3c09c5f09f39b566ab5083fc15f708e8319c7f1406af79d7939b371772d5c38033653d384 -b9ca193360206530f8a0d561e8ae0585c7f166f2c6de2859038c7b1ea26019ff269ecfbfa1358bc2 -4bf1ffb460033ecbe161701646c141188a0f93cfd9c5779dc9c1578fcd1646e2ee7f6fc573f877f0 -c8b1694b7fdbad25a5f31a7cfe03a51a627c28bece1d6f0a9d410c7105ee0e5d1b4db66bc094467d -0e92a953a8d433d94ee21ce110b99cc9a0bc60b456d35d0adc9a4cb17fd320ad469aaa0113adf5d4 -bad156ae9826f7f40a052be091fc23b31eb4a7b9842775e543c98752dd1a4757973b154144995b51 -0f94ce9fcbecc55a421964720e339d8dc52ef6b6ebddad912dda10ed90ee90ee998db63317ab761d -dd5f6c3b2d57f7c07c2efd585c61780cc3c657a6e72695f5c94739e24cab4ceb5873b48219327fe1 -b70b0d53eeadd45df92bc75a5e37308d5fdcc718ad73b5b6b4b17433464bd1328949ae45ae45b16b -393a89ca724b2fe62c4d5b17ef46dece3e33cb23a7cf765492905f5c501c5f866ad1019732b342b3 -22a384e5681532f3dee0b4c1c9c1da519f302f6faf5c68d809bb776ba09b90784df33f044777a7e5 -446c43ccdd439fe1211681b6fefaa2eff798c62d450668ad8b99998181ed4c348bc16f5c1bf1d7f9 -5365a70b75cbaea503256dff5c88ff059fe3814696be8ef375a1ba6928e78475dcf4d72eb0b73073 -3447cc22f3aaabf0d6f15faf16e4b95ae688420310da22c824e9084da7e35b4950df3fef49a2d609 -58ee45008c3d7efee8c153edc71509c546b613d88e772ab065b60e6c3181697e319bc282a203d70e -ee6c47eaeb5a0081bd204575d5e4652ca4c1ab486057c1685fd3cd18c74f574e37a437419af3bfd8 -fbe0c6a7296dca6f2de15d76e81f22e28d3df962f566a214ac7ee7a19753f0c9e0ffa7ce85b45942 -b0fbd0c5a4d68b08fe5bddee2682bfab55af22f86ff52bdc45f077b5ea6504600257d5b9192da5bf -7b0f0612d275bf7355f22aa1e2f7744a41681201e21fa1bb49915932afaf204b1f9d8f2774a9c813 -f2ddb8480aa85b3f3ee890d23880b9d6b350abb6c42ac9f3696695e199ea9f15603a8c60b2167bd2 -3324222238ba4f47671cbe4181dead8b97d76b5ed2c99c1f5f2d1f737cbcc21de84f84d2d69e52d8 -542ea87c42aa611958de95ad28995fcd8f4de49c68f66b92a152bfa29b59a5e599d9b12568073a6e -5a3737cf304d6feb38c47c07d328744e127b3944a8db2eab6e2aa0d8add52d9aeeab6934cafd6bcb -efc4ebdcbcac83cd82230a5610a397545b6cb4b658bdcf7d9708b8e0527027fecf909f8634b06cf2 -a7c987cbf54261d65e0e62e8d4cdb1c149025d3db8ec33113ba4badf6c03dcc7d6373c53b75be387 -6ee55052feb314c0797fc01cae5d05fba9800196df2c5d6168bc70e32c340acdc89978c6d959bbee -9b86150254a35f4a0e1dabda9f7303dd41f086f19da98767ef1b953b9a5088653ecb5dc57ee24dde -c4035da3fd921947ca1b3b6aa55289c724597979a5a57b93f72310a19f7197703c8e79b1d2eeff9c -c50e77f9b75505ea50b71ad85b743319bed8b62ea907fcf1d797f0b650475853ca7d8e0c4f9b5e36 -f7d04e9f9842e8d668f2d4169f07e627f8d7e422bd6811fbe8507449e5d5ded003337b3063bcc1df -c342d7d5471c28481a6c421e510c7b273044cb85dc1b0372d7d947d033b1b0bca1cfc923cbbfc15a -639d678816991ea0d83f7f3e366f00d6fcdc7aa17440053dca930dcb81866c8bd603ff5a61b6f864 -22c7de7fea7ca115d208dd620a540aa6d93b6b2dc51bd6f56e19a7db18271bbad371708d4f49dc9a -9890288a8a0c090915844fe391449c0f4645202a768deb01c3eb61c4ed5e6c1968f664ad612405ef -91f87beffe805cdc43b4fe20b527a0ea846e1caea503f07b5a09145b762e522239d4e700be4aa125 -1bdd0c37313000ecb89fced98e11b12693a66d986a1f9492a2ab288f4b3b2d346e3f382ffc7df355 -94c85d1b87aa59c3e2639184ffb8582ce971a41e96d4f7622f42233f94c3279476a46ca7d99da832 -3aba32949134b98ae93d01312e02610f55f66af256d7851d4ab83f74496b8dfa55202a23a85fffcc -49725b24dffb3490336cbdb88464c97dd44b92b1fbdfe24e09c4fe83faa1873c7eb31d2afa32d7a5 -359ac81c567ee8cd5fab7d31c558437aad85d80ead6394bb716a7ae6b69450d113eb3f1f9b491fc7 -ae7248110e79a0561e06abe451d05ddd20d87aa1c9345c0bd3da5998c256295b99b21e6ab109ad2a -f8b9b78a7d8f172876b4904bfe042ef23d81eac536c13138c9850ccb1959b5e8c0ac53f29660a675 -4bf0f7459f233c13e1aeb897079ec3600d584c7562af0bcd0f834bdc2e94d15e43f1066943f10625 -0dc5d9b21d73861ed09dcf4ed4f8e9a166e324a11e17d8b22234d4c3d908b3b84a9b848f6cbbfd28 -b6ed92d06dc292d00ce7fdb8377c8641db6c96abb935629cfc24b129ae69c61badc42bd716daedbd -5b9c0f6fed15c177fc17bb6fc685085b3fff39d1154af852a5a9d82ad9698f7ce1ce4a30e1e0aefa -0b778a69a885fd5af89afa3b77d6d2af76f7244e6ab45639f563610f8160d0adb18b22b80e8f93c5 -9511b77791c8b291ff0a3ee6a44155970455b65c1e564d5ce913014b97898452b02c9a8a69766373 -1416e1d0bbd2d0aa88ab22a84ae1d822e5f149119df0dae6e844ee12e8c1f4ebb0f4f52fb1248103 -76d440949c740e823aee019e4729619da0ff9f9abe10a506f5acc1519f50cadbf76b85e67dcf97d3 -bcefa9b279df5368de478de795288db419d4dff3b206f5a7ab3da8dfd848b0a54b39e8491f8ad47b -7938cfed2c3a904ef0aebe6efa1811666934d9d373bcafcc2dc7877b4609a0d183061a6b5ec4a2b9 -8b6ccdd7e842b83a4fab6993b2c7ddad718c02e1885969803b611417e349f882af69f086bada402d -bc8c5c84bbfb787f19724d1036ca5d63f8a902273bb335ea7c8490c55dc4d9d41768d47ae3d5ebad -dd4d0461b944a3bcf5f9b6391e27dcf16a1ca66d6dbed1cb7813c3ebf327381c447fbed92c6c4586 -69a2e30eb487f9f54019bc571ae56343a8ab2d4a3cb383efb7e354a220e268fe00cc7fd18493b739 -6484d67db645560818e4bfa9106d67a0174cda01fa6084a794604e847604e7de0b9051f5df4383d6 -a1d50c49eca6186323ac0f938ca0976847d761f8bd22180963e0fd82eba2074dfd38be1f7d1dde37 -c763f048fc9ee930a1ce29f0c69266d43f04a24201f7afa981fb0d72dcbff62cb8dfa01cf76ffedd -b5733b04080816f31f4bf16f32413f27b853cce1c9709d5202518440938728073482c3b0944a300f -fc1c21a6944208dd8d2b60d89da02fa13a003a590caa3df44aa3d01af85bbd6adf2b8c55e31e73ca -82b4906efe95d78d1fdf12a164f1894481b6d1e9e9d8248404457412ab884e2f6d37fb8b2c57402c -24b6732ed8268adcab91e636ae2f2784a88c20248034f56fac9197bc1a8722091867c1c7c737487a -409e3451b5ee09ee12aa6521dd503a01856d89b7f9031b6883aeb07f2e60b35591de0f7e7f8c9230 -ec9d848a78e89593e1b73eb74f4a4a7446895d9ce91cb19e9e58e4a6bf6ec96ac478432f0a154a62 -4b3713e69814ac25c1ee623a29a83450e286cc74702f6f7a355ab7d7ad82bc558d585c33a78fa99d -abf1fa148f945cbf0c9421ca41f1b85785f328b1df00bd8956a60181ab88a9802efd0718c4678505 -24201d3c94466662b735811b83b4a50543fee4a50d893d6e931b7caaf163fe3e17bc7765f42ab418 -cd7735c3daf6c3664e9b88180b984fb1c5ea6f17b3caa36b5082f18e19f021dea00da312a925c10e -bedf01350c3ed1b629b74f370ecb8fd8772ce936c39e3a1c1b9d109725313fda2709a5c70615304d -0c7451553baa26d7fc4091f09ee24b1bbb7221e4196ea05c863a88b11662d862dcd8c17658de8166 -4f4977cbcafaf3921bdf48ecc12637ce125209ef9654c2d3d9da146b615d6da38373aedb95b54d24 -f609894482f8772c020d3c5c1b0fc57a5f7de41fb03480649a6e89f4fc2dce1128154924e9c5bbe0 -2d18a8fd1bee9bbf3cc11c89755843e4ecea651ec4b0c901c83348ba758d84b2c561e2ad8607f022 -c8d486fe30f3d8a5a46869def15d9ba7c4d793a754611db76ab1a12bd636d3b51fb6eca53da3d2d6 -cf482c3ca3b4940ca1d02cc4c5cc6628055d10812e81d36bcf05a755edc0e93519f5cfc1a99d897e -8d2bbd0f2e93888b6066114c8feb8160c1eaedd0bf1ec6fdd68b8df3e4fdf8c55cd347624a11fd7a -d3b39cff6d6aeb931164abcb26786e08f2d9e8d0dba2d03bb7e674354cd565f53d6111f46f5593a2 -d9319ee49e5f4255b1c5a9452949db511ecaf14e734a744a5c9fb820dc6eb3e366e2d0fa9765303e -0b5b7257d196c078bfdd2e8966c81459b938ae7771741307cc40cc86e0c41469f91e1dcb539c7dec -a9d5002d02b21a9d1a0f980709cfd5a9b8c0bb10c617837ea60618083d5d6f2ff97ea17d8a534672 -42425684282c656b71587611d2a9479523a330cde09126308ac25d56cc1eabb7aca4d25ad7c63947 -af72d905a4037daf3c847fc3bf46fe85b545dd1e4f817d6074139674e30da4b53e0df8b25e931f2d -3c839e94aca229ef7aaac6849dcc720f7e32adba5e4d1f22113372129320840839317b41a1e8c87f -753a655af2ae4a4222bedaa9c91f4de1a6abb3e13549d8f0ca473f9b7728f78d6ef03faf02589d0e -93939cb27a80d3d959577bb1e7604a1a37139914ba9cb2f7d7de3a3b658a34dc6a979d3e7d7979ba -498488bdb83d2223bfb6f78d6f0bc6ae7708f071d0f5f4f70af443012810f94430ecf5c0cd5a9ee4 -b17ca025a1d88bb76272b24ff4d9556ab168bc9ec74a91c9866d147bee70f99a691316d81b0b2419 -4681d109f26c1bdd6555993d87341a2d9e28caf8ba3baec65fa82ecae40454e381ad8a324ec85f12 -141b98e291aa1fcc6cd8205eb9b6cc6eefdd92ea862a11180b75990ca12e83fdc1512dee1789fb17 -40d744fe8d7d305d9666f90043f22c623a35d4b3e64c604a2756efaadb7fd2494f1727d168bc8f85 -ab557b56b0c7be1cba365cfd4b0439f42ff8adece1d3f5cd0dcd75a59cd9a99cbf2bad1c16119077 -e2037b12929239464a527c60ad2cdbd3e1bfa251fdd6e84ba132fa7bde2f468af061b888f757fa9d -7902a797678d84c02c909ed9f17785e33ad8580d73c86719348e17566dc43a518ab2e332e1cc6d90 -e2cc8d61f383cd220a56f4697de4b607962358c58033cc11cedb2c955375d6404ed685f2c76230ba -0ccbbb352e4602284f2f861971b2bc448ac855bcab30fb63d20cc89f923c85519661282ff4431f98 -8cffd50a9cdd5f2c36eb0a9c94af1778c7dd071007742f369eaf146e5cb11355df721834d1dd7dd4 -26813b5ac24df2f967928b0b8af2927e4015a8dce7ac51c9ec7d8b2423d152f4bd8f870f0313e9a7 -f7dbe3dff1c75c4244fe96045483b2bd333df7db654e44b3909ee3b435f616ceab7dc8352d778bcc -135a6153c1e807c1ef06135ebaa218664a348ed4f3ec2f9afc487e0af74b01fe00bf33c262f2942f -cde10378e77aded93322ac477ed750dcf3c2e7d09d40428f2bd236ddf1bfe1f7f13b9347e2ee9ea2 -19c0b4931d2abdebf4eb1e8d9655d68cae13d32251417a20f0c4b10838d4f662f778f2953d77c238 -ad179d40fca8ac0635c5cd4d9641908f35a38443c1f68f13f20a8a73c8c34c93add5251e6154af09 -23e0430ec46a98ff9230ef18b41b8cc0411baf69e7bcacf5bbd4056e364436c251318c84f92740ff -49420d2b08e120fcf869cb648b9ffc4ddb726bf694c0aecff60ee3ff50d52e351f25826539df455a -a62e14f6c2f3e33960956e74ef4163faf678101dda975950aa8ba7746219bc39bdd274fe86458819 -b9e6c48f8481d0cd213be18166e308fe34272c5f1de52123c6e4f2278592d440f6766762627e1048 -b43e8dd7376dc6aefc662d61a7ee55ff180f61f9f6674a83f1001ab6109a1a4bd8c94ef22cfbd4e4 -d56840d77a9843884e1fa8e6f0721a4df3729fef279bc2d7dbea17814e31a04f3f32aaf9669e91dd -dc15bac0005d431ca637ed1f62eeb1c167a1ab8eadb018784b70080a454c59848fa1c81677d583ae -4dbd499aeae73ddf87bc99a5849e2fd4e1c89bf9d13b76e5c46f43cc9e74d3a9c4a8fe9666d23b4a -21ba58065cfe0fbe11a0ab309a209713ad0cb78c5be3d64e01b79c4b2db3ad326da367c6ed8d49de -9a96ccb085e92992e2edbda1eb5707f044ddd1f827ee1edae55f2466586382566b66f52668b5b62d -5ac1f6aee04cb32392c32325bae514d075fa5f8d5bbcea0b453251225f717d0c44ff802dd783fe3b -b95385b6001407d3854c432ce971e1328cab176615cb6029b77b2cb56ccbd2e9baae6012474fdf52 -b547049b69f60ada9b145b16c24868f61e9e4f8d43669e26f6a60e1b57210b64156947a294d356a7 -fdbe98c1fdb42dd70507902cde15bad3c435c5dc6814b0d925cc20dea91015a19cf8e48cf8e458c9 -96e388490f727290f7005596ff5a031f0873ff42056e2bbf8cbb876f504a8fe2a0162f517a4877ef -5ecd67bb9479d60a5cabfceb9fd1b05c8f83fd5fe05aaa5be332d929c7bcc373f2f86e7536593dd0 -0d58510f4b6ef4629778c2097e26679c101cba9600eb7b5fe3aeb89f884df3c43d6a87fe7aa030b3 -a25c57b8aae6d30ff2034f1c7f6c911d7f5c951d7fccbdfdd942bbf57aab4450dd72fee14ab7394f -99da15d905b87bf930ec004f2707770fcb3e96c865ebc6248b6cc76382b2ed9b653f5c3f1cb56eba -6e7d30c7f6f1cc292adaf5c336e9c9c9da09930d4ca42727328c2e3df4aa503a024ad4ed6124e4e4 -7aebf9c2f88742ded83c5c68d9d170617cabe1c207f91c6b991b15b1fdc6b10e260a8f36562a3d87 -fcb2554f157940980b87713f431710a1fd68af63e99a4e6ae776dc28bb7497e595803f18d85f4e75 -7b6cd88a4d3b0bff0995d5c9e51c76e6fda9765872a582253f9ed07cb6c24f55c6a95931e1db4e74 -101f42beb9e59200182ddf945279d9917a4bfd1b73b058fdfa77fb3ed94ea45b4cbf4ec9cc132af4 -6455aa9df3a1adaaa9e7eb8576ab493ccb3d55fd3ceb11b2092d61f03602089b364df6207ee32ea1 -db565c33b6c4dbc07b4f945c2d3b28b9baeb9b0b25576b6a2b44a92a38e6abe047ccd3fc28a2237e -d48d1fd1d2ef2414f4dee387725be03d2d67ca7b92583c575ac14c68a94c296f6c3a25343611eebb -148c7e1272009327ec8e0f6b34503e148a33f05f2fdd22a59a4484cf426e4f5821a12c11e1bce5f8 -7d58aa7d0dde4ecccc89cb0bd691e0afc4744ee0563fe4863c3c1c3658fafb7938bb6f744bd2b6d9 -e15c8062506c4c784e3041c435e2483a07c5b9e71afc4a2222a6f068abd55ebeeb36e988e113096d -e3111a13162e8949125d86ee3fe3be5bfc36fb213f1de4ec1bb02e9079e5ca1fdfab52fef87fe211 -ffb8a9f57fb8a0b19044a16b79dd1eaf56127a1a133b57cb692fb6906f39b75fe6a96c55e6797dd1 -40f1d9d76a5ec7a7e32f61a2620b8fbc2a71485890f39a7465de22745d1dfa361c95f367a425b951 -d5b09a98cc4ef83709320efa010e5f07f9e0b5dae954fceddc1f891131102c049cbca76c695c330e -3715b46d9eb7c35d371a3227677208190724edce3e99700f3d12fa62636175939502d49fd85a64cb -9f86499cb2bd44bc95b255448201163fbdda085fe677a88aac3bb155017cdf2a579e4548f523de90 -9b878cec56cc659ec8877d17ba3c6b3e2c93b8fb4b9d2afd41a14a0f47e85f0df64d249cdf4fd143 -5127eba1d8c93b4ab8655bdce385c04042f39198f83d5b64acbdd23fda032d6758277c1d4f8613ca -be87a5ddcbcb3d3c043d32a1c9e217ea342a182e3bd59047aa7b35af2a5635717cadc25f7c84d332 -192b814fabe01df2abe6c32d591b366bd94e23b6417323f6bb2da94f6f9acd6f394b130ed2900323 -3d49fb5138498345cdf21ca0fb835c9f231bb6714178edafc3a08750966c510f1839dbe2d3d5a2f0 -bd210f6b6af2f3cbd36a8399bdd45f286e474a25634f79b8382023c47c4639a2e9e275162346db61 -8d203c9081b5d05fa5e8401b69bc4e1db1756b5c2e0d8da74bc17187e0b35e7f802b680a8dfbd243 -a8084171d86ba28fe007d610dfd2f45b216dfa3da368fa5d8f5c82d6073230825674fe367d4bcbce -1cc85b69a409a70e7d6070d32e0ef25bb5f0cefd4cc49af49bbd40d1c24b026311d079607d4a633b -b9871517cab28f9224abcc3a7b418271f8bacd73185c4745ccdc6a9d6e9163bacb712fda83762794 -14ecde9e79065d654077f20d4c0f9a300f7731d2854b7810e739cedc640e9a83ecb2dc6fcab219d9 -698194540a1dafdf377ec6fdfd6df3618172c6c85ee4c3a0b6c9bf1dce485ca0f95ca055c0947dc0 -829e2d0998ac16773e4c16ed2ef96ff54023897f35f9e35a3e4cd9f79aa6b63ef020fe9547955a05 -e02f10626a2984026168518614ecd0a93c05e665409775d23af16410f5620d9e01fae25ba0cf4001 -7d4b205a51426207a92c22adb33195169106b7ce0a8af96e42ccfa9f1a6900bcd972328ae360b6ea -fd1e2f68e4fe125faaaac83bd30dbae12ef2591a48161e2c7f89dfc335d7ee4a9de8ab326c6a5a43 -aff4705cefe61791eeabeb55e81ab71e31b60ef6b646dbad0e4097bab3f09ea8c97222c73aa9efa2 -bc4f73317d328928c3219c035a599966201d34bcde6227da890e2665e63023d528cd281ec73bb48b -fdcaf56b83cd82d7640597c9a7117e53641a8b6a418b00789d6ce99683b030302e2537216b47a1e8 -d2b1c47204dd1888a55f18b64fb8320ac616646f09cfd735b371b54596d2c3861df9a9d52542870b -1882d1192149a4e4f7a510feaad7e4170816c6e19f706ff8490b8f556a6ac35aeec3399ac051d7cd -7e21be213e3a61ce613e61280c85c7488ae1135e431befebe0e611d43744f27e8c61c2c413793a23 -afcdbb45b20a09b910650dd8c6b08602ee46f2fd8bb3f2466e15b1238e6cdd9778a9778d59059ea8 -6b8cc55c15c51a5fab369efffd2a8781864149292298d21574697684242c4ca29b415d43059641cb -828c2c4dc7a0e6a9d23d2d82728f0e35ee55af4397bd873ffb7b41a7b5e7ba35de55448bcd893d64 -0bb8ee116fa86aecde99a0d334038fe05a850a4150e4826f84970cf15a028e7bc701079febfa4440 -698e2604832a5122a494c21e21e9935dad50c95e0ee55c46607c50867c1bd8a1bca23a741ced702b -b1cd5e533e3ceb0b926e5dc1f11d6c14e31dbbb2f732c3c333a1cf618336dbc27820e1def4141834 -377628a868a100c995cf00c9575a20b95201c9b79af43b55d59fe775160617c377d91a9007965c31 -9e4a073dda77ee2a2a42319e5b4dc21cb465ed938c9aed93cd92a763d0dc3af73b8c028ecf356840 -7083e6f383f2cec6fe4a7add15667f484a76d21b1bd5484af0a2bf833bc389e6b462c9fd85ff8492 -6bef62ae1d167c9d3ce576f971a5821f370e91d0aa99b6184b8b60d2e9be16110221f5844f40045d -5fbb0c41539fa6bf3b65735b5a1de5c36ce9194318d7c94688d9ad1a213a0c649fd2ff70f5206c0f -91aa28cdb3d2a647f439245926ef27d341e8873ce951f813604dec1856f2ba1c0c6b077c85c28b02 -7ec52ae097f90e5f7892cab742ded7a522d2edf17402f9874ac0516830e53f17463ee0b2f474f88a -9c5fccf7a02722ab93f6b718f60e689b19c62deeb3cada557f7d9a43d2517101ca12c5a168e7d8d9 -49434b67e6fb18fbd96fb059350c7fa2fd1da61cc2970847ada368f81036ec381e58528374a2b115 -852679c8b282d6fda8d1740d0a54a31f35f67074421cca4262f3a38811fa515b7a6145f6c3ac845e -580fa117f6a2826b0a2b99c1f1c205982e7dce245b52941365321b8a92e2e30e4b8affe95449f1f1 -73951477f37d3ba19471afa6f35ad2ff86184563bb9e32f8aeeb791265ca4a136ce526982c83629d -f6a1b85d50570feea5c719ab60fe19a129e5c5092d13affe038cae09bda702cd303a25740a495031 -ffb6b4d6c156c107d24efed9c59c18f96c89cd8d4cce3e83ce3330093ec03be9591e8e4b75f1bbb0 -9243b3ec67b85bb8acb1f2591db409cfd7165a56b36f9e25bebc9afa0165cbeed426984fee538870 -9f525b0faa8b5a2664e4828042d4ef4fa2fe336b02e2ef952ed1e6375df3fd53f86d9b47dc6ed6bc -14595e4fd8a9281ee9e4fb12db133eb3cabe41faf8a41b295edd3e0a58f18baab1d0fbe472f64017 -61d362a2a0af4fb55e93dcb45ed98a65fed796bdca608557ab15c515a97c6b2d9f7ce82295f2c902 -d156a998cfdfed8bf9e00ec47cfe7e95623eb823319fbefc27dcf4752be7a0b9ccb2c2b53b0bd352 -0bf2ec134dfd7c8382fc747d03110a428c8f5f58447e56514db1e809a3e0c7f6148aacca1ea60bdd -796b51bfb42bc8b111be98d54a8e4daa217a42a6211ad58ed4da8967975a9369889e504743140f6c -faa5537cf137d93d45d74f49efea05c276c34be32e441e42d93a294e09f6764ecef6ae924fe387ea -1e287fd94ed80d72a5d99be459fdece27f07756ebef1aafd9fb26021db55255b2773b8de5ff8db55 -5865e7f9e42e3bcf8e97d979aabdb2caa57124c7c6a9b91a869f8747d7362804316071edb38f1c33 -c992cde1a9bac656e2f5f2e5edb2528facafd441e82b8d4bcd8849d9512eaa3d98921757ce2891cf -801bf02e2ee8ec3c293136415aeed52d1aea0dd14a870487934469166812533b0b9a9a70188e3cbd -8f1a97c1f14e1ba160c5421bb1843ff2a0c7c55a3de939fc347e051710d2d10ed15e347b5fa50250 -717e7e89285f42b177845584677b2fe52f71b6f6f6363629f659d9a929d959f6a9d6c27dbe644188 -ba201570d197fc63b982afdeacf9a72e1dc5b670a3e5e4550a0232a88f0351f2ab61000bff9ed529 -63fec734e912be069ac243deb4092c1f4a7b7960a12fbc25f0a957b95077a5aa85ba2a1b5720d76b -2f98d440d73c8d13f59aa7e120375def04ee438dcc313c585992b6375fd73dca71838b804c26e2cc -232278fbaf9a8fa0ebfdbcfec0d05b8342085bf0f6f3f6f5325e64a8ef1ae0e9ebe78bfcd1a6e0c0 -9040a69a12521c09fcf1bbc6997acd70be37171b12191c8d9874a9f385d06899afeff7420b8caf84 -9e16e22241fb1970a0f3caf6648645fa7b45e9c6b945f9c520264d129f95ef98646e646d3f65b9e8 -17da7ff3620753f7794e3ad0e3be4a495101b45b5a4fe85a9b277c8ffd4da9f73d9fef85ac0b13c7 -898dad5c6de5f8fe0496d88be333b2e252d24245dbc3a3c2887fb27f76dca2a2b0a57b35af60d36b -d3fbfc61392008d6c1bf9d076f1202bebf5e13a6f38bb9f5c0501d3c785cd3befd6cbb9f6742ef2d -c9a942156a1172b9090991eb2559d14948562ed0fec2f2d852150b83547ae7e339e2fff44bf6da03 -543e58e64357d05c9fd80346964341f9f57330e85c2f76f4f546f2063bf7e09d141b77bd89e5790e -8f77a2da4e259e26901d681ae012e0eae3e3817c917ba8f356d748f11677c4d8d83bd958a659ef4b -4f0d8b4e1625474b1223332333432b84dec19334bbe23ad435e568c5f31e14da159c1d1a131a1319 -168dc251b47f9c679cb724201631b9c929597956d9cbcd6dbc9d1d458eceeef6fe36feb681fae83b -061bd150081bb821b3e78f185337affee6f1a3f597e7ee1b21f25ec755e4eb4d58b8c172c506a7e8 -140f916bb67729dac6ecccca2e939ef04bf801791ad788c9cd7dc8f1abe90309b925c9b15ed609ba -71eba3bde211939a98905ab42a63eeecc5b62bd68bd6aff2310d1ac32cb1d88b4f506892a7c76421 -f2c448e8d1219e51e83c614cb996161048e2b28ce76609562db5e80862d1fd9fd7a2693cecefb99d -8960704316685f1e365efcbb7363103263bf59f322cc1d7f0ce39a0104a691bbac4738987fc83c7b -63f779ce3aae7468b064b324782bd2498d7431143575573b017cc09338dfa34d636c37c5126a0b5f -f28085507cc917de91066019fe2b62f0f05a63829b5764b8c95e6e46cedf3a44ce2b2a91f363dac5 -decf15392a1f128b4b4d4bc8c9481125c5c786e5840b15a403bef7a59729a75aa36335ced7c78248 -339c645d849b92dbc2e46f75d7173539b6d3233a8b86be786e48c0e64d9b37856cd289f00af143fe -8cb7b79f87ae9318ac859e51cb44a32afc052cd6cece3c73fcf0aeec081dc996d8cdc46d2224d8d0 -8dda16141580dc908fb79b9b07798addb4f95184441b7b58fbcc77d5b1f2d102834e66737d89bf9e -7840083d30e4694f166ca703bedd66a5f752707c9a4bc316bce18518cdd2c66f9531f597bed987d7 -501a56ee9190da3b0bba90908a6ec0c6fa22f2ece19e170703f66ac5d1ce41816813624c7d8875f2 -47893febbb98797d2f8cc444048721920a15477aad16e121b4719e6dd41ac4607a30d6c21fe3f7cf -0f87376a4b92761788bea741a32bf2f5f5f0f274deb8c1cb1a31a316fd08dd41abf2870bd595068b -4530e07ee74a624ff5367ff3427b9b37fc3c3e9561efc4feb0053e48ca8876c8ed93425297e094e0 -7c9b64533407d97b397cea65be6486acbf59ba6e3e9b707fcd673135bc04fa116caa13b21d5931f7 -3956bb600b7e8b5aab008f3468c0c0972254365a994e9900e782919d2890999826dce1d338fc864a -a3d9b24989050ebd50f02dbcdd9e197ae077cc6978a7691ca7cadc5a2ffe5154ece26515bb41ed54 -ece23b55b19bf574c52e5ead8add5ba0a7f2f1edf56d20814430b8672d8bddfc51d50704cb9b6a4a -6a6e497b6a84697a771801d61dccb457c0544ebf645fcd226ae7e6b23a99ce54dd66c395a2057afb -f15a8aad6ae9c35163965e7a76aaa47564257f8b6beef958e76be3e6a03be2fa5ae3eb236c5c8cbd -f591ce46e4166cbf99b904f59c1a2d24309396f5a11c46bbc34a24b7876a6f2b197b79774166353a -a0d3a61f45c9665d1806375b141157f8ac115bea0efa6dadf1fdfeceae0ede1b908ea08f281a099b -b926b3e6e143653b770b51fed6ec04e9870fbf59be2bf314baacd3a2c1a87bb1bd1944d9a8f55b35 -3045314d741156f03739f68e9261eb8b4f0c5b7f3c5bef30ce542666042530a0060fa0a57345b0be -06ba2b4ec32f261062da7cf03467b95e25fe50694de5cb4b35e36802c9dd5bf712b21703e03d6260 -a7b17501cc4ae47bee3b08ff3696cfd45792b7bf2bbd7ac5b5b30f5bae5e76ed14fb4b4b4f8e521d -26f0a10b4bd213f720780b9dc49f04e19e41d870a181dd4a550a1a5f9f073df80a068c8669f8d360 -d1746465b76491d04c039384d33dbd6e8daee80abfbf48231b28fe73a034d3e10b2e0c7fa105e994 -170c589eb02ed7a55cc765a77725aa46e713ebb6edde5651997a10ed4315f6db576e5f193f0b8d40 -98331e3fd2d61d0fd0263f15065f68d95141a662d33904f77a53a165f05ed185df11f4d141d76c4f -ccab9e57fd6dd66034088db399b760de42ab69682c9a9c3cb7cca0cc60b7759557b0a136ee452d42 -0ee99b7633cde231f2f140e357238fa76ae3ebcbd569ce8715aa3e3bb2b9557381b4db650c072bd5 -ef76c9a16181d0f9344ffd86171f3a8e7c888a2b923581ec2905bae68f162873879504a35a6b2937 -0b298b78c7ae4f35878c6266ea1d6b7a57c051e5ed794f88402bfac1df3c59338deed668e8550313 -76c3e53fb793a83fa3a1a14113c21acf29e9555cfe74af62d3274dfdb8cb409d29fb0bdd41670c2b -bece5918b52c6408d3b4858af92cde70bb7ea5de05cb1be82aba9479b8ea525df95fd27ed4352494 -bd8fe7e321f8dd61f8ebef74f93cbc9173c6ff5ab86800ea8fd6ee70809ef27d29cdf20dc29ce16f -3d1f2652ea6a31cc39f1a34885d60368b6883d8c95cb9dfae031d20198cc6dc2008c7067fe84cbbb -61428d46633f08e1c6626a8ae14768309a52a67fc3aad673cfa69f197e0be57ecfa56c75c5f29a6f -73bf46a3d138dbd94bc7cd59f511c2dd18bc06dec2efc37c1802efde82af4fe936e5c1462e01fe55 -bbef0f741f6d334ac13da5e163a90496d7f05d241ab0a45e931f028d5cf6c9b0f09c10624d22319d -b749e2859c9057a05780d7401cadfd0944fac56e8a45913a28212abc5078d552315d1218eeb5abdf -43bc591b6be98116ee412989f5c001558329badbe32024c02c7cd5dc712fc5d906fe31ff1e071368 -f69ae2c6fdfd6d0730417ea8dd0efc178aba4ff2fa8bfc905aae73745c99e661a7f2806cea104a37 -93f75f749765043a2d23600d1a575ee376f1eb3049ed55c1d2d9b95d0d4203e35172c9475fedf85c -7f98a1ee1ef4e6a993d2068daadffff84313baf377b9f50ee485490e595929e4850e3274b2b3235f -4b71c8c84a235fb3235fc305f8f88b9e53514c1b9328329cf82addb3a10399da8f68177bab96eefd -3f94bd6664f37040b9301c30501e6236e1eed2d69ff4c2438879f93b0e9ad5290df974e91ce95a29 -c3f285cf1687b945181ed011f4225bc94526626f27fa59f52bb5d864998425f30c1296246aad2460 -e0b10fbac877794cae878552fc1a0b0e1cf413f04bd10f65dad1e28e06b80e93db5901d295deb12b -3caa0c5d4731ff0e1e138cbfb259b6d14e15787d788cdca1bef08611b09fcc71709ca72f6aa37d5a -5023507147be0b07f385a62df545340b70ef1a7239892e7136a9261dab9d5e7c52edb48ddaaacbcc -357acbed18e8a18745f46bd971807f7c66350759ed77cf8bdc0b3cb5137b815bb7b11e6ae801871b -821e0435f4622fb7dfccfadbffa366d6cbcdcdac78130ce3d8634aefcb6165314510de3b2608efbd -2ae2248362fecb5a0e7f0c16eac83d586f77297c41720fe207b4322ef0dadaabf97e04128fc07b26 -8a9cbc0efe27d090fb141bd3110466c3f53f69b6ae95ec695bb29552235458d6f3df71ec15f57953 -380a0f8e0862b056cd311adec053b49eaea2de5349dbfc1ceccd6d1d98eb7a7d1da0172d676eaf5b -0610db3febf1a8c0baa0b806f28b343ac9b5c0ac89e202f53ce63baf789a61e99759dcf67fc0f0e3 -6ab8a6b154e8ed8c6b253b643c4b46d02a57e67c13fa6f72dfcca4e515216e26359b89346cde85d1 -57b81711eb601ebc49b30f9bed4828ebe0ff51ec2fed19207b5730c1cade6d14cf05549dd010511f -4150b5be93bae77f7446f7bc5ea5eef91fcfaf7b1ec7ffac3ecf157a3f4a0ffd53fbae8ef23a6a2d -177db92cf5b1be748afb9c6c1efe01ffc9036155345fcef1e7da882fb3066db475d97cc59c7b4d53 -04d532b56dc03fa45a98ae0f8ce94031857e79eb0ea4ac2605fafda0010f6f6be64010e78607fe85 -bb3c255350e987d689a65aad3dac864c81de92491fff32d7d4c66cc2a6790cac8139aae717a44cd5 -a1a648a1007f47c6543fb852f30dcd5e142a026dc8ea546682def9a677a9e714e6bfa392aaca1703 -b452f324f070eb810f617e3ee4121b5f89a867292fe2d8474a99d09f4a8fb3b260660d7c97a5a19a -97424f1cc321f234a64e085e8b4cd21c4b9df3ddb7fb9633105ac3e1a8644a782c676ba6f48dd5ed -f6b8a4f5f4d40ce1e93c0e4ee29604af0b9d735f7653dda437f5402bb247ee29527a4fa7350bf95f -549283e0f91684bb4e6b1ec49a2f7057b4d22378499079ba5b123a8a24055948c15f0f48f9ab7bbb -fc3542e0af7978f59376922ad8c96ac14e221576528f6a65aed86a71e7b024a7bcdd0d3dae9307ae -2fdbded930016c84f59d7abb373c30f7d1960cc9fbb76c7be79156db3b1b3cdbaeef5cf7f4faceff -7469bdbfb3c1137a269655090b3c17b65ee0d93041b6c173a4f542d1b78d294af19cfda58b5242ac -07f38f81c1f34880984ae7a5640344e3eb21ba5ec0bb127e2877926a393e3110e26cd370b9bc3d9b -2f5bd87952d0b76f1680b1e4e7b4d4aed878c258554f5959e2eb389a161613591436bea9e0b3107e -5e137e77e3cc46746e917bf2de87a1b777eebfa0d30946db29cdc6fdb3af9bfc1ac008f356d9d6cd -1357dba503669630f9e989abfe4a26ae18365e317435585a79c9d97b8884d959e0426e5dce92e65b -37b865f0aa5973801dd42422df6c357c25a3d0476bd21405cb4732067d4fc13ace786cd9849631b3 -f48e6077ea999a101ea955f53c7abc66460cd54c9feda5691341d123f55389534dab17f26775942b -ca9f45b9a255edcb01a0137936af235da1cd9a2683793a4c174ee3c1e0bcf9f105177ab1dbba8085 -37174cb1a73c1f85151c3dde1b5519d5e88732ec0f5db222cb0a6a7b9f9d51a574df404c97d60b07 -7ee8f2536a4ec1fe3ebb8a562f5a6e6024df3870cab37ad712bd09cb5c8c1718969cd617b9796bb1 -dbbba4ae2a1af9b3aff150e9b6ec335d422288f1f751cbf65bf1fea2060df84ea810bf06fe8f8ff3 -4bd424a3f03faf625825ac7a704fa96ae8b1955cf118e9be872b9e30255358f890d7eec287ab5de4 -1b1fc62adff870afcd13b8dae5564c4ee1893ebbca8c5bed7cb8e2295bfab0d1583492bfac1c714f -28415c05896e9092e8c50df7ae8c2329c49f1df2e8df3ac5a3ff7cbef985814203c2d3f62efc4e37 -3aa8361d928d4d5f69bfd274efff51a5e94a73a5c902acd4551f6e7b22d8ba4edd8abd8f7b716783 -2d9c51e0fe04917810c83f7c4ae2a0973797b3a5242e27e309d18d4e650308bf7b76c84319b07426 -a23ec72e6bc2e59b5c2976a75a1bad1bef280c505f9e74096b5f145b709e8ff9ffa40ef397b2d463 -4f4b979d53a4746d946f4858ab7f70a1a1163466361c2197ba77c2cbd1bff198f07c0238f06ea3b7 -72601b5fad2aa3286dd0382b0d202f2ab1c04ef0bbba358a6ab7727eaaa0dda1c1bf775f132272b8 -516846cec433ceceda75df34ac90ca46d2bfde80f74f9801f59108fa408556d347940336d74aa722 -0e44e72464a714a527ee242f1b40910baf8381286a4af0509de04f469b1320eef6f81d84c021af6d -3548904e90eec0bbd6c95a5043676a41d754d6821a9ebf16044e8d6ae92cb43d6184fff56c5d6556 -70f6d4177cd4286822b4d9b898aa1c593d3bb9f3957e416bb81a87290cc24010f422a99080425305 -bcab7fb6fedd9fd4a2ce5708f4c897631ea7e5e9d539597a25dbfc5c042b659b9fa57c3aa8a1f2b7 -550dc1e4e21c932113523979cf225bd657e996cd96c647f2fa312d9d8f55d2cec70245e72383bb5a -705791b3acc772a5b4c7d252e8b10c6feeb1946e89ceefab3e37df02511cfb495fa510d4cf504936 -fb618bd2fe2e4263074b1b1dfc0173b87615eca70206587eb37485a1f1c28db3d093a8d0807e2939 -74ac6a7fce0d7407c11bc677a61e9ebd6f54ee68648096f92c7715fb893779a38dc835da2f9971a4 -bcb123c9c7138f49b2f2f24a4bf726ef4720423fe32ee1781c83b7f1abd5ed71086fbd43f384d008 -dee820e11456202656f043ac1f31019481881120654660d461d708634d30c2e8b85701c3def9ddc1 -7e2bc10864e318bc2ed821d92305e5a2e8940c9484fcf0073fb88db7170f698313400b409121058a -8f3bb262ba6df789d0a55ccc7f90ab01211734614126b7001996e89f76f3d64e36d8fed50382b0ef -961cbd546574505f7406d66ae11439e34efd29356e3f627ea6a6e3f95a3bb3853cc741ba5a8d00af -5f5e9bb36aa8bf25080447c1650e4cd0ad31c1b87f3036d5f3b0325431c420820111bf8126823508 -46e00fcfe01ea9391905d592131d1d49b78ef69d391717b45c82131bdf48729636327135f03609fb -95602c6840ca081e7be5098a87f01bf727404f5fe25735c0d0bb23b6a7e66532edd607d94ae574d2 -ccc6c8d1d08781cff4f0607a42b8de5161748b7792e3dd7802de250d1c9c3849b7390f69aed3c8f1 -ef642bfcbb4f2b017b258afb8fe17dae1d96bb18d73e87e2fe435a19ec0b62791685305d080f0203 -7438df8bbd0fa53d570f6ce6acec1db5586bfa312de89948b1f785a576e77aabb532f18978b2c03b -13be131647ee6dd0d829a5429dd91f693875ac9edeb65a635d178f82c5e50b84fd91efde6bd91f39 -163e559b0c619b42de77ffaf522d33387c5e7c63ecfd5e2c0f47dc39f6cf479117cedfeb8d4eacbe -f64d06c33e3a95977bf4586fb4d7798759eebaec55f186c80299f898b8b9f8b804782117e4191590 -4a904f4694e20ec666e4e61516ed1088d2e11dc68bf4fcf15bf863d1b2051514fb27e8a47e3d64c1 -b7faf346cdc8393351e4ec7c60dcaf2bff13a063fc55cbb3e0d5ac4bc816681faa79a50bb4f12190 -2806f85b649204d2d35d5628034b61fc1c16803d071f66ef1b8c308bf097d6562e6e2a71e76d9f2b -37104c6480c3d4d5cf75d98b9ded08dca9fec936b9de20093f2cc94d48bef6d708ad93576034afc5 -11a8689f736d217f428399893537e9c488f8e818492bfaa53460b357dad23b4fb18b8ba33773546f -1a6d1561931e5c44389e7499eb4f79b27263b39edf6442b6baa9cf1c9f7305a230a6ea50c83f1266 -548b7ed084efbcb9d2b0bcb4ec9dee51dab2d953a6799a5a8d417c5c43a16fd38d2a7c560fd00e23 -46bd5518a32b892326ede062be516ed2591e6982495f78c2a4e5ad4cc4a65f61335393187414262d -eb32279fff2afbcc7128ac575c40f3016ce9a197d3647f5fbd5a0d9e5a02a227e256249ce49ab43b -5461e6735e4c68a3657ca64b3958b6ba044f0eb3b4e20c5878bd5c031c7a104686352f62d1dc45b6 -e66b74614a3b1b3094fdac39bdb3e840fa3ec4d4d74d1f23923575f34db28e6ea83acb010525b2a6 -6e9d676bea9eae6c76abdb634b1935182e9f97916b9b9fe71f0bf3325be4f3323f3f3d2f73e24531 -8656df69e983ae794dbd394d3d8153280dca835b0379f09b094d087965f12d0c0ea99ba234cf5e68 -54f1535ed62085f054a47d3fada303dc59c9a93b91cc6bbda098d1b2aca94e56dcb80033b801b4e2 -905278b55c85b79e0ebe39326f255a89566db4b5621ada917454f2937fd1f124e3d8165418546a13 -64282f1adbd4c0c3440dd845fcdf495a3adf1b14ef83ec9097bf87b718ff1b3b6ae381b0c133ce2f -5e6a99b191799bb7a0ad282a585600ac088c75fb037f04bdf022ed40dc450fbae0376934dccb6b88 -d0be7c3091fe6ab35b34ba40a8c7fd9afe51340c04c7ba5b1929555b741289210e9406e6b32d2d57 -c2728ff3fc3c7e28f73bf1cda79aa54ebca0b0dcfa3b8769f67c4278688cd0e38139f874637396d7 -8bcde6e7403ad7ba32db61fb404baab6b413a95a9bc2309bdd7cd82f864f656d0c3a2df1bba1c74f -0fbd89dbf6621fbdb228fe1d08a7b36ad2ffc89653d445e43a174b4f515f4db05f06899d3847dd98 -c42f4e82454954ce9bd7dfca8978fbedeb096fbfd3a5cbff0127fb5d850a656e6473747265616d0a -656e646f626a0a31342030206f626a0a33333936380a656e646f626a0a392030206f626a0a3c3c2f -547970652f466f6e7444657363726970746f722f466f6e744e616d652f5851414a4b482b54696d65 -732d426f6c642f466f6e7442426f785b2d313638202d3334312031303933203936305d2f466c6167 -732033340a2f417363656e74203936300a2f436170486569676874203639320a2f44657363656e74 -202d3334310a2f4974616c6963416e676c6520300a2f5374656d56203136390a2f4d697373696e67 -5769647468203235300a2f58486569676874203437330a2f43686172536574282f73706163652f6f -6e652f74776f2f412f4f2f522f622f632f652f692f6c2f732f742f77290a2f466f6e7446696c6533 -2038203020523e3e0a656e646f626a0a382030206f626a0a3c3c2f537562747970652f5479706531 -432f46696c7465722f466c6174654465636f64652f4c656e677468203135203020523e3e73747265 -616d0a789c65537b4c536714bf97c2bddf7c54a5b991466cefcc9412a6e2632ad9d04dc407883a82 -8a3a94d21628145a5b6879bf5ff209147988a0146da10a550ba8f89c3ae3127173eae26346b36c8b -9b664bf670f1dcfaf1c76eb72cfb63f9929393737ee79773cef73b34151840d1341d9cfcf14771f1 -eb2392f4393acbfcd54683d61f0d1366d1426880305b423e202fdf7cf326296836b5f148d0d463a1 -ccb260189e01edd3a0663a25a1e98256678cd15468d66764e6f1aaad89dbc32322defd2fb2282a2a -8a4f2bfc37c3afd159f419b9fc3cd1b1ea0c46538e2e37ef7d3e46441b0c7a0d9f612834655a78b5 -56abd3facbb6a90dba6c7eaddea037998c565e1513ce2f8e8c5c345f348b37e973d2f22d7ca23147 -9dcb6f3246f11bf9049d569f9ff3ff044551d28f34bacd96c43cbdcd90b668314f5173a835d45a2a -924aa296505ba9382a994aa062a8604a46d1d43471375420554adda517d10d015cc040c07349a4e4 -ace445605c604be09f8100cd525f3a7699dd103d22ac7504cbbcbe581757cf687171df0e98442cc2 -b1102343cc13e7750bca4b7655c9652633ec61655e17bba525af13f7e3ae3657dff5ee9110c8674e -461fccc0f94866c2d6b2cacc7d48e6adc3658da5a263328b25f0989968800aee25d4ff46ea83a4c2 -96d23b82fc048de16d0886e9122112682e5dbdb7340da3a549df43e81f43e3577bbaab2b5a95f62a -8cb17affce23795e8ccef63b476eadbfb4848486bd4dde218ae72a98fef8c6e0839b4a3fe5d7b0d9 -0b4b0769611ecce0343b0d85a9588b738f584f150e557beaef22b033b5df965ccc1ece1a49712461 -44662c57917964deb30898fef4f2d08b2f94a41b5671cd30e5c8e865ecc6bdc56d067b4193b12919 -95b0525f6f81c717e2117b8e85d7102b1166fbd6714447c2898a688906c2481868c417062ad1a692 -70882029cac62c0e026e93a922449d4002084bd8040880dd601807046f897dcbcbfaac1e618527df -11dcf42b287e9e29f3c00b78c2c942616e3e5b5b525b578e6b716553b11dc90c9d59792df9b32237 -242cdf7026e5b754e557396e33ce46da9cbdbb6353ce7f6f551819998744b9d8cebed603edd88edb -f675d40f945fab7063f4e3f8ade7f7b5e7546795eb8e1b5df824f2b85dc3fd0315d6a38a3e5b6761 -f71ef4b720e0cc105c39697605ff00cb201e56cd943df5ed717185b8acb5b28ba4c070c8e7bdae2e -b7ebf840cf283e8f64bf00ab1a27f10ad953f2d0cc3ca83b548263d0c42616afaeac8cae4266f8d1 -c546775476e2fb08920758d0902f8340cd4cc40bbf70b8b5a5bbb955e4e868edb1bb66fde44d9d13 -5fa2cdb62af716e96b563522297c577e1fde8cd1574129819b829a9b0fd16666d37b9add7149c874 -953c66e3ce69eede193df1ec8cc2dc69d315975ab1dc5871785409d75fb25218c47dc20ac7435848 -5ff333684506926461c6aadaab701a2217599c56539d52812c50ed6433ede587f0308a155e73a999 -99eadd9eacb1b1939eb173fa53a94a7135a57dc26a27eddbeee7986561bcf59dd5380f9797a51b3e -28d1565bcbf595671a0e5a1fd8eed6b8713beee9b00f37232729b3b023f5fb1b7b37b41684ac23ab -2cb7abfa6a7aeb0ec98df72a867097086b73b78830b385edaf6ba91dd800aa8949214e0666c0f8ef -643ce818030b85b93ddeb6b67ebbdc3f8fd3879cf4a7fe61d27c2b389268614e35f414e274347180 -c5e945367dc33fc364ed2feec5a3482a5c13f53528ccbd0ef18ee0cf4009cb216ca6ec3264f8abb7 -59980bfe5568d0c4ab83ec931b17d24e175fc17290bf7805e1a058f93391ec4a2fd2a62b13030f9f -73f47830ba35b89ecc54ca4a8822272e5e6d1abca4900a0d6253210e1aa6824a02f77c6b38622774 -d05eb6bdb9adb9b969a0c375a00b235767fe27ca098ec551b6225523b208939d6c645351377e8c84 -3bac9f04e4420230349c86508960860ccec2e4c694d7ce150f358211b5b8e0c9c35377f023f9eb95 -8f08b563972d2353a1d5daf4c60f919b19bce5755fc763d8537034e3a0b5cd287ecc9e82a4ec9dc9 -d1996af1c423519eb0549443b3d4e610d40ed8ee603c93809fecf14c9902fcb1295329ea2fd8bde9 -1d0a656e6473747265616d0a656e646f626a0a31352030206f626a0a313531380a656e646f626a0a -31362030206f626a0a3c3c2f52340a34203020523e3e0a656e646f626a0a31372030206f626a0a3c -3c2f5231300a3130203020522f5231330a3133203020523e3e0a656e646f626a0a31302030206f62 -6a0a3c3c2f537562747970652f54797065312f42617365466f6e742f5851414a4b482b54696d6573 -2d426f6c642f547970652f466f6e742f4e616d652f5231302f466f6e7444657363726970746f7220 -39203020522f4669727374436861722033322f4c61737443686172203235352f5769647468735b0a -32353020333333203535352035303020353030203130303020383333203333332033333320333333 -2035303020353730203235302035373020323530203237380a353030203530302035303020353030 -20353030203530302035303020353030203530302035303020333333203333332035373020353730 -20353730203530300a39333020373232203636372037323220373232203636372036313120373738 -20373738203338392035303020373738203636372039343420373232203737380a36313120373738 -20373232203535362036363720373232203732322031303030203732322037323220363637203333 -33203237382033333320353831203530300a33333320353030203535362034343420353536203434 -34203333332035303020353536203237382033333320353536203237382038333320353536203530 -300a3535362035353620343434203338392033333320353536203530302037323220353030203530 -302034343420333934203232302033393420353230203235300a3333332033333320333333203333 -33203333332033333320333333203333332033333320333333203333332033333320333333203235 -3020323530203235300a323738203235302032353020323530203235302032353020323530203235 -302037323220313030302032353020323530203235302032353020323530203235300a3235302033 -33332035303020353030203530302035303020323230203530302033333320373437203330302035 -3030203537302033333320373437203333330a343030203537302033303020333030203333332035 -35362035343020323530203333332033303020333330203530302037353020373530203735302035 -30300a37323220373232203732322037323220373232203732322031303030203732322036363720 -3636372036363720363637203338392033383920333839203338390a373232203732322037373820 -37373820373738203737382037373820353730203737382037323220373232203732322037323220 -37323220363131203535360a35303020353030203530302035303020353030203530302037323220 -34343420343434203434342034343420343434203237382032373820323738203237380a35303020 -35353620353030203530302035303020353030203530302035373020353030203535362035353620 -353536203535362035303020353536203530305d0a3e3e0a656e646f626a0a31332030206f626a0a -3c3c2f537562747970652f54797065312f42617365466f6e742f54696d65732d526f6d616e2f5479 -70652f466f6e742f4e616d652f5231332f466f6e7444657363726970746f72203132203020522f46 -69727374436861722033322f4c61737443686172203235352f5769647468735b0a32353020333333 -20343038203530302035303020383333203737382033333320333333203333332035303020353634 -203235302035363420323530203237380a3530302035303020353030203530302035303020353030 -20353030203530302035303020353030203237382032373820353634203536342035363420343434 -0a393231203732322036363720363637203732322036313120353536203732322037323220333333 -2033383920373232203631312038383920373232203732320a353536203732322036363720353536 -20363131203732322037323220393434203732322037323220363131203333332032373820333333 -20343639203530300a33333320343434203530302034343420353030203434342033333320353030 -20353030203237382032373820353030203237382037373820353030203530300a35303020353030 -20333333203338392032373820353030203530302037323220353030203530302034343420343830 -203230302034383020353431203235300a3333332033333320333333203333332033333320333333 -20333333203333332033333320333333203333332033333320333333203235302032353020323530 -0a323738203235302032353020323530203235302032353020323530203235302037323220383839 -2032353020323530203235302032353020323530203235300a323530203333332035303020353030 -20353030203530302032303020353030203333332037363020323736203530302035363420333333 -20373630203333330a34303020353634203330302033303020333333203530302034353320323530 -20333333203330302033313020353030203735302037353020373530203434340a37323220373232 -20373232203732322037323220373232203838392036363720363131203631312036313120363131 -203333332033333320333333203333330a3732322037323220373232203732322037323220373232 -20373232203536342037323220373232203732322037323220373232203732322035353620353030 -0a343434203434342034343420343434203434342034343420363637203434342034343420343434 -2034343420343434203237382032373820323738203237380a353030203530302035303020353030 -20353030203530302035303020353634203530302035303020353030203530302035303020353030 -20353030203530305d0a2f456e636f64696e67203138203020523e3e0a656e646f626a0a31382030 -206f626a0a3c3c2f547970652f456e636f64696e672f446966666572656e6365735b0a34352f6d69 -6e75735d3e3e0a656e646f626a0a322030206f626a0a3c3c2f50726f647563657228455350204768 -6f737473637269707420372e3037293e3e656e646f626a0a787265660a302031390a303030303030 -303030302036353533352066200a30303030303032313830203030303030206e200a303030303034 -30363934203030303030206e200a30303030303032313231203030303030206e200a303030303030 -32323238203030303030206e200a30303030303031393730203030303030206e200a303030303030 -30303135203030303030206e200a30303030303031393530203030303030206e200a303030303033 -36383536203030303030206e200a30303030303336353839203030303030206e200a303030303033 -38353533203030303030206e200a30303030303032353133203030303030206e200a303030303030 -32323937203030303030206e200a30303030303339353931203030303030206e200a303030303033 -36353637203030303030206e200a30303030303338343539203030303030206e200a303030303033 -38343830203030303030206e200a30303030303338353130203030303030206e200a303030303034 -30363336203030303030206e200a747261696c65720a3c3c202f53697a65203139202f526f6f7420 -3120302052202f496e666f2032203020520a3e3e0a7374617274787265660a34303734340a252545 -4f460a diff --git a/debian/patches/00list b/debian/patches/00list deleted file mode 100644 index 9260bb7ed5..0000000000 --- a/debian/patches/00list +++ /dev/null @@ -1,5 +0,0 @@ -# 02_add_debian_files_in_manpage.dpatch -03_tor_manpage_in_section_8.dpatch -06_add_compile_time_defaults.dpatch -07_log_to_file_by_default.dpatch -14_fix_geoip_warning diff --git a/debian/patches/02_add_debian_files_in_manpage.dpatch b/debian/patches/02_add_debian_files_in_manpage.dpatch deleted file mode 100755 index ac87f43821..0000000000 --- a/debian/patches/02_add_debian_files_in_manpage.dpatch +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -e -## 02_add_debian_files_in_manpage.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change the FILES section of the manpage to properly describe the situation on Debian systems. - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor-0.1.1.5/doc/tor.1.in /tmp/dpep.E9VjWB/tor-0.1.1.5/doc/tor.1.in ---- tor-0.1.1.12/doc/tor.1.in -+++ /tmp/dpep.E9VjWB/tor-0.1.1.12/doc/tor.1.in -@@ -700,9 +700,15 @@ - .TP - .B @LOCALSTATEDIR@/lib/tor/ - The tor process stores keys and other data here. -+.TP -+.B /var/log/tor/ -+The tor server logs to this directory. -+.TP -+.B /var/run/tor/tor.pid -+The PID of the tor (master) process is stored in this file. - .LP - .TP --.B \fIDataDirectory\fP/approved-routers -+.B /var/lib/tor/approved-routers - Only for naming authoritative directory servers - (see \fBNamingAuthoritativeDirectory\fP). - This file lists nickname to identity bindings. Each line lists a diff --git a/debian/patches/03_tor_manpage_in_section_8.dpatch b/debian/patches/03_tor_manpage_in_section_8.dpatch deleted file mode 100755 index ece1fe67b2..0000000000 --- a/debian/patches/03_tor_manpage_in_section_8.dpatch +++ /dev/null @@ -1,46 +0,0 @@ -#! /bin/sh -e -## 03_tor_manpage_in_section_8.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Move the Tor manpage from section 1 to section 8. - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor-0.1.1.5/contrib/torify.1 /tmp/dpep.fOA3Mm/tor-0.1.1.5/contrib/torify.1 ---- tor-0.1.1.5/contrib/torify.1 -+++ /tmp/dpep.fOA3Mm/tor-0.1.1.5/contrib/torify.1 -@@ -35,7 +35,7 @@ - to suid binaries. - - .SH SEE ALSO --.BR tor (1), -+.BR tor (8), - .BR tor-resolve (1), - .BR torsocks (1), - .BR tsocks (1), -diff -urNad tor-0.1.1.5/doc/tor.1.in /tmp/dpep.fOA3Mm/tor-0.1.1.5/doc/tor.1.in ---- tor-0.1.1.5/doc/tor.1.in -+++ /tmp/dpep.fOA3Mm/tor-0.1.1.5/doc/tor.1.in -@@ -1,4 +1,4 @@ --.TH TOR 1 "August 2009" "TOR" -+.TH TOR 8 "August 2009" "TOR" - .SH NAME - tor \- The second-generation onion router - .SH SYNOPSIS diff --git a/debian/patches/06_add_compile_time_defaults.dpatch b/debian/patches/06_add_compile_time_defaults.dpatch deleted file mode 100755 index e64d4618af..0000000000 --- a/debian/patches/06_add_compile_time_defaults.dpatch +++ /dev/null @@ -1,119 +0,0 @@ -#! /bin/sh -e -## 06_add_compile_time_defaults.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change a few compile time defaults so that Tor is better integrated on a Debian system - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor~/src/or/config.c tor/src/or/config.c ---- tor~/src/or/config.c 2009-09-03 15:05:41.000000000 +0200 -+++ tor/src/or/config.c 2009-09-03 15:09:37.662104166 +0200 -@@ -12,6 +12,7 @@ - #define CONFIG_PRIVATE - - #include "or.h" -+#include - #ifdef MS_WINDOWS - #include - #endif -@@ -717,6 +718,9 @@ - static void init_libevent(void); - static int opt_streq(const char *s1, const char *s2); - -+static int debian_running_as_debiantor(); -+static int debian_config_fix_defaults(); -+ - /** Magic value for or_options_t. */ - #define OR_OPTIONS_MAGIC 9090909 - -@@ -4086,6 +4090,9 @@ - char *command_arg = NULL; - char *errmsg=NULL; - -+ if (debian_config_fix_defaults() < 0) -+ goto err; -+ - if (argv) { /* first time we're called. save command line args */ - backup_argv = argv; - backup_argc = argc; -@@ -5304,3 +5311,62 @@ - return 0; - } - -+/* Checks whether we are running as the debian-tor user. -+ * Returns -1 on error, 2 if we are root, 1 if we are debian-tor, 0 if we are any normal user */ -+static int -+debian_running_as_debiantor() -+{ -+ struct passwd *pw = NULL; -+ int uid; -+ -+ uid = getuid(); -+ /* If we run as root we also apply our debian defaults. */ -+ if (uid == 0) -+ return 2; -+ -+ pw = getpwuid(uid); -+ if (!pw) { -+ log(LOG_WARN, LD_GENERAL, "Could not get passwd information for uid %d.", uid); -+ return -1; -+ } -+ assert(pw->pw_name); -+ if (strcmp(pw->pw_name, "debian-tor") == 0) -+ return 1; -+ else -+ return 0; -+} -+ -+static int -+debian_config_fix_defaults() -+{ -+ config_var_t *var; -+ static int fixed = 0; -+ int running_as_debian; -+ -+ if (fixed) return 0; -+ fixed = 1; -+ -+ running_as_debian = debian_running_as_debiantor(); -+ if (running_as_debian < 0) return -1; -+ if (!running_as_debian) return 0; -+ -+ var = config_find_option(&options_format, "DataDirectory"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("/var/lib/tor"); -+ -+ var = config_find_option(&options_format, "PidFile"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("/var/run/tor/tor.pid"); -+ -+ var = config_find_option(&options_format, "RunAsDaemon"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("1"); -+ -+ if (running_as_debian == 2) { -+ var = config_find_option(&options_format, "User"); -+ tor_assert(var); -+ var->initvalue = tor_strdup("debian-tor"); -+ }; -+ -+ return 0; -+} diff --git a/debian/patches/07_log_to_file_by_default.dpatch b/debian/patches/07_log_to_file_by_default.dpatch deleted file mode 100755 index 225171d0b5..0000000000 --- a/debian/patches/07_log_to_file_by_default.dpatch +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/sh -e -## 07_log_to_file_by_default.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change default logging target from stdout to a logfile - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad tor~/src/or/config.c tor/src/or/config.c ---- tor~/src/or/config.c 2006-07-24 05:15:02.576170550 +0200 -+++ tor/src/or/config.c 2006-07-24 05:18:45.286651501 +0200 -@@ -2118,8 +2118,13 @@ - REJECT("Failed to normalize old Log options. See logs for details."); - - /* Special case on first boot if no Log options are given. */ -- if (!options->Logs && !options->RunAsDaemon && !from_setconf) -- config_line_append(&options->Logs, "Log", "notice stdout"); -+ if (debian_running_as_debiantor()) { -+ if (!options->Logs && !from_setconf) -+ config_line_append(&options->Logs, "Log", "notice file /var/log/tor/log"); -+ } else { -+ if (!options->Logs && !options->RunAsDaemon && !from_setconf) -+ config_line_append(&options->Logs, "Log", "notice stdout"); -+ } - - if (options_init_logs(options, 1)<0) /* Validate the log(s) */ - REJECT("Failed to validate Log options. See logs for details."); diff --git a/debian/patches/14_fix_geoip_warning.dpatch b/debian/patches/14_fix_geoip_warning.dpatch deleted file mode 100755 index 09737d7a61..0000000000 --- a/debian/patches/14_fix_geoip_warning.dpatch +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh -e -## 14_fix_geoip_warning.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Change geoipdb open failed message - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad git-stable~/src/or/geoip.c git-stable/src/or/geoip.c ---- git-stable~/src/or/geoip.c 2008-06-06 01:00:41.000000000 +0200 -+++ git-stable/src/or/geoip.c 2008-06-11 12:54:17.605150644 +0200 -@@ -182,7 +182,8 @@ - int severity = options_need_geoip_info(options, &msg) ? LOG_WARN : LOG_INFO; - clear_geoip_db(); - if (!(f = fopen(filename, "r"))) { -- log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s", -+ log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s" -+ " Do you have the tor-geoipdb package installed?", - filename, msg); - return -1; - } diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 28d7359521..0000000000 --- a/debian/rules +++ /dev/null @@ -1,228 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -export PACKAGE=tor -include /usr/share/dpatch/dpatch.make - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -# -# See /usr/share/doc/autotools-dev/README.Debian.gz which suggests -# this way of passing --build and --host. Also see the thread on -# debian-devel './configure in debian/rules' from February/March 2006, -# starting with <43FF212C.5020800@xs4all.nl> by Pjotr Kourzanov. -export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) - confflags += --build $(DEB_HOST_GNU_TYPE) -else - confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) -endif - -CFLAGS ?= -Wall -g - -LOCALHOST_IP ?= $(shell getent hosts localhost | awk '{print $$1}') - -# Do not optimize the build with "noopt" -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif - -# Do not strip the binary with "nostrip" -#ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) -# INSTALL_PROGRAM += -s -#endif - -# Prevent the unit tests from being run with "nocheck" -ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) - RUN_TEST = no -endif -ifneq (,$(findstring notest,$(DEB_BUILD_OPTIONS))) - RUN_TEST = no -endif - -# Support passing of parallel= in build options -ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - MAKEFLAGS += -j$(NUMJOBS) -endif - -CONF_OPTIONS = -# build against libdmalloc4 - it better be installed -ifneq (,$(findstring with-dmalloc,$(DEB_BUILD_OPTIONS))) - CONF_OPTIONS += --with-dmalloc -endif -# allow building with --enable-openbsd-malloc -ifneq (,$(findstring enable-openbsd-malloc,$(DEB_BUILD_OPTIONS))) - CONF_OPTIONS += --enable-openbsd-malloc -endif - -configure: patch-stamp -config.status: configure - # clean up test.h stuff. XXX - expected to no longer be needed after tor-0.2.2.4-alpha - rm -f src/test/test.h.orig - ! [ -e src/test/test.h ] || mv src/test/test.h src/test/test.h.orig - cp debian/src-test-test.h src/test/test.h - - @if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi - dh_testdir - CFLAGS="$(CFLAGS)" ./configure \ - $(confflags) \ - --prefix=/usr \ - --mandir=\$${prefix}/share/man \ - --infodir=\$${prefix}/share/info \ - --localstatedir=/var \ - --sysconfdir=/etc \ - $(CONF_OPTIONS) - - -build: build-stamp - -build-stamp: config.status - dh_testdir - ! [ debian/micro-revision.i ] || cp debian/micro-revision.i src/or/micro-revision.i - - $(MAKE) - @echo - @echo - # Running unit tests - @if [ "$(RUN_TEST)" != "no" ]; then \ - if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then \ - echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Will ignore result of testsuite. Please fix your system/chroot."; echo "######################################################################"; echo; echo; \ - echo "make check || true"; \ - make check || true; \ - else \ - echo "make check"; \ - make check; \ - fi; \ - else \ - echo; echo; echo "Skipping unittests"; echo; \ - fi - @echo - - # XXX - # So, gs-gpl on s390 is broken (#457568) and fails to properly build - # .pdf files from .fig files using fig2dev. Therefore we ship them - # until this bug is fixed. - # - # of course we can always give it a try - # - # the hexdumps were built using something like - # perl -e 'while (<>) { print unpack ("H*", $_); }' interaction.pdf | fold > hexdump-interaction.pdf - # - # And it fails on a bunch of other archs too. - cd doc/design-paper; \ - fig2dev -L pdf cell-struct.fig cell-struct.pdf || \ - ( echo "** Using shipped pdf file because fig2dev failed"; \ - perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-cell-struct.pdf > cell-struct.pdf ); \ - fig2dev -L pdf interaction.fig interaction.pdf || \ - ( echo "** Using shipped pdf file because fig2dev failed"; \ - perl -e 'while (<>) { chomp; print pack ("H*", $$_); }' ../../debian/hexdump-interaction.pdf > interaction.pdf ); \ - # XXX ends - - make -C doc/design-paper tor-design.ps tor-design.pdf - - touch build-stamp - -clean: unpatch - dh_testdir - dh_testroot - rm -f build-stamp - rm -f src/common/common_sha1.i src/or/or_sha1.i - rm -f src/or/micro-revision.i - - [ ! -f Makefile ] || $(MAKE) distclean - - # clean up test.h stuff. XXX - expected to no longer be needed after tor-0.2.2.4-alpha - rm -f src/test/test.h - ! [ -e src/test/test.h.orig ] || mv src/test/test.h.orig src/test/test.h - - # Normally the .deb wouldn't ship with a ../.git - if [ -d .git ] && which git >/dev/null; then \ - echo "\"`git rev-parse --short=16 HEAD`\"" > "debian/micro-revision.i" ; \ - fi - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - $(MAKE) install DESTDIR=$(CURDIR)/debian/tor - # move tor to where it belongs - mv $(CURDIR)/debian/tor/etc/tor/torrc.sample $(CURDIR)/debian/tor/etc/tor/torrc - mv $(CURDIR)/debian/tor/usr/bin/tor $(CURDIR)/debian/tor/usr/sbin/tor - install -d $(CURDIR)/debian/tor/usr/share/man/man8 - mv $(CURDIR)/debian/tor/usr/share/man/man1/tor.1 $(CURDIR)/debian/tor/usr/share/man/man8/tor.8 - - install -m 755 contrib/torify $(CURDIR)/debian/tor/usr/bin - install -m 644 contrib/torify.1 $(CURDIR)/debian/tor/usr/share/man/man1 - install -m 644 contrib/tor-tsocks.conf $(CURDIR)/debian/tor/etc/tor - - install -m 644 debian/tor.lintian-override $(CURDIR)/debian/tor/usr/share/lintian/overrides/tor - - install -d -m 755 $(CURDIR)/debian/tor/usr/share/doc/tor/spec - for i in doc/spec/*txt; do \ - install -m 644 $$i $(CURDIR)/debian/tor/usr/share/doc/tor/spec || exit 1; \ - done - - dh_link usr/share/man/man8/tor.8 usr/share/man/man5/torrc.5 - - rm -f $(CURDIR)/debian/tor/usr/bin/tor-control.py - - # tor-dbg doc dir - install -d -m 755 $(CURDIR)/debian/tor-dbg/usr/share/doc - ln -s tor $(CURDIR)/debian/tor-dbg/usr/share/doc/tor-dbg - - # tor-geoip - mv $(CURDIR)/debian/tor/usr/share/tor/geoip $(CURDIR)/debian/tor-geoipdb/usr/share/tor - rmdir $(CURDIR)/debian/tor/usr/share/tor || true - - install -d -m 755 $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb - ln -s ../tor/changelog.gz $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb - ln -s ../tor/changelog.Debian.gz $(CURDIR)/debian/tor-geoipdb/usr/share/doc/tor-geoipdb - - install -m 644 debian/tor-geoipdb.lintian-override $(CURDIR)/debian/tor-geoipdb/usr/share/lintian/overrides/tor-geoipdb - -# Must not depend on anything. This is to be called by -# binary-arch/binary-indep -# in another 'make' thread. -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs --package=tor ChangeLog - dh_installdocs - dh_installexamples - dh_installlogrotate - dh_installinit - dh_installman - dh_link - dh_strip --dbg-package=tor-dbg - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -# Build architecture independant packages using the common target. -binary-indep: install - $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common - -# Build architecture dependant packages using the common target. -binary-arch: install - $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common - @if [ "$(LOCALHOST_IP)" != "127.0.0.1" ]; then echo; echo; echo; echo; echo; echo "######################################################################"; echo "WARNING: This system does not think localhost is 127.0.0.1. Result of testsuite has been ignored. Please fix your system/chroot."; echo "######################################################################"; echo; echo; echo; echo; echo "Note: 'getent hosts localhost' should return '127.0.0.1 localhost'"; echo; fi - -binary: binary-indep binary-arch -.PHONY: build clean binary-common binary-indep binary-arch binary install diff --git a/debian/src-test-test.h b/debian/src-test-test.h deleted file mode 100644 index 550c57a812..0000000000 --- a/debian/src-test-test.h +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (c) 2001-2003, Roger Dingledine. - * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. - * Copyright (c) 2007-2010, The Tor Project, Inc. */ -/* See LICENSE for licensing information */ - -#ifndef _TOR_TEST_H -#define _TOR_TEST_H - -/** - * \file test.h - * \brief Macros and functions used by unit tests. - */ - -#include "compat.h" -#include "tinytest.h" -#define TT_EXIT_TEST_FUNCTION STMT_BEGIN goto done; STMT_END -#include "tinytest_macros.h" - -#ifdef __GNUC__ -#define PRETTY_FUNCTION __PRETTY_FUNCTION__ -#else -#define PRETTY_FUNCTION "" -#endif - -#define test_fail_msg(msg) TT_DIE((msg)) - -#define test_fail() test_fail_msg("Assertion failed.") - -#define test_assert(expr) tt_assert(expr) - -#define test_eq(expr1, expr2) tt_int_op((expr1), ==, (expr2)) -#define test_eq_ptr(expr1, expr2) tt_ptr_op((expr1), ==, (expr2)) -#define test_neq(expr1, expr2) tt_int_op((expr1), !=, (expr2)) -#define test_neq_ptr(expr1, expr2) tt_ptr_op((expr1), !=, (expr2)) -#define test_streq(expr1, expr2) tt_str_op((expr1), ==, (expr2)) -#define test_strneq(expr1, expr2) tt_str_op((expr1), !=, (expr2)) -#define test_streq(expr1, expr2) tt_str_op((expr1), ==, (expr2)) - -#define test_mem_op(expr1, op, expr2, len) \ - tt_assert_test_fmt_type(expr1,expr2,#expr1" "#op" "#expr2, \ - const char *, \ - (memcmp(_val1, _val2, len) op 0), \ - char *, "%s", \ - { size_t printlen = (len)*2+1; \ - _print = tor_malloc(printlen); \ - base16_encode(_print, printlen, _value, \ - (len)); }, \ - { tor_free(_print); } \ - ); - -#define test_memeq(expr1, expr2, len) test_mem_op((expr1), ==, (expr2), len) -#define test_memneq(expr1, expr2, len) test_mem_op((expr1), !=, (expr2), len) - -/* As test_mem_op, but decodes 'hex' before comparing. There must be a - * local char* variable called mem_op_hex_tmp for this to work. */ -#define test_mem_op_hex(expr1, op, hex) \ - STMT_BEGIN \ - size_t length = strlen(hex); \ - tor_free(mem_op_hex_tmp); \ - mem_op_hex_tmp = tor_malloc(length/2); \ - tor_assert((length&1)==0); \ - base16_decode(mem_op_hex_tmp, length/2, hex, length); \ - test_mem_op(expr1, op, mem_op_hex_tmp, length/2); \ - STMT_END - -#define test_memeq_hex(expr1, hex) test_mem_op_hex(expr1, ==, hex) - -const char *get_fname(const char *name); -crypto_pk_env_t *pk_generate(int idx); - -void legacy_test_helper(void *data); -extern const struct testcase_setup_t legacy_setup; - -#endif - diff --git a/debian/tor-geoipdb.copyright b/debian/tor-geoipdb.copyright deleted file mode 100644 index 7df15345d9..0000000000 --- a/debian/tor-geoipdb.copyright +++ /dev/null @@ -1,35 +0,0 @@ -This geo-ip database was downloaded as part of the Tor distribution -from . - - -It is the IP-to-Country Database provided by WebHosting.Info -(http://www.webhosting.info), available from -http://ip-to-country.webhosting.info. - - -Copyright (c) 2003 Direct Information Pvt. Ltd. All Rights Reserved. - -All usage, reproduction, modification and derivative works created from, and -distribution and publication of the IP-to-Country Database and your derivative -works thereof must keep intact all copyright notices and give credit by -displaying the following acknowledgment by replacing 'work' with one of the -following: script, product, page, service or application: - -"This 'work' uses the IP-to-Country Database - provided by WebHosting.Info (http://www.webhosting.info), - available from http://ip-to-country.webhosting.info." - -BECAUSE THE DATABASE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE -DATABASE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE -STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE -DATABASE "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 OR ANY WARRANTIES REGARDING THE CONTENTS OR -ACCURACY OF THE WORK. - -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 -DATABASE 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 DATABASE, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN -ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/debian/tor-geoipdb.dirs b/debian/tor-geoipdb.dirs deleted file mode 100644 index ae82aa920c..0000000000 --- a/debian/tor-geoipdb.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/share/tor -usr/share/lintian/overrides diff --git a/debian/tor-geoipdb.lintian-override b/debian/tor-geoipdb.lintian-override deleted file mode 100644 index 2e0bee595b..0000000000 --- a/debian/tor-geoipdb.lintian-override +++ /dev/null @@ -1 +0,0 @@ -tor-geoipdb: debian-changelog-file-is-a-symlink diff --git a/debian/tor.NEWS b/debian/tor.NEWS deleted file mode 100644 index 18860ccaae..0000000000 --- a/debian/tor.NEWS +++ /dev/null @@ -1,16 +0,0 @@ -tor (0.2.0.26-rc-1) experimental; urgency=critical - - * weak cryptographic keys - - It has been discovered that the random number generator in Debian's - openssl package is predictable. This is caused by an incorrect - Debian-specific change to the openssl package (CVE-2008-0166). As a - result, cryptographic key material may be guessable. - - See Debian Security Advisory number 1571 (DSA-1571) for more information: - http://lists.debian.org/debian-security-announce/2008/msg00152.html - - If you run a Tor server using this package please see - /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY - - -- Peter Palfrader Tue, 13 May 2008 12:49:05 +0200 diff --git a/debian/tor.default b/debian/tor.default deleted file mode 100644 index 1ae1e15861..0000000000 --- a/debian/tor.default +++ /dev/null @@ -1,39 +0,0 @@ -# Defaults for tor initscript -# sourced by /etc/init.d/tor -# installed at /etc/default/tor by the maintainer scripts - -# -# This is a bash shell fragment -# -RUN_DAEMON="yes" - -# -# Servers sometimes may need more than the default 1024 file descriptors -# if they are very busy and have many clients connected to them. The top -# servers as of early 2008 regularly have more than 10000 connected -# clients. -# (ulimit -n) -# -# (the default varies as it depends on the number of available system-wide file -# descriptors. See the init script in /etc/init.d/tor for details.) -# -# MAX_FILEDESCRIPTORS= - -# -# If tor is seriously hogging your CPU, taking away too much cycles from -# other system resources, then you can renice tor. See nice(1) for a -# bit more information. Another way to limit the CPU usage of an Onion -# Router is to set a lower BandwidthRate, as CPU usage is mostly a function -# of the amount of traffic flowing through your node. Consult the torrc(5) -# manual page for more information on setting BandwidthRate. -# -# NICE="--nicelevel 5" - -# Additional arguments to pass on tor's command line. -# -# ARGS="" - -# -# Uncomment this if you want to get coredumps -# -ulimit -c unlimited diff --git a/debian/tor.dirs b/debian/tor.dirs deleted file mode 100644 index 72d914a77b..0000000000 --- a/debian/tor.dirs +++ /dev/null @@ -1,6 +0,0 @@ -etc/tor -var/lib/tor -var/log/tor -usr/share/lintian/overrides -usr/bin -usr/sbin diff --git a/debian/tor.docs b/debian/tor.docs deleted file mode 100644 index 40dfa469cd..0000000000 --- a/debian/tor.docs +++ /dev/null @@ -1,9 +0,0 @@ -AUTHORS -debian/README.Debian -debian/README.privoxy -doc/HACKING -doc/TODO -doc/design-paper/tor-design.pdf -doc/design-paper/tor-design.ps -doc/website/stylesheet.css -doc/website/tor-* diff --git a/debian/tor.init b/debian/tor.init deleted file mode 100644 index b018847c08..0000000000 --- a/debian/tor.init +++ /dev/null @@ -1,191 +0,0 @@ -#! /bin/bash - -### BEGIN INIT INFO -# Provides: tor -# Required-Start: $local_fs $remote_fs $network $named $time -# Required-Stop: $local_fs $remote_fs $network $named $time -# Should-Start: $syslog -# Should-Stop: $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Starts The Onion Router daemon processes -# Description: Start The Onion Router, a TCP overlay -# network client that provides anonymous -# transport. -### END INIT INFO - -set -e - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/sbin/tor -NAME=tor -DESC="tor daemon" -TORPIDDIR=/var/run/tor -TORPID=$TORPIDDIR/tor.pid -DEFAULTSFILE=/etc/default/$NAME -WAITFORDAEMON=60 -ARGS="" -# Let's try to figure our some sane defaults: -if [ -r /proc/sys/fs/file-max ]; then - system_max=`cat /proc/sys/fs/file-max` - if [ "$system_max" -gt "80000" ] ; then - MAX_FILEDESCRIPTORS=32768 - elif [ "$system_max" -gt "40000" ] ; then - MAX_FILEDESCRIPTORS=16384 - elif [ "$system_max" -gt "10000" ] ; then - MAX_FILEDESCRIPTORS=8192 - else - MAX_FILEDESCRIPTORS=1024 - cat << EOF - -Warning: Your system has very few filedescriptors available in total. - -Maybe you should try raising that by adding 'fs.file-max=100000' to your -/etc/sysctl.conf file. Feel free to pick any number that you deem appropriate. -Then run 'sysctl -p'. See /proc/sys/fs/file-max for the current value, and -file-nr in the same directory for how many of those are used at the moment. - -EOF - fi -else - MAX_FILEDESCRIPTORS=8192 -fi - -NICE="" - -test -x $DAEMON || exit 0 - -# Include tor defaults if available -if [ -f $DEFAULTSFILE ] ; then - . $DEFAULTSFILE -fi - -wait_for_deaddaemon () { - pid=$1 - sleep 1 - if test -n "$pid" - then - if kill -0 $pid 2>/dev/null - then - echo -n "." - cnt=0 - while kill -0 $pid 2>/dev/null - do - cnt=`expr $cnt + 1` - if [ $cnt -gt $WAITFORDAEMON ] - then - echo " FAILED." - return 1 - fi - sleep 1 - echo -n "." - done - fi - fi - return 0 -} - - -check_torpiddir () { - if test ! -d $TORPIDDIR; then - #echo "There is no $TORPIDDIR directory. Creating one for you." - mkdir -m 02700 "$TORPIDDIR" - chown debian-tor:debian-tor "$TORPIDDIR" - fi - - if test ! -x $TORPIDDIR; then - echo "Cannot access $TORPIDDIR directory, are you root?" >&2 - exit 1 - fi -} - -check_config () { - if ! $DAEMON --verify-config > /dev/null; then - echo "ABORTED: Tor configuration invalid:" >&2 - $DAEMON --verify-config >&2 - exit 1 - fi -} - - -case "$1" in - start) - if [ "$RUN_DAEMON" != "yes" ]; then - echo "Not starting $DESC (Disabled in $DEFAULTSFILE)." - exit 0 - fi - - if [ -n "$MAX_FILEDESCRIPTORS" ]; then - echo -n "Raising maximum number of filedescriptors (ulimit -n) to $MAX_FILEDESCRIPTORS" - if ulimit -n "$MAX_FILEDESCRIPTORS" ; then - echo "." - else - echo ": FAILED." - fi - fi - - check_torpiddir - - echo "Starting $DESC: $NAME..." - check_config - - start-stop-daemon --start --quiet --oknodo \ - --pidfile $TORPID \ - $NICE \ - --exec $DAEMON -- $ARGS - echo "done." - ;; - stop) - echo -n "Stopping $DESC: " - pid=`cat $TORPID 2>/dev/null` || true - - if test ! -f $TORPID -o -z "$pid"; then - echo "not running (there is no $TORPID)." - exit 0 - fi - - if start-stop-daemon --stop --signal INT --quiet --pidfile $TORPID --exec $DAEMON; then - wait_for_deaddaemon $pid - echo "$NAME." - elif kill -0 $pid 2>/dev/null - then - echo "FAILED (Is $pid not $NAME? Is $DAEMON a different binary now?)." - else - echo "FAILED ($DAEMON died: process $pid not running; or permission denied)." - fi - ;; - reload|force-reload) - echo -n "Reloading $DESC configuration: " - pid=`cat $TORPID 2>/dev/null` || true - - if test ! -f $TORPID -o -z "$pid"; then - echo "not running (there is no $TORPID)." - exit 0 - fi - - check_config - - if start-stop-daemon --stop --signal 1 --quiet --pidfile $TORPID --exec $DAEMON - then - echo "$NAME." - elif kill -0 $pid 2>/dev/null - then - echo "FAILED (Is $pid not $NAME? Is $DAEMON a different binary now?)." - else - echo "FAILED ($DAEMON died: process $pid not running; or permission denied)." - fi - ;; - restart) - check_config - - $0 stop - sleep 1 - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/debian/tor.lintian-override b/debian/tor.lintian-override deleted file mode 100644 index 192b63b66f..0000000000 --- a/debian/tor.lintian-override +++ /dev/null @@ -1 +0,0 @@ -tor: package-contains-upstream-install-documentation diff --git a/debian/tor.logrotate b/debian/tor.logrotate deleted file mode 100644 index 6e73fee344..0000000000 --- a/debian/tor.logrotate +++ /dev/null @@ -1,13 +0,0 @@ -/var/log/tor/*log { - daily - rotate 5 - compress - delaycompress - missingok - notifempty - create 0640 debian-tor adm - sharedscripts - postrotate - /etc/init.d/tor reload > /dev/null - endscript -} diff --git a/debian/tor.postinst b/debian/tor.postinst deleted file mode 100644 index b9ac61596f..0000000000 --- a/debian/tor.postinst +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/sh -e - -# checking debian-tor account - -uid=`getent passwd debian-tor | cut -d ":" -f 3` -home=`getent passwd debian-tor | cut -d ":" -f 6` - -# if there is the uid the account is there and we can do -# the sanit(ar)y checks otherwise we can safely create it. - -if [ "$uid" ]; then - if [ "$home" = "/var/lib/tor" ]; then - : - #echo "debian-tor homedir check: ok" - else - echo "ERROR: debian-tor account has an unexpected home directory!" - echo "It should be '/var/lib/tor', but it is '$home'." - echo "Removing the debian-tor user might fix this, but the question" - echo "remains how you got into this mess to begin with." - exit 1 - fi -else - adduser --quiet \ - --system \ - --disabled-password \ - --home /var/lib/tor \ - --no-create-home \ - --shell /bin/bash \ - --group \ - debian-tor -fi - - -for i in lib run log; do - if ! [ -d "/var/$i/tor" ]; then - echo "Something or somebody made /var/$i/tor disappear." - echo "Creating one for you again." - mkdir "/var/$i/tor" - fi -done - -find /var/lib/tor \( \( ! -user debian-tor \) -o \( ! -group debian-tor \) \) -print0 | xargs -0 --no-run-if-empty chown debian-tor:debian-tor -find /var/lib/tor -type d -print0 | xargs -0 --no-run-if-empty chmod 02700 -find /var/lib/tor -type f -print0 | xargs -0 --no-run-if-empty chmod 00600 - -if [ -e /var/run/tor ]; then - find /var/run/tor \( \( ! -user debian-tor \) -o \( ! -group debian-tor \) \) -print0 | xargs -0 --no-run-if-empty chown debian-tor:debian-tor - find /var/run/tor -type d -print0 | xargs -0 --no-run-if-empty chmod 02750 - find /var/run/tor -type f -print0 | xargs -0 --no-run-if-empty chmod 00600 -fi - -find /var/log/tor \( \( ! -user debian-tor \) -o \( ! -group adm \) \) -print0 | xargs -0 --no-run-if-empty chown debian-tor:adm -find /var/log/tor -type d -print0 | xargs -0 --no-run-if-empty chmod 02750 -find /var/log/tor -type f -print0 | xargs -0 --no-run-if-empty chmod 00640 - - -move_away_keys=0 - -if [ "$1" = "configure" ] && - [ -e /var/lib/tor/keys ] && - [ ! -z "$2" ]; then - if dpkg --compare-versions "$2" lt 0.1.2.19-2; then - move_away_keys=1 - elif dpkg --compare-versions "$2" gt 0.2.0 && - dpkg --compare-versions "$2" lt 0.2.0.26-rc; then - move_away_keys=1 - fi -fi -if [ "$move_away_keys" = "1" ]; then - echo "Retiring possibly compromised keys. See /usr/share/doc/tor/NEWS.Debian.gz" - echo "and /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY for" - echo "further information." - if ! [ -d /var/lib/tor/keys/moved-away-by-tor-package ]; then - mkdir /var/lib/tor/keys/moved-away-by-tor-package - cat > /var/lib/tor/keys/moved-away-by-tor-package/README.REALLY << EOF -It has been discovered that the random number generator in Debian's -openssl package is predictable. This is caused by an incorrect -Debian-specific change to the openssl package (CVE-2008-0166). As a -result, cryptographic key material may be guessable. - -See Debian Security Advisory number 1571 (DSA-1571) for more information: -http://lists.debian.org/debian-security-announce/2008/msg00152.html - -The Debian package for Tor has moved away the onion keys upon package -upgrade, and it will have moved away your identity key if it was created -in the affected timeframe. There is no sure way to automatically tell -if your key was created with an affected openssl library, so this move -is done unconditionally. - -If you have restarted Tor since this change (and the package probably -did that for you already unless you configured your system differently) -then the Tor daemon already created new keys for itself and in all -likelyhood is already working just fine with new keys. - -If you are absolutely certain that your identity key was created with -a non-affected version of openssl and for some reason you have to retain -the old identity, then you can move back the copy of secret_id_key to -/var/lib/tor/keys. Do not move back the onion keys, they were created -only recently since they are temporary keys with a lifetime of only a few -days anyway. - -Sincerely, -Peter Palfrader, Tue, 13 May 2008 13:32:23 +0200 -EOF - fi - for f in secret_onion_key secret_onion_key.old; do - if [ -e /var/lib/tor/keys/"$f" ]; then - mv -v /var/lib/tor/keys/"$f" /var/lib/tor/keys/moved-away-by-tor-package/"$f" - fi - done - if [ -e /var/lib/tor/keys/secret_id_key ]; then - id_mtime=`/usr/bin/stat -c %Y /var/lib/tor/keys/secret_id_key` - sept=`date -d '2006-09-10' +%s` - if [ "$id_mtime" -gt "$sept" ] ; then - mv -v /var/lib/tor/keys/secret_id_key /var/lib/tor/keys/moved-away-by-tor-package/secret_id_key - fi - fi -fi - - -#DEBHELPER# - -exit 0 diff --git a/debian/tor.postrm b/debian/tor.postrm deleted file mode 100644 index cb3707e27f..0000000000 --- a/debian/tor.postrm +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -e - -if [ "$1" = "purge" ]; then - # logs have to be removed according to policy. - rm -rf /var/log/tor/ - rm -rf /var/lib/tor/ -fi - -#DEBHELPER# - -exit 0 diff --git a/debian/watch b/debian/watch deleted file mode 100644 index 26dad04bf6..0000000000 --- a/debian/watch +++ /dev/null @@ -1,2 +0,0 @@ -version=2 -http://tor.eff.org/dist/tor-(.*)\.tar\.gz