diff --git a/Bugzilla.pm b/Bugzilla.pm
index a373aa801e2a18b1d1d48cf4d909e873500c31bc..3c547b9800e132e9bc163ad3c7e1a3e0a8d2ba6b 100644
--- a/Bugzilla.pm
+++ b/Bugzilla.pm
@@ -43,7 +43,6 @@ use Bugzilla::CGI;
 use Bugzilla::DB;
 use Bugzilla::Install::Localconfig qw(read_localconfig);
 use Bugzilla::Install::Requirements qw(OPTIONAL_MODULES);
-use Bugzilla::JobQueue;
 use Bugzilla::Template;
 use Bugzilla::User;
 use Bugzilla::Error;
@@ -234,6 +233,22 @@ sub cgi {
     return $class->request_cache->{cgi};
 }
 
+sub input_params {
+    my ($class, $params) = @_;
+    my $cache = $class->request_cache;
+    # This is how the WebService and other places set input_params.
+    if (defined $params) {
+        $cache->{input_params} = $params;
+    }
+    return $cache->{input_params} if defined $cache->{input_params};
+
+    # Making this scalar makes it a tied hash to the internals of $cgi,
+    # so if a variable is changed, then it actually changes the $cgi object
+    # as well.
+    $cache->{input_params} = $class->cgi->Vars;
+    return $cache->{input_params};
+}
+
 sub localconfig {
     my $class = shift;
     $class->request_cache->{localconfig} ||= read_localconfig();
@@ -363,6 +378,7 @@ sub logout_request {
 
 sub job_queue {
     my $class = shift;
+    require Bugzilla::JobQueue;
     $class->request_cache->{job_queue} ||= Bugzilla::JobQueue->new();
     return $class->request_cache->{job_queue};
 }
@@ -539,7 +555,11 @@ sub local_timezone {
 sub request_cache {
     if ($ENV{MOD_PERL}) {
         require Apache2::RequestUtil;
-        return Apache2::RequestUtil->request->pnotes();
+        # Sometimes (for example, during mod_perl.pl), the request
+        # object isn't available, and we should use $_request_cache instead.
+        my $request = eval { Apache2::RequestUtil->request };
+        return $_request_cache if !$request;
+        return $request->pnotes();
     }
     return $_request_cache;
 }
@@ -647,6 +667,26 @@ The current C<cgi> object. Note that modules should B<not> be using this in
 general. Not all Bugzilla actions are cgi requests. Its useful as a convenience
 method for those scripts/templates which are only use via CGI, though.
 
+=item C<input_params>
+
+When running under the WebService, this is a hashref containing the arguments
+passed to the WebService method that was called. When running in a normal
+script, this is a hashref containing the contents of the CGI parameters.
+
+Modifying this hashref will modify the CGI parameters or the WebService
+arguments (depending on what C<input_params> currently represents).
+
+This should be used instead of L</cgi> in situations where your code
+could be being called by either a normal CGI script or a WebService method,
+such as during a code hook.
+
+B<Note:> When C<input_params> represents the CGI parameters, any
+parameter specified more than once (like C<foo=bar&foo=baz>) will appear
+as an arrayref in the hash, but any value specified only once will appear
+as a scalar. This means that even if a value I<can> appear multiple times,
+if it only I<does> appear once, then it will be a scalar in C<input_params>,
+not an arrayref.
+
 =item C<user>
 
 C<undef> if there is no currently logged in user or if the login code has not
diff --git a/Bugzilla/Attachment/CVS/Entries b/Bugzilla/Attachment/CVS/Entries
index 0663a3c366ad725508f5f75d0e64ae473d531616..d0faa439d4bcd32d2fce06e30b6f3ed93846c7fd 100644
--- a/Bugzilla/Attachment/CVS/Entries
+++ b/Bugzilla/Attachment/CVS/Entries
@@ -1,2 +1,2 @@
-/PatchReader.pm/1.6/Sun Jun 29 17:35:28 2008//TBUGZILLA-3_5_1
+/PatchReader.pm/1.6/Sun Jun 29 17:35:28 2008//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Attachment/CVS/Tag b/Bugzilla/Attachment/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Attachment/CVS/Tag
+++ b/Bugzilla/Attachment/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Auth/CVS/Entries b/Bugzilla/Auth/CVS/Entries
index 00c33ff310789fd6a9892d54180e14aa5eb56378..b3d6ed21fda2797f008d9842203999e0ad89cf08 100644
--- a/Bugzilla/Auth/CVS/Entries
+++ b/Bugzilla/Auth/CVS/Entries
@@ -1,5 +1,5 @@
-/Login.pm/1.1/Fri May 12 02:41:05 2006//TBUGZILLA-3_5_1
-/Verify.pm/1.7/Wed May 23 18:05:49 2007//TBUGZILLA-3_5_1
+/Login.pm/1.1/Fri May 12 02:41:05 2006//TBUGZILLA-3_5_2
+/Verify.pm/1.7/Wed May 23 18:05:49 2007//TBUGZILLA-3_5_2
 D/Login////
 D/Persist////
 D/Verify////
diff --git a/Bugzilla/Auth/CVS/Tag b/Bugzilla/Auth/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Auth/CVS/Tag
+++ b/Bugzilla/Auth/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Auth/Login/CGI.pm b/Bugzilla/Auth/Login/CGI.pm
index a93bc3d3a33b3f8d44b0f37b84c65b14a96a98ee..407582af4fc10b639a208d81db694a27964ebd97 100644
--- a/Bugzilla/Auth/Login/CGI.pm
+++ b/Bugzilla/Auth/Login/CGI.pm
@@ -40,12 +40,10 @@ use Bugzilla::Error;
 
 sub get_login_info {
     my ($self) = @_;
-    my $cgi = Bugzilla->cgi;
-
-    my $username = trim($cgi->param("Bugzilla_login"));
-    my $password = $cgi->param("Bugzilla_password");
+    my $params = Bugzilla->input_params;
 
-    $cgi->delete('Bugzilla_login', 'Bugzilla_password');
+    my $username = trim(delete $params->{"Bugzilla_login"});
+    my $password = delete $params->{"Bugzilla_password"};
 
     if (!defined $username || !defined $password) {
         return { failure => AUTH_NODATA };
diff --git a/Bugzilla/Auth/Login/CVS/Entries b/Bugzilla/Auth/Login/CVS/Entries
index 1bab5b584c9ddb5d3cb53d92308ec8ee659fa8a1..db68b145fb1d69c5aaa3e6807229e90064aaccc3 100644
--- a/Bugzilla/Auth/Login/CVS/Entries
+++ b/Bugzilla/Auth/Login/CVS/Entries
@@ -1,5 +1,5 @@
-/CGI.pm/1.13/Fri Oct  9 04:31:10 2009//TBUGZILLA-3_5_1
-/Cookie.pm/1.6/Sun Oct 18 23:34:57 2009//TBUGZILLA-3_5_1
-/Env.pm/1.4/Mon Jul  3 21:42:46 2006//TBUGZILLA-3_5_1
-/Stack.pm/1.3/Fri Apr 17 21:57:12 2009//TBUGZILLA-3_5_1
+/CGI.pm/1.14/Mon Nov  9 19:15:29 2009//TBUGZILLA-3_5_2
+/Cookie.pm/1.6/Sun Oct 18 23:34:57 2009//TBUGZILLA-3_5_2
+/Env.pm/1.4/Mon Jul  3 21:42:46 2006//TBUGZILLA-3_5_2
+/Stack.pm/1.3/Fri Apr 17 21:57:12 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Auth/Login/CVS/Tag b/Bugzilla/Auth/Login/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Auth/Login/CVS/Tag
+++ b/Bugzilla/Auth/Login/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Auth/Persist/CVS/Entries b/Bugzilla/Auth/Persist/CVS/Entries
index f41bcbdc60978f5fa92b0f1c6c058623bf420bf9..1dda973ad10baf758f45a63e091721c1bffe903f 100644
--- a/Bugzilla/Auth/Persist/CVS/Entries
+++ b/Bugzilla/Auth/Persist/CVS/Entries
@@ -1,2 +1,2 @@
-/Cookie.pm/1.11/Sun Oct 18 23:34:58 2009//TBUGZILLA-3_5_1
+/Cookie.pm/1.12/Mon Nov  9 19:15:29 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Auth/Persist/CVS/Tag b/Bugzilla/Auth/Persist/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Auth/Persist/CVS/Tag
+++ b/Bugzilla/Auth/Persist/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Auth/Persist/Cookie.pm b/Bugzilla/Auth/Persist/Cookie.pm
index 4458e31b5a08442ecaff4a756e1d97cc2646dfee..1e1b3a87178253feb0faa5fb7fba2f7fc3b04d6b 100644
--- a/Bugzilla/Auth/Persist/Cookie.pm
+++ b/Bugzilla/Auth/Persist/Cookie.pm
@@ -48,9 +48,10 @@ sub persist_login {
     my ($self, $user) = @_;
     my $dbh = Bugzilla->dbh;
     my $cgi = Bugzilla->cgi;
+    my $input_params = Bugzilla->input_params;
 
     my $ip_addr;
-    if ($cgi->param('Bugzilla_restrictlogin')) {
+    if ($input_params->{'Bugzilla_restrictlogin'}) {
         $ip_addr = $cgi->remote_addr;
         # The IP address is valid, at least for comparing with itself in a
         # subsequent login
@@ -80,8 +81,8 @@ sub persist_login {
     # or admin didn't forbid it and user told to remember.
     if ( Bugzilla->params->{'rememberlogin'} eq 'on' ||
          (Bugzilla->params->{'rememberlogin'} ne 'off' &&
-          $cgi->param('Bugzilla_remember') &&
-          $cgi->param('Bugzilla_remember') eq 'on') ) 
+          $input_params->{'Bugzilla_remember'} &&
+          $input_params->{'Bugzilla_remember'} eq 'on') ) 
     {
         # Not a session cookie, so set an infinite expiry
         $cookieargs{'-expires'} = 'Fri, 01-Jan-2038 00:00:00 GMT';
diff --git a/Bugzilla/Auth/Verify/CVS/Entries b/Bugzilla/Auth/Verify/CVS/Entries
index 529c6da5558743631f7e5d6a0d772ec2ed7214ae..f78d6258a89d3c5739f7448499a4864329b2b204 100644
--- a/Bugzilla/Auth/Verify/CVS/Entries
+++ b/Bugzilla/Auth/Verify/CVS/Entries
@@ -1,5 +1,5 @@
-/DB.pm/1.10/Fri Jan  2 09:11:50 2009//TBUGZILLA-3_5_1
-/LDAP.pm/1.18/Mon Oct 20 18:35:51 2008//TBUGZILLA-3_5_1
-/RADIUS.pm/1.1/Thu Aug  2 22:38:37 2007//TBUGZILLA-3_5_1
-/Stack.pm/1.3/Fri Apr 17 21:57:19 2009//TBUGZILLA-3_5_1
+/DB.pm/1.10/Fri Jan  2 09:11:50 2009//TBUGZILLA-3_5_2
+/LDAP.pm/1.18/Mon Oct 20 18:35:51 2008//TBUGZILLA-3_5_2
+/RADIUS.pm/1.1/Thu Aug  2 22:38:37 2007//TBUGZILLA-3_5_2
+/Stack.pm/1.3/Fri Apr 17 21:57:19 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Auth/Verify/CVS/Tag b/Bugzilla/Auth/Verify/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Auth/Verify/CVS/Tag
+++ b/Bugzilla/Auth/Verify/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 14fe20c02451552b65b58df03dceec61898c644f..c27f23823439124d4dd5b3642aa7ef724755df46 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -46,6 +46,7 @@ use Bugzilla::Product;
 use Bugzilla::Component;
 use Bugzilla::Group;
 use Bugzilla::Status;
+use Bugzilla::Comment;
 
 use List::Util qw(min);
 use Storable qw(dclone);
@@ -589,10 +590,10 @@ sub run_create_validators {
         $class->_check_qa_contact($params->{qa_contact}, $component);
     $params->{cc} = $class->_check_cc($component, $params->{cc});
 
-    # Callers cannot set Reporter, currently.
+    # Callers cannot set reporter, creation_ts, or delta_ts.
     $params->{reporter} = $class->_check_reporter();
-
-    $params->{creation_ts} ||= Bugzilla->dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)');
+    $params->{creation_ts} = 
+        Bugzilla->dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)');
     $params->{delta_ts} = $params->{creation_ts};
 
     if ($params->{estimated_time}) {
@@ -612,6 +613,9 @@ sub run_create_validators {
     delete $params->{lastdiffed};
     delete $params->{bug_id};
 
+    Bugzilla::Hook::process('bug-end_of_create_validators',
+                            { params => $params });
+
     return $params;
 }
 
@@ -1220,10 +1224,9 @@ sub _check_deadline {
     my ($invocant, $date) = @_;
     
     # Check time-tracking permissions.
-    my $tt_group = Bugzilla->params->{"timetrackinggroup"};
     # deadline() returns '' instead of undef if no deadline is set.
     my $current = ref $invocant ? ($invocant->deadline || undef) : undef;
-    return $current unless $tt_group && Bugzilla->user->in_group($tt_group);
+    return $current unless Bugzilla->user->is_timetracker;
     
     # Validate entered deadline
     $date = trim($date);
@@ -1671,8 +1674,7 @@ sub _check_time {
     if (ref $invocant && $field ne 'work_time') {
         $current = $invocant->$field;
     }
-    my $tt_group = Bugzilla->params->{"timetrackinggroup"};
-    return $current unless $tt_group && Bugzilla->user->in_group($tt_group);
+    return $current unless Bugzilla->user->is_timetracker;
     
     $time = trim($time) || 0;
     ValidateTime($time, $field);
@@ -1835,12 +1837,12 @@ sub set_cclist_accessible { $_[0]->set('cclist_accessible', $_[1]); }
 sub set_comment_is_private {
     my ($self, $comment_id, $isprivate) = @_;
     return unless Bugzilla->user->is_insider;
-    my ($comment) = grep($comment_id eq $_->{id}, @{$self->longdescs});
+    my ($comment) = grep($comment_id == $_->id, @{ $self->comments });
     ThrowUserError('comment_invalid_isprivate', { id => $comment_id }) 
         if !$comment;
 
     $isprivate = $isprivate ? 1 : 0;
-    if ($isprivate != $comment->{isprivate}) {
+    if ($isprivate != $comment->is_private) {
         $self->{comment_isprivate} ||= {};
         $self->{comment_isprivate}->{$comment_id} = $isprivate;
     }
@@ -2286,6 +2288,8 @@ sub add_group {
     $group = new Bugzilla::Group($group) unless ref $group;
     return unless $group;
 
+    return if !$group->is_active or !$group->is_bug_group;
+
     # Make sure that bugs in this product can actually be restricted
     # to this group.
     grep($group->id == $_->id, @{$self->product_obj->groups_valid})
@@ -2477,8 +2481,7 @@ sub actual_time {
     my ($self) = @_;
     return $self->{'actual_time'} if exists $self->{'actual_time'};
 
-    if ( $self->{'error'} || 
-         !Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"}) ) {
+    if ( $self->{'error'} || !Bugzilla->user->is_timetracker ) {
         $self->{'actual_time'} = undef;
         return $self->{'actual_time'};
     }
@@ -2665,12 +2668,38 @@ sub keyword_objects {
     return $self->{'keyword_objects'};
 }
 
-sub longdescs {
-    my ($self) = @_;
-    return $self->{'longdescs'} if exists $self->{'longdescs'};
+sub comments {
+    my ($self, $params) = @_;
     return [] if $self->{'error'};
-    $self->{'longdescs'} = GetComments($self->{bug_id});
-    return $self->{'longdescs'};
+    $params ||= {};
+
+    if (!defined $self->{'comments'}) {
+        $self->{'comments'} = Bugzilla::Comment->match({ bug_id => $self->id });
+        my $count = 0;
+        foreach my $comment (@{ $self->{'comments'} }) {
+            $comment->{count} = $count++;
+        }
+    }
+    my @comments = @{ $self->{'comments'} };
+
+    my $order = $params->{order} 
+        || Bugzilla->user->settings->{'comment_sort_order'}->{'value'};
+    if ($order ne 'oldest_to_newest') {
+        @comments = reverse @comments;
+        if ($order eq 'newest_to_oldest_desc_first') {
+            unshift(@comments, pop @comments);
+        }
+    }
+
+    if ($params->{after}) {
+        my $from = datetime_from($params->{after});
+        @comments = grep { datetime_from($_->creation_ts) > $from } @comments;
+    }
+    if ($params->{to}) {
+        my $to = datetime_from($params->{to});
+        @comments = grep { datetime_from($_->creation_ts) <= $to } @comments;
+    }
+    return \@comments;
 }
 
 sub milestoneurl {
@@ -2955,7 +2984,7 @@ sub update_comment {
       || ThrowCodeError('bad_arg', {argument => 'comment_id', function => 'update_comment'});
 
     # The comment ID must belong to this bug.
-    my @current_comment_obj = grep {$_->{'id'} == $comment_id} @{$self->longdescs};
+    my @current_comment_obj = grep {$_->id == $comment_id} @{$self->comments};
     scalar(@current_comment_obj)
       || ThrowCodeError('bad_arg', {argument => 'comment_id', function => 'update_comment'});
 
@@ -2972,7 +3001,7 @@ sub update_comment {
     $self->_sync_fulltext();
 
     # Update the comment object with this new text.
-    $current_comment_obj[0]->{'body'} = $new_comment;
+    $current_comment_obj[0]->{'thetext'} = $new_comment;
 }
 
 # Represents which fields from the bugs table are handled by process_bug.cgi.
@@ -3032,74 +3061,6 @@ sub ValidateTime {
     }
 }
 
-sub GetComments {
-    my ($id, $comment_sort_order, $start, $end, $raw) = @_;
-    my $dbh = Bugzilla->dbh;
-
-    $comment_sort_order = $comment_sort_order ||
-        Bugzilla->user->settings->{'comment_sort_order'}->{'value'};
-
-    my $sort_order = ($comment_sort_order eq "oldest_to_newest") ? 'asc' : 'desc';
-
-    my @comments;
-    my @args = ($id);
-
-    my $query = 'SELECT longdescs.comment_id AS id, profiles.userid, ' .
-                        $dbh->sql_date_format('longdescs.bug_when', '%Y.%m.%d %H:%i:%s') .
-                      ' AS time, longdescs.thetext AS body, longdescs.work_time,
-                        isprivate, already_wrapped, type, extra_data
-                   FROM longdescs
-             INNER JOIN profiles
-                     ON profiles.userid = longdescs.who
-                  WHERE longdescs.bug_id = ?';
-
-    if ($start) {
-        $query .= ' AND longdescs.bug_when > ?';
-        push(@args, $start);
-    }
-    if ($end) {
-        $query .= ' AND longdescs.bug_when <= ?';
-        push(@args, $end);
-    }
-
-    $query .= " ORDER BY longdescs.bug_when $sort_order";
-    my $sth = $dbh->prepare($query);
-    $sth->execute(@args);
-
-    # Cache the users we look up
-    my %users;
-
-    while (my $comment_ref = $sth->fetchrow_hashref()) {
-        my %comment = %$comment_ref;
-        $users{$comment{'userid'}} ||= new Bugzilla::User($comment{'userid'});
-        $comment{'author'} = $users{$comment{'userid'}};
-
-        # If raw data is requested, do not format 'special' comments.
-        $comment{'body'} = format_comment(\%comment) unless $raw;
-
-        push (@comments, \%comment);
-    }
-   
-    if ($comment_sort_order eq "newest_to_oldest_desc_first") {
-        unshift(@comments, pop @comments);
-    }
-
-    return \@comments;
-}
-
-# Format language specific comments.
-sub format_comment {
-    my $comment = shift;
-    my $template = Bugzilla->template_inner;
-    my $vars = {comment => $comment};
-    my $body;
-
-    $template->process("bug/format_comment.txt.tmpl", $vars, \$body)
-        || ThrowTemplateError($template->error());
-    $body =~ s/^X//;
-    return $body;
-}
-
 # Get the activity of a bug, starting from $starttime (if given).
 # This routine assumes Bugzilla::Bug->check has been previously called.
 sub GetBugActivity {
@@ -3126,8 +3087,7 @@ sub GetBugActivity {
     # Only includes attachments the user is allowed to see.
     my $suppjoins = "";
     my $suppwhere = "";
-    if (Bugzilla->params->{"insidergroup"} 
-        && !Bugzilla->user->in_group(Bugzilla->params->{'insidergroup'})) 
+    if (!Bugzilla->user->is_insider) 
     {
         $suppjoins = "LEFT JOIN attachments 
                    ON attachments.attach_id = bugs_activity.attach_id";
@@ -3167,8 +3127,7 @@ sub GetBugActivity {
             || $fieldname eq 'work_time'
             || $fieldname eq 'deadline')
         {
-            $activity_visible = 
-                Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'}) ? 1 : 0;
+            $activity_visible = Bugzilla->user->is_timetracker;
         } else {
             $activity_visible = 1;
         }
@@ -3456,8 +3415,7 @@ sub check_can_change_field {
     
     # Only users in the time-tracking group can change time-tracking fields.
     if ( grep($_ eq $field, qw(deadline estimated_time remaining_time)) ) {
-        my $tt_group = Bugzilla->params->{timetrackinggroup};
-        if (!$tt_group || !$user->in_group($tt_group)) {
+        if (!$user->is_timetracker) {
             $$PrivilegesRequired = 3;
             return 0;
         }
@@ -3644,7 +3602,7 @@ sub _validate_attribute {
     my @valid_attributes = (
         # Miscellaneous properties and methods.
         qw(error groups product_id component_id
-           longdescs milestoneurl attachments
+           comments milestoneurl attachments
            isopened isunconfirmed
            flag_types num_attachment_flag_types
            show_attachment_flags any_flags_requesteeble),
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index d654a139bd277535abecb721a50855231c9fcce3..2aff7daf4e3baad6e132923fb6ab418ae5cd4021 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -119,6 +119,7 @@ sub Send {
     my $msg = "";
 
     my $dbh = Bugzilla->dbh;
+    my $bug = new Bugzilla::Bug($id);
 
     # XXX - These variables below are useless. We could use field object
     # methods directly. But we first have to implement a cache in
@@ -356,7 +357,7 @@ sub Send {
         }
     }
 
-    my $comments = get_comments_by_bug($id, $start, $end);
+    my $comments = $bug->comments({ after => $start, to => $end });
 
     ###########################################################################
     # Start of email filtering code
@@ -569,7 +570,7 @@ sub sendMail {
     }
 
     if (!$user->is_insider) {
-        @send_comments = grep { !$_->{isprivate} } @send_comments;
+        @send_comments = grep { !$_->is_private } @send_comments;
     }
 
     if ($difftext eq "" && !scalar(@send_comments) && !$isnew) {
@@ -650,38 +651,4 @@ sub sendMail {
     return 1;
 }
 
-# Get bug comments for the given period.
-sub get_comments_by_bug {
-    my ($id, $start, $end) = @_;
-    my $dbh = Bugzilla->dbh;
-
-    my $result = "";
-    my $count = 0;
-
-    # $start will be undef for new bugs, and defined for pre-existing bugs.
-    if ($start) {
-        # If $start is not NULL, obtain the count-index
-        # of this comment for the leading "Comment #xxx" line.
-        $count = $dbh->selectrow_array('SELECT COUNT(*) FROM longdescs
-                                        WHERE bug_id = ? AND bug_when <= ?',
-                                        undef, ($id, $start));
-    }
-
-    my $raw = 1; # Do not format comments which are not of type CMT_NORMAL.
-    my $comments = Bugzilla::Bug::GetComments($id, "oldest_to_newest", $start, $end, $raw);
-    my $attach_base = correct_urlbase() . 'attachment.cgi?id=';
-
-    foreach my $comment (@$comments) {
-        $comment->{count} = $count++;
-        # If an attachment was created, then add an URL. (Note: the 'g'lobal
-        # replace should work with comments with multiple attachments.)
-        if ($comment->{body} =~ /Created an attachment \(/) {
-            $comment->{body} =~ s/(Created an attachment \(id=([0-9]+)\))/$1\n --> \($attach_base$2\)/g;
-        }
-        $comment->{body} = $comment->{'already_wrapped'} ? $comment->{body} : wrap_comment($comment->{body});
-    }
-
-    return $comments;
-}
-
 1;
diff --git a/Bugzilla/CGI.pm b/Bugzilla/CGI.pm
index 8c68f996c23c884416a43f74b0d575dc3435042f..bebff2d6304a93f0ef40ab193f32bd2b80f3b90e 100644
--- a/Bugzilla/CGI.pm
+++ b/Bugzilla/CGI.pm
@@ -416,6 +416,39 @@ sub url_is_attachment_base {
     return ($self->self_url =~ $regex) ? 1 : 0;
 }
 
+##########################
+# Vars TIEHASH Interface #
+##########################
+
+# Fix the TIEHASH interface (scalar $cgi->Vars) to return and accept 
+# arrayrefs.
+sub STORE {
+    my $self = shift;
+    my ($param, $value) = @_;
+    if (defined $value and ref $value eq 'ARRAY') {
+        return $self->param(-name => $param, -value => $value);
+    }
+    return $self->SUPER::STORE(@_);
+}
+
+sub FETCH {
+    my ($self, $param) = @_;
+    return $self if $param eq 'CGI'; # CGI.pm did this, so we do too.
+    my @result = $self->param($param);
+    return undef if !scalar(@result);
+    return $result[0] if scalar(@result) == 1;
+    return \@result;
+}
+
+# For the Vars TIEHASH interface: the normal CGI.pm DELETE doesn't return 
+# the value deleted, but Perl's "delete" expects that value.
+sub DELETE {
+    my ($self, $param) = @_;
+    my $value = $self->FETCH($param);
+    $self->delete($param);
+    return $value;
+}
+
 1;
 
 __END__
diff --git a/Bugzilla/CVS/Entries b/Bugzilla/CVS/Entries
index 8bb166ae1c353fdf881baed1a75a58585c9f0b11..5c64cb5d6c05a9caafc3ecf26cbe4c90d5a176f1 100644
--- a/Bugzilla/CVS/Entries
+++ b/Bugzilla/CVS/Entries
@@ -1,39 +1,40 @@
-/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-3_5_1
-/Attachment.pm/1.66/Mon Sep 28 17:24:41 2009//TBUGZILLA-3_5_1
-/Auth.pm/1.21/Tue Jan 20 20:09:46 2009//TBUGZILLA-3_5_1
-/Bug.pm/1.294/Sun Nov  1 20:12:26 2009//TBUGZILLA-3_5_1
-/BugMail.pm/1.130/Sat Oct 31 23:19:48 2009//TBUGZILLA-3_5_1
-/CGI.pm/1.50/Sat Oct 24 05:22:46 2009//TBUGZILLA-3_5_1
-/Chart.pm/1.18/Mon Aug 17 22:59:52 2009//TBUGZILLA-3_5_1
-/Classification.pm/1.14/Sun Jan  4 23:15:28 2009//TBUGZILLA-3_5_1
-/Component.pm/1.17/Sat Apr 11 23:33:26 2009//TBUGZILLA-3_5_1
-/Config.pm/1.80/Fri Oct  9 06:15:31 2009//TBUGZILLA-3_5_1
-/Constants.pm/1.116/Thu Nov  5 12:26:47 2009//TBUGZILLA-3_5_1
-/DB.pm/1.129/Sat Oct 24 05:30:15 2009//TBUGZILLA-3_5_1
-/Error.pm/1.25/Tue Mar 31 06:37:55 2009//TBUGZILLA-3_5_1
-/Field.pm/1.47/Sun Nov  1 19:49:24 2009//TBUGZILLA-3_5_1
-/Flag.pm/1.104/Tue Oct 27 23:08:40 2009//TBUGZILLA-3_5_1
-/FlagType.pm/1.39/Wed Sep 17 03:47:36 2008//TBUGZILLA-3_5_1
-/Group.pm/1.25/Wed Jul 22 19:29:37 2009//TBUGZILLA-3_5_1
-/Hook.pm/1.32/Tue Oct 20 23:08:03 2009//TBUGZILLA-3_5_1
-/Install.pm/1.23/Mon Aug  3 05:14:39 2009//TBUGZILLA-3_5_1
-/JobQueue.pm/1.2/Sat Oct 24 05:21:07 2009//TBUGZILLA-3_5_1
-/Keyword.pm/1.8/Tue Aug 11 04:34:21 2009//TBUGZILLA-3_5_1
-/Mailer.pm/1.28/Fri Oct  9 04:31:10 2009//TBUGZILLA-3_5_1
-/Migrate.pm/1.1/Sat Oct 24 05:30:15 2009//TBUGZILLA-3_5_1
-/Milestone.pm/1.12/Fri Jan 18 15:56:54 2008//TBUGZILLA-3_5_1
-/Object.pm/1.37/Sat Oct 24 05:26:35 2009//TBUGZILLA-3_5_1
-/Product.pm/1.40/Sat Oct 24 05:24:53 2009//TBUGZILLA-3_5_1
-/Search.pm/1.175/Tue Aug 18 22:09:35 2009//TBUGZILLA-3_5_1
-/Series.pm/1.20/Sun Oct  4 21:00:25 2009//TBUGZILLA-3_5_1
-/Status.pm/1.12/Thu Aug  6 14:59:37 2009//TBUGZILLA-3_5_1
-/Template.pm/1.112/Sat Oct 24 05:21:07 2009//TBUGZILLA-3_5_1
-/Token.pm/1.58/Mon Feb  9 19:18:59 2009//TBUGZILLA-3_5_1
-/Update.pm/1.11/Sat Oct 24 05:21:07 2009//TBUGZILLA-3_5_1
-/User.pm/1.195/Tue Nov  3 19:46:15 2009//TBUGZILLA-3_5_1
-/Util.pm/1.94/Sat Oct 24 05:26:35 2009//TBUGZILLA-3_5_1
-/Version.pm/1.15/Fri Apr 10 09:36:45 2009//TBUGZILLA-3_5_1
-/WebService.pm/1.19/Sat May  9 17:47:25 2009//TBUGZILLA-3_5_1
+/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-3_5_2
+/Attachment.pm/1.66/Mon Sep 28 17:24:41 2009//TBUGZILLA-3_5_2
+/Auth.pm/1.21/Tue Jan 20 20:09:46 2009//TBUGZILLA-3_5_2
+/Bug.pm/1.300/Wed Nov 18 07:15:23 2009//TBUGZILLA-3_5_2
+/BugMail.pm/1.131/Tue Nov 10 01:36:03 2009//TBUGZILLA-3_5_2
+/CGI.pm/1.51/Mon Nov  9 19:15:28 2009//TBUGZILLA-3_5_2
+/Chart.pm/1.18/Mon Aug 17 22:59:52 2009//TBUGZILLA-3_5_2
+/Classification.pm/1.14/Sun Jan  4 23:15:28 2009//TBUGZILLA-3_5_2
+/Comment.pm/1.1/Tue Nov 10 01:36:03 2009//TBUGZILLA-3_5_2
+/Component.pm/1.17/Sat Apr 11 23:33:26 2009//TBUGZILLA-3_5_2
+/Config.pm/1.80/Fri Oct  9 06:15:31 2009//TBUGZILLA-3_5_2
+/Constants.pm/1.119/Thu Nov 19 02:14:26 2009//TBUGZILLA-3_5_2
+/DB.pm/1.131/Wed Nov 18 07:08:33 2009//TBUGZILLA-3_5_2
+/Error.pm/1.25/Tue Mar 31 06:37:55 2009//TBUGZILLA-3_5_2
+/Field.pm/1.47/Sun Nov  1 19:49:24 2009//TBUGZILLA-3_5_2
+/Flag.pm/1.104/Tue Oct 27 23:08:40 2009//TBUGZILLA-3_5_2
+/FlagType.pm/1.39/Wed Sep 17 03:47:36 2008//TBUGZILLA-3_5_2
+/Group.pm/1.25/Wed Jul 22 19:29:37 2009//TBUGZILLA-3_5_2
+/Hook.pm/1.37/Wed Nov 18 07:17:51 2009//TBUGZILLA-3_5_2
+/Install.pm/1.23/Mon Aug  3 05:14:39 2009//TBUGZILLA-3_5_2
+/JobQueue.pm/1.3/Tue Nov 10 21:19:47 2009//TBUGZILLA-3_5_2
+/Keyword.pm/1.8/Tue Aug 11 04:34:21 2009//TBUGZILLA-3_5_2
+/Mailer.pm/1.28/Fri Oct  9 04:31:10 2009//TBUGZILLA-3_5_2
+/Migrate.pm/1.3/Tue Nov 17 21:16:08 2009//TBUGZILLA-3_5_2
+/Milestone.pm/1.12/Fri Jan 18 15:56:54 2008//TBUGZILLA-3_5_2
+/Object.pm/1.40/Wed Nov 18 07:17:51 2009//TBUGZILLA-3_5_2
+/Product.pm/1.40/Sat Oct 24 05:24:53 2009//TBUGZILLA-3_5_2
+/Search.pm/1.177/Mon Nov  9 20:54:50 2009//TBUGZILLA-3_5_2
+/Series.pm/1.20/Sun Oct  4 21:00:25 2009//TBUGZILLA-3_5_2
+/Status.pm/1.12/Thu Aug  6 14:59:37 2009//TBUGZILLA-3_5_2
+/Template.pm/1.115/Thu Nov 19 02:09:45 2009//TBUGZILLA-3_5_2
+/Token.pm/1.58/Mon Feb  9 19:18:59 2009//TBUGZILLA-3_5_2
+/Update.pm/1.11/Sat Oct 24 05:21:07 2009//TBUGZILLA-3_5_2
+/User.pm/1.196/Tue Nov 10 01:36:03 2009//TBUGZILLA-3_5_2
+/Util.pm/1.97/Wed Nov 18 18:23:32 2009//TBUGZILLA-3_5_2
+/Version.pm/1.15/Fri Apr 10 09:36:45 2009//TBUGZILLA-3_5_2
+/WebService.pm/1.20/Mon Nov  9 19:15:28 2009//TBUGZILLA-3_5_2
 D/Attachment////
 D/Auth////
 D/Config////
@@ -47,3 +48,4 @@ D/Search////
 D/Template////
 D/User////
 D/WebService////
+D/Whine////
diff --git a/Bugzilla/CVS/Tag b/Bugzilla/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/CVS/Tag
+++ b/Bugzilla/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm
new file mode 100644
index 0000000000000000000000000000000000000000..7072dbbee79240f810697c39c0733882146ba310
--- /dev/null
+++ b/Bugzilla/Comment.pm
@@ -0,0 +1,173 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is James Robson.
+# Portions created by James Robson are Copyright (c) 2009 James Robson.
+# All rights reserved.
+#
+# Contributor(s): James Robson <arbingersys@gmail.com> 
+
+use strict;
+
+package Bugzilla::Comment;
+
+use base qw(Bugzilla::Object);
+
+use Bugzilla::Constants;
+use Bugzilla::Error;
+use Bugzilla::Util;
+
+###############################
+####    Initialization     ####
+###############################
+
+use constant DB_COLUMNS => qw(
+    comment_id
+    bug_id
+    who
+    bug_when
+    work_time
+    thetext
+    isprivate
+    already_wrapped
+    type
+    extra_data
+);
+
+use constant DB_TABLE => 'longdescs';
+use constant ID_FIELD => 'comment_id';
+use constant LIST_ORDER => 'bug_when';
+
+###############################
+####      Accessors      ######
+###############################
+
+sub already_wrapped { return $_[0]->{'already_wrapped'}; }
+sub body        { return $_[0]->{'thetext'}; }
+sub bug_id      { return $_[0]->{'bug_id'}; }
+sub creation_ts { return $_[0]->{'bug_when'}; }
+sub is_private  { return $_[0]->{'isprivate'}; }
+sub work_time   { return $_[0]->{'work_time'}; }
+
+sub author { 
+    my $self = shift;
+    $self->{'author'} ||= new Bugzilla::User($self->{'who'});
+    return $self->{'author'};
+}
+
+sub body_full {
+    my ($self, $params) = @_;
+    $params ||= {};
+    my $template = Bugzilla->template_inner;
+    my $body;
+    $template->process("bug/format_comment.txt.tmpl", 
+                       { comment => $self, %$params }, \$body)
+        || ThrowTemplateError($template->error());
+    $body =~ s/^X//;
+    if ($params->{wrap} and !$self->already_wrapped) {
+        $body = wrap_comment($body);
+    }
+    return $body;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Bugzilla::Comment - A Comment for a given bug 
+
+=head1 SYNOPSIS
+
+ use Bugzilla::Comment;
+
+ my $comment = Bugzilla::Comment->new($comment_id);
+ my $comments = Bugzilla::Comment->new_from_list($comment_ids);
+
+=head1 DESCRIPTION
+
+Bugzilla::Comment represents a comment attached to a bug.
+
+This implements all standard C<Bugzilla::Object> methods. See 
+L<Bugzilla::Object> for more details.
+
+=head2 Accessors
+
+=over
+
+=item C<bug_id>
+
+C<int> The ID of the bug to which the comment belongs.
+
+=item C<creation_ts>
+
+C<string> The comment creation timestamp.
+
+=item C<body>
+
+C<string> The body without any special additional text.
+
+=item C<work_time>
+
+C<string> Time spent as related to this comment.
+
+=item C<is_private>
+
+C<boolean> Comment is marked as private
+
+=item C<already_wrapped>
+
+If this comment is stored in the database word-wrapped, this will be C<1>.
+C<0> otherwise.
+
+=item C<author>
+
+L<Bugzilla::User> who created the comment.
+
+=item C<body_full>
+
+=over
+
+=item B<Description>
+
+C<string> Body of the comment, including any special text (such as
+"this bug was marked as a duplicate of...").
+
+=item B<Params>
+
+=over
+
+=item C<is_bugmail>
+
+C<boolean>. C<1> if this comment should be formatted specifically for
+bugmail.
+
+=item C<wrap>
+
+C<boolean>. C<1> if the comment should be returned word-wrapped.
+
+=back
+
+=item B<Returns>
+
+A string, the full text of the comment as it would be displayed to an end-user.
+
+=back
+
+
+
+=back
+
+=cut
diff --git a/Bugzilla/Config/CVS/Entries b/Bugzilla/Config/CVS/Entries
index 00e4c3ff5226f66fec21c9a8f23a609eb40d4074..950fc4285d13a1cb818339ace17498757814a7de 100644
--- a/Bugzilla/Config/CVS/Entries
+++ b/Bugzilla/Config/CVS/Entries
@@ -1,18 +1,18 @@
-/Admin.pm/1.4/Tue Dec 16 21:22:02 2008//TBUGZILLA-3_5_1
-/Attachment.pm/1.8/Thu Aug 13 21:32:16 2009//TBUGZILLA-3_5_1
-/Auth.pm/1.4/Sun Oct 18 23:34:58 2009//TBUGZILLA-3_5_1
-/BugChange.pm/1.7/Wed Dec 10 18:40:00 2008//TBUGZILLA-3_5_1
-/BugFields.pm/1.7/Fri Apr 17 22:27:38 2009//TBUGZILLA-3_5_1
-/BugMove.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_1
-/Common.pm/1.29/Sat Oct 24 05:21:08 2009//TBUGZILLA-3_5_1
-/Core.pm/1.11/Fri Oct  9 04:31:11 2009//TBUGZILLA-3_5_1
-/DependencyGraph.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_1
-/GroupSecurity.pm/1.9/Tue Mar 31 19:16:58 2009//TBUGZILLA-3_5_1
-/LDAP.pm/1.2/Fri Jun  2 11:52:48 2006//TBUGZILLA-3_5_1
-/MTA.pm/1.17/Wed Dec 24 03:43:40 2008//TBUGZILLA-3_5_1
-/PatchViewer.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_1
-/Query.pm/1.7/Mon Jul 20 04:10:55 2009//TBUGZILLA-3_5_1
-/RADIUS.pm/1.1/Thu Aug  2 22:38:39 2007//TBUGZILLA-3_5_1
-/ShadowDB.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_1
-/UserMatch.pm/1.2/Tue Mar 31 19:24:23 2009//TBUGZILLA-3_5_1
+/Admin.pm/1.4/Tue Dec 16 21:22:02 2008//TBUGZILLA-3_5_2
+/Attachment.pm/1.8/Thu Aug 13 21:32:16 2009//TBUGZILLA-3_5_2
+/Auth.pm/1.4/Sun Oct 18 23:34:58 2009//TBUGZILLA-3_5_2
+/BugChange.pm/1.7/Wed Dec 10 18:40:00 2008//TBUGZILLA-3_5_2
+/BugFields.pm/1.7/Fri Apr 17 22:27:38 2009//TBUGZILLA-3_5_2
+/BugMove.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_2
+/Common.pm/1.29/Sat Oct 24 05:21:08 2009//TBUGZILLA-3_5_2
+/Core.pm/1.11/Fri Oct  9 04:31:11 2009//TBUGZILLA-3_5_2
+/DependencyGraph.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_2
+/GroupSecurity.pm/1.9/Tue Mar 31 19:16:58 2009//TBUGZILLA-3_5_2
+/LDAP.pm/1.2/Fri Jun  2 11:52:48 2006//TBUGZILLA-3_5_2
+/MTA.pm/1.17/Wed Dec 24 03:43:40 2008//TBUGZILLA-3_5_2
+/PatchViewer.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_2
+/Query.pm/1.7/Mon Jul 20 04:10:55 2009//TBUGZILLA-3_5_2
+/RADIUS.pm/1.1/Thu Aug  2 22:38:39 2007//TBUGZILLA-3_5_2
+/ShadowDB.pm/1.1/Wed Oct 12 08:51:53 2005//TBUGZILLA-3_5_2
+/UserMatch.pm/1.2/Tue Mar 31 19:24:23 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Config/CVS/Tag b/Bugzilla/Config/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Config/CVS/Tag
+++ b/Bugzilla/Config/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm
index c7db757ad914069b5252246b931674df7944943c..31d00473efca9caed74bfd75141ba68a2cefdd7a 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -126,6 +126,8 @@ use File::Basename;
     FIELD_TYPE_BUG_ID
     FIELD_TYPE_BUG_URLS
 
+    TIMETRACKING_FIELDS
+
     USAGE_MODE_BROWSER
     USAGE_MODE_CMDLINE
     USAGE_MODE_XMLRPC
@@ -171,7 +173,7 @@ use File::Basename;
 # CONSTANTS
 #
 # Bugzilla version
-use constant BUGZILLA_VERSION => "3.5.1";
+use constant BUGZILLA_VERSION => "3.5.2";
 
 # These are unique values that are unlikely to match a string or a number,
 # to be used in criteria for match() functions and other things. They start
@@ -358,6 +360,12 @@ use constant FIELD_TYPE_DATETIME  => 5;
 use constant FIELD_TYPE_BUG_ID  => 6;
 use constant FIELD_TYPE_BUG_URLS => 7;
 
+# The fields from fielddefs that are blocked from non-timetracking users.
+# work_time is sometimes called actual_time.
+use constant TIMETRACKING_FIELDS =>
+    qw(estimated_time remaining_time work_time actual_time
+       percentage_complete deadline);
+
 # The maximum number of days a token will remain valid.
 use constant MAX_TOKEN_AGE => 3;
 # How many days a logincookie will remain valid if not used.
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index a702a0f6088ea7abc88ba7b59e13dc9212fc3d9f..7e40c1627892d946f6b58f4c171d25167459f92b 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -271,8 +271,7 @@ EOT
 }
 
 # List of abstract methods we are checking the derived class implements
-our @_abstract_methods = qw(REQUIRED_VERSION PROGRAM_NAME DBD_VERSION
-                            new sql_regexp sql_not_regexp sql_limit sql_to_days
+our @_abstract_methods = qw(new sql_regexp sql_not_regexp sql_limit sql_to_days
                             sql_date_format sql_interval bz_explain
                             sql_group_concat);
 
@@ -287,7 +286,7 @@ sub import {
         # make sure all abstract methods are implemented
         foreach my $meth (@_abstract_methods) {
             $pkg->can($meth)
-                or croak("Class $pkg does not define method $meth");
+                or die("Class $pkg does not define method $meth");
         }
     }
 
@@ -538,6 +537,13 @@ sub bz_alter_column {
             ThrowCodeError('column_not_null_no_default_alter', 
                            { name => "$table.$name" }) if ($any_nulls);
         }
+        # Preserve foreign key definitions in the Schema object when altering
+        # types.
+        if (defined $current_def->{REFERENCES}) {
+            # Make sure we don't modify the caller's $new_def.
+            $new_def = dclone($new_def);
+            $new_def->{REFERENCES} = $current_def->{REFERENCES};
+        }
         $self->bz_alter_column_raw($table, $name, $new_def, $current_def,
                                    $set_nulls_to);
         $self->_bz_real_schema->set_column($table, $name, $new_def);
diff --git a/Bugzilla/DB/CVS/Entries b/Bugzilla/DB/CVS/Entries
index 3d9f5cd524e61edd46b7ee8c6d5a3184cb65b258..fd3b3e0259de46d3579279fb46d153de1524ea08 100644
--- a/Bugzilla/DB/CVS/Entries
+++ b/Bugzilla/DB/CVS/Entries
@@ -1,5 +1,5 @@
-/Mysql.pm/1.79/Sun Sep 20 22:33:32 2009//TBUGZILLA-3_5_1
-/Oracle.pm/1.25/Mon Aug 17 21:31:37 2009//TBUGZILLA-3_5_1
-/Pg.pm/1.32/Mon Aug 17 21:31:37 2009//TBUGZILLA-3_5_1
-/Schema.pm/1.124/Sun Oct 18 23:34:59 2009//TBUGZILLA-3_5_1
+/Mysql.pm/1.79/Sun Sep 20 22:33:32 2009//TBUGZILLA-3_5_2
+/Oracle.pm/1.25/Mon Aug 17 21:31:37 2009//TBUGZILLA-3_5_2
+/Pg.pm/1.32/Mon Aug 17 21:31:37 2009//TBUGZILLA-3_5_2
+/Schema.pm/1.124/Sun Oct 18 23:34:59 2009//TBUGZILLA-3_5_2
 D/Schema////
diff --git a/Bugzilla/DB/CVS/Tag b/Bugzilla/DB/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/DB/CVS/Tag
+++ b/Bugzilla/DB/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/DB/Schema/CVS/Entries b/Bugzilla/DB/Schema/CVS/Entries
index 79199b65bde3aa2f15fd09adb8e58f237cb1187b..503934930907a48bd93657a6df2366ac52e69540 100644
--- a/Bugzilla/DB/Schema/CVS/Entries
+++ b/Bugzilla/DB/Schema/CVS/Entries
@@ -1,4 +1,4 @@
-/Mysql.pm/1.23/Sat Oct 24 05:30:16 2009//TBUGZILLA-3_5_1
-/Oracle.pm/1.12/Sat Oct 24 05:31:42 2009//TBUGZILLA-3_5_1
-/Pg.pm/1.16/Sat Oct 24 05:30:16 2009//TBUGZILLA-3_5_1
+/Mysql.pm/1.23/Sat Oct 24 05:30:16 2009//TBUGZILLA-3_5_2
+/Oracle.pm/1.12/Sat Oct 24 05:31:42 2009//TBUGZILLA-3_5_2
+/Pg.pm/1.16/Sat Oct 24 05:30:16 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/DB/Schema/CVS/Tag b/Bugzilla/DB/Schema/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/DB/Schema/CVS/Tag
+++ b/Bugzilla/DB/Schema/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Field/CVS/Entries b/Bugzilla/Field/CVS/Entries
index 31afbee944271819392ab5df7efbdc7e49c31123..bafcb1cfcf740f54c0f691d715fa61ba9891d608 100644
--- a/Bugzilla/Field/CVS/Entries
+++ b/Bugzilla/Field/CVS/Entries
@@ -1,2 +1,2 @@
-/Choice.pm/1.13/Thu Jul 23 21:33:54 2009//TBUGZILLA-3_5_1
+/Choice.pm/1.13/Thu Jul 23 21:33:54 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Field/CVS/Tag b/Bugzilla/Field/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Field/CVS/Tag
+++ b/Bugzilla/Field/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index 51bce7fbeb92c4bee857c7f7348ec7cf9799f5c3..b35a338d6bf30d4a2789abfe30fd931b1b379725 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -144,6 +144,9 @@ These params are accessible through L<Bugzilla/hook_args>.
 That returns a hashref. Very frequently, if you want your
 hook to do anything, you have to modify these variables.
 
+You may also want to use L<Bugzilla/input_params> to get parameters
+that were passed to the current CGI script or WebService method.
+
 =head2 Versioning Extensions
 
 Every extension must have a file in its root called F<info.pl>.
@@ -277,6 +280,21 @@ values.
 
 =back
 
+=head2 bug-end_of_create_validators
+
+This happens during L<Bugzilla::Bug/create>, after all parameters have
+been validated, but before anything has been inserted into the database.
+
+Params:
+
+=over
+
+=item C<params>
+
+A hashref. The validated parameters passed to C<create>.
+
+=back
+
 =head2 bug-end_of_update
 
 This happens at the end of L<Bugzilla::Bug/update>, after all other changes are
@@ -582,6 +600,77 @@ Params:
 
 =back
 
+=head2 object-before_create
+
+This happens at the beginning of L<Bugzilla::Object/create>.
+
+Params:
+
+=over
+
+=item C<class>
+
+The name of the class that C<create> was called on. You can check this 
+like C<< if ($class->isa('Some::Class')) >> in your code, to perform specific
+tasks before C<create> for only certain classes.
+
+=item C<params>
+
+A hashref. The set of named parameters passed to C<create>.
+
+=back
+
+=head2 object-before_set
+
+Called during L<Bugzilla::Object/set>, before any actual work is done.
+You can use this to perform actions before a value is changed for
+specific fields on certain types of objects.
+
+Params:
+
+=over
+
+=item C<object>
+
+The object that C<set> was called on. You will probably want to
+do something like C<< if ($object->isa('Some::Class')) >> in your code to
+limit your changes to only certain subclasses of Bugzilla::Object.
+
+=item C<field>
+
+The name of the field being updated in the object.
+
+=item C<value> 
+
+The value being set on the object.
+
+=back
+
+=head2 object-end_of_create_validators
+
+Called at the end of L<Bugzilla::Object/run_create_validators>. You can
+use this to run additional validation when creating an object.
+
+If a subclass has overridden C<run_create_validators>, then this usually
+happens I<before> the subclass does its custom validation.
+
+Params:
+
+=over
+
+=item C<class>
+
+The name of the class that C<create> was called on. You can check this 
+like C<< if ($class->isa('Some::Class')) >> in your code, to perform specific
+tasks for only certain classes.
+
+=item C<params>
+
+A hashref. The set of named parameters passed to C<create>, modified and
+validated by the C<VALIDATORS> specified for the object.
+
+=back
+
 =head2 page-before_template
 
 This is a simple way to add your own pages to Bugzilla. This hooks C<page.cgi>,
diff --git a/Bugzilla/Install/CVS/Entries b/Bugzilla/Install/CVS/Entries
index f901362f9366deb848138c673d29dbb523b17300..959a040860c40c527516bc6289b7def0727eb57a 100644
--- a/Bugzilla/Install/CVS/Entries
+++ b/Bugzilla/Install/CVS/Entries
@@ -1,7 +1,7 @@
-/CPAN.pm/1.2/Sun Dec 23 05:43:44 2007//TBUGZILLA-3_5_1
-/DB.pm/1.74/Sun Nov  1 19:49:25 2009//TBUGZILLA-3_5_1
-/Filesystem.pm/1.40/Sat Oct 24 05:30:17 2009//TBUGZILLA-3_5_1
-/Localconfig.pm/1.18/Wed Sep 30 11:42:54 2009//TBUGZILLA-3_5_1
-/Requirements.pm/1.72/Sat Oct 24 05:30:17 2009//TBUGZILLA-3_5_1
-/Util.pm/1.19/Wed Aug 12 13:05:31 2009//TBUGZILLA-3_5_1
+/CPAN.pm/1.2/Sun Dec 23 05:43:44 2007//TBUGZILLA-3_5_2
+/DB.pm/1.74/Sun Nov  1 19:49:25 2009//TBUGZILLA-3_5_2
+/Filesystem.pm/1.40/Sat Oct 24 05:30:17 2009//TBUGZILLA-3_5_2
+/Localconfig.pm/1.18/Wed Sep 30 11:42:54 2009//TBUGZILLA-3_5_2
+/Requirements.pm/1.74/Wed Nov 18 07:01:41 2009//TBUGZILLA-3_5_2
+/Util.pm/1.20/Wed Nov 18 07:06:46 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Install/CVS/Tag b/Bugzilla/Install/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Install/CVS/Tag
+++ b/Bugzilla/Install/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm
index 2b545ebb8786c15bd351860cf2895d70991dd477..1fa53de9bcc50de25320895693cf8ffb81337a8d 100644
--- a/Bugzilla/Install/Requirements.pm
+++ b/Bugzilla/Install/Requirements.pm
@@ -35,11 +35,13 @@ use base qw(Exporter);
 our @EXPORT = qw(
     REQUIRED_MODULES
     OPTIONAL_MODULES
+    FEATURE_FILES
 
     check_requirements
     check_graphviz
     have_vers
     install_command
+    map_files_to_features
 );
 
 # This is how many *'s are in the top of each "box" message printed
@@ -232,6 +234,12 @@ sub OPTIONAL_MODULES {
         version => 0,
         feature => ['jsonrpc'],
     },
+    {
+        package => 'Test-Taint',
+        module  => 'Test::Taint',
+        version => 0,
+        feature => ['jsonrpc', 'xmlrpc'],
+    },
     {
         # We need the 'utf8_mode' method of HTML::Parser, for HTML::Scrubber.
         package => 'HTML-Parser',
@@ -288,6 +296,22 @@ sub OPTIONAL_MODULES {
     return $all_modules;
 };
 
+# This maps features to the files that require that feature in order
+# to compile. It is used by t/001compile.t and mod_perl.pl.
+use constant FEATURE_FILES => (
+    jsonrpc       => ['Bugzilla/WebService/Server/JSONRPC.pm', 'jsonrpc.cgi'],
+    xmlrpc        => ['Bugzilla/WebService/Server/XMLRPC.pm', 'xmlrpc.cgi',
+                      'Bugzilla/WebService.pm', 'Bugzilla/WebService/*.pm'],
+    moving        => ['importxml.pl'],
+    auth_ldap     => ['Bugzilla/Auth/Verify/LDAP.pm'],
+    auth_radius   => ['Bugzilla/Auth/Verify/RADIUS.pm'],
+    inbound_email => ['email_in.pl'],
+    jobqueue      => ['Bugzilla/Job/*', 'Bugzilla/JobQueue.pm',
+                      'Bugzilla/JobQueue/*', 'jobqueue.pl'],
+    patch_viewer  => ['Bugzilla/Attachment/PatchReader.pm'],
+    updates       => ['Bugzilla/Update.pm'],
+);
+
 # This implements the install-requirements hook described in Bugzilla::Hook.
 sub _get_extension_requirements {
     my ($function, $base_modules) = @_;
@@ -584,6 +608,21 @@ sub install_command {
     return sprintf $command, $package;
 }
 
+# This does a reverse mapping for FEATURE_FILES.
+sub map_files_to_features {
+    my %features = FEATURE_FILES;
+    my %files;
+    foreach my $feature (keys %features) {
+        my @my_files = @{ $features{$feature} };
+        foreach my $pattern (@my_files) {
+            foreach my $file (glob $pattern) {
+                $files{$file} = $feature;
+            }
+        }
+    }
+    return \%files;
+}
+
 1;
 
 __END__
@@ -601,16 +640,42 @@ perl modules it requires.)
 
 =head1 CONSTANTS
 
-=over 4
+=over
 
 =item C<REQUIRED_MODULES>
 
 An arrayref of hashrefs that describes the perl modules required by 
-Bugzilla. The hashes have two keys, C<name> and C<version>, which
-represent the name of the module and the version that we require.
+Bugzilla. The hashes have three keys: 
+
+=over
+
+=item C<package> - The name of the Perl package that you'd find on
+CPAN for this requirement. 
+
+=item C<module> - The name of a module that can be passed to the
+C<install> command in C<CPAN.pm> to install this module.
+
+=item C<version> - The version of this module that we require, or C<0>
+if any version is acceptable.
 
 =back
 
+=item C<OPTIONAL_MODULES>
+
+An arrayref of hashrefs that describes the perl modules that add
+additional features to Bugzilla if installed. Its hashes have all
+the fields of L</REQUIRED_MODULES>, plus a C<feature> item--an arrayref
+of strings that describe what features require this module.
+
+=item C<FEATURE_FILES>
+
+A hashref that describes what files should only be compiled if a certain
+feature is enabled. The feature is the key, and the values are arrayrefs
+of file names (which are passed to C<glob>, so shell patterns work).
+
+=back
+
+
 =head1 SUBROUTINES
 
 =over 4
@@ -693,4 +758,9 @@ Returns:     C<1> if the check was successful, C<0> otherwise.
 
  Returns:     nothing
 
+=item C<map_files_to_features>
+
+Returns a hashref where file names are the keys and the value is the feature
+that must be enabled in order to compile that file.
+
 =back
diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm
index e53164d255193b87ec31edb130ba1a1445de17c9..effb39ee8fb27c3ab8954c8c634db5adc3ae6b86 100644
--- a/Bugzilla/Install/Util.pm
+++ b/Bugzilla/Install/Util.pm
@@ -127,15 +127,28 @@ sub install_string {
 }
 
 sub include_languages {
+    # If we are in CGI mode (not in checksetup.pl) and if the function has
+    # been called without any parameter, then we cache the result of this
+    # function in Bugzilla->request_cache. This is done to improve the
+    # performance of the template processing.
+    my $to_be_cached = 0;
+    if (exists $ENV{'SERVER_SOFTWARE'} and not @_) {
+        my $cache = Bugzilla->request_cache;
+        if (exists $cache->{include_languages}) {
+            return @{$cache->{include_languages}}
+        }
+        $to_be_cached = 1;
+    }
     my ($params) = @_;
     $params ||= {};
 
     # Basically, the way this works is that we have a list of languages
     # that we *want*, and a list of languages that Bugzilla actually
     # supports. The caller tells us what languages they want, by setting
-    # $ENV{HTTP_ACCEPT_LANGUAGE} or $params->{only_language}. The languages
-    # we support are those specified in $params->{use_languages}. Otherwise
-    # we support every language installed in the template/ directory.
+    # $ENV{HTTP_ACCEPT_LANGUAGE}, using the "LANG" cookie or  setting
+    # $params->{only_language}. The languages we support are those
+    # specified in $params->{use_languages}. Otherwise we support every
+    # language installed in the template/ directory.
     
     my @wanted;
     if ($params->{only_language}) {
@@ -143,6 +156,15 @@ sub include_languages {
     }
     else {
         @wanted = _sort_accept_language($ENV{'HTTP_ACCEPT_LANGUAGE'} || '');
+        # Don't use the cookie if we are in "checksetup.pl". The test
+        # with $ENV{'SERVER_SOFTWARE'} is the same as in
+        # Bugzilla:Util::i_am_cgi.
+        if (exists $ENV{'SERVER_SOFTWARE'}) {
+            my $cgi = Bugzilla->cgi;
+            if (defined (my $lang = $cgi->cookie('LANG'))) {
+                unshift @wanted, $lang;
+            }
+        }
     }
     
     my @supported;
@@ -175,6 +197,13 @@ sub include_languages {
         push(@usedlanguages, 'en');
     }
 
+    # Cache the result if we are in CGI mode and called without parameter
+    # (see the comment at the top of this function).
+    if ($to_be_cached) {
+        my $cache = Bugzilla->request_cache;
+        $cache->{include_languages} = \@usedlanguages;
+    }
+
     return @usedlanguages;
 }
     
diff --git a/Bugzilla/Job/CVS/Entries b/Bugzilla/Job/CVS/Entries
index 943bac79caa00f5c9e922623f5c82a571bd04aa1..f409cb5ae7475a9a3aab43d1597ad88f7f62bda7 100644
--- a/Bugzilla/Job/CVS/Entries
+++ b/Bugzilla/Job/CVS/Entries
@@ -1,2 +1,2 @@
-/Mailer.pm/1.3/Thu Sep 10 23:46:21 2009//TBUGZILLA-3_5_1
+/Mailer.pm/1.3/Thu Sep 10 23:46:21 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Job/CVS/Tag b/Bugzilla/Job/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Job/CVS/Tag
+++ b/Bugzilla/Job/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/JobQueue.pm b/Bugzilla/JobQueue.pm
index d10df98045cfa47688540e13f020da7ed95adac0..9e7172e2b566f4cb4f2e6f6278ae324d9e3f40bb 100644
--- a/Bugzilla/JobQueue.pm
+++ b/Bugzilla/JobQueue.pm
@@ -27,7 +27,7 @@ use strict;
 use Bugzilla::Constants;
 use Bugzilla::Error;
 use Bugzilla::Install::Util qw(install_string);
-BEGIN { eval "use base qw(TheSchwartz)"; }
+use base qw(TheSchwartz);
 
 # This maps job names for Bugzilla::JobQueue to the appropriate modules.
 # If you add new types of jobs, you should add a mapping here.
diff --git a/Bugzilla/JobQueue/CVS/Entries b/Bugzilla/JobQueue/CVS/Entries
index 399c07b2b9ecdb58380fdf346ad25a2e9c7f9e3f..03c14906f24b780afcb190c8fa78c2459b0fd7ae 100644
--- a/Bugzilla/JobQueue/CVS/Entries
+++ b/Bugzilla/JobQueue/CVS/Entries
@@ -1,2 +1,2 @@
-/Runner.pm/1.5/Fri Sep  4 21:20:27 2009//TBUGZILLA-3_5_1
+/Runner.pm/1.5/Fri Sep  4 21:20:27 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/JobQueue/CVS/Tag b/Bugzilla/JobQueue/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/JobQueue/CVS/Tag
+++ b/Bugzilla/JobQueue/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Migrate.pm b/Bugzilla/Migrate.pm
index c8f601521cff3884f3f60c6e9b070ebce1d7286c..282279e75cc16a1224065d516ad7c14b583bde65 100644
--- a/Bugzilla/Migrate.pm
+++ b/Bugzilla/Migrate.pm
@@ -767,7 +767,12 @@ sub insert_bugs {
         my $created = Bugzilla::Bug->create($bug);
         $self->debug('Created bug ' . $created->id);
         Bugzilla->set_user($super_user);
-        
+
+        if (defined $bug->{creation_ts}) {
+            $dbh->do('UPDATE bugs SET creation_ts = ?, delta_ts = ? 
+                       WHERE bug_id = ?', undef, $bug->{creation_ts},
+                     $bug->{creation_ts}, $created->id);
+        }
         if (defined $bug->{delta_ts}) {
             $dbh->do('UPDATE bugs SET delta_ts = ? WHERE bug_id = ?',
                      undef, $bug->{delta_ts}, $created->id);
@@ -1002,13 +1007,19 @@ user specified C<--verbose> at least that many times on the command line.
 
 =head2 parse_date
 
+(Note: Usually you don't need to call this, because L</translate_bug>
+handles date translations for you, for bug data.)
+
 Parses a date string and returns a formatted date string that can be inserted
 into the database. If the input date is missing a timezone, the "timezone"
 configuration parameter will be used as the timezone of the date.
 
 =head2 translate_bug
 
-Uses the C<$translate_fields> and <$translate_values> configuration variables
+(Note: Normally you don't have to call this yourself, as 
+C<Bugzilla::Migrate> does it for you.)
+
+Uses the C<$translate_fields> and C<$translate_values> configuration variables
 to convert a hashref of "other bug-tracker" fields into Bugzilla fields.
 It takes one argument, the hashref to convert. Any unrecognized fields will
 have their value prepended to the C<comment> element in the returned
@@ -1023,9 +1034,11 @@ B<Note:> To save memory, the hashref that you pass in will be destroyed
 
 =head2 translate_value
 
-(Note: Normally you will want to use L</translate_bug> instead of this.)
+(Note: Generally you only need to use this during L</_read_products>
+and L</_read_users> if necessary, because the data returned from
+L</_read_bugs> will be put through L</translate_bug>.)
 
-Uses the C<translate_values> configuration variable to convert
+Uses the C<$translate_values> configuration variable to convert
 field values from your bug-tracker to Bugzilla. Takes two arguments,
 the first being a field name and the second being a value. If the value
 is an arrayref, C<translate_value> will be called recursively on all
@@ -1034,13 +1047,10 @@ the array elements.
 Also, any date field will be converted into ISO 8601 format, for
 inserting into the database.
 
-You must use this to translate any bug field values that you return
-during L</_read_bugs>, so that they are valid values for
-L<Bugzilla::Bug/create>.
-
 =head2 translate_field
 
-(Note: Normally you will want to use L</translate_bug> instead of this.)
+(Note: Normally you don't need to use this, because L</translate_bug> 
+handles it for you.)
 
 Translates a field name in your bug-tracker to a field name in Bugzilla,
 using the rules described in the description of the C<$translate_fields>
@@ -1058,7 +1068,7 @@ These are methods that subclasses must implement:
 
 Should return an arrayref of hashes. The hashes will be passed to
 L<Bugzilla::Bug/create> to create bugs in Bugzilla. In addition to
-the normal C<create> fields, the hashes can contain two additional
+the normal C<create> fields, the hashes can contain three additional
 items:
 
 =over
@@ -1070,7 +1080,7 @@ database. The keys should be the names of columns in the longdescs
 table that you want to set for each comment. C<who> must be a
 username instead of a user id, though.
 
-You don't need to specify a value for C<bug_id> column.
+You don't need to specify a value for the C<bug_id> column.
 
 =item history
 
@@ -1080,7 +1090,7 @@ bugs_activity table to set for each change. C<who> must be a username
 instead of a user id, though, and C<field> (containing the name of some field)
 is taken instead of C<fieldid>.
 
-You don't need to specify a value for C<bug_id> column.
+You don't need to specify a value for the C<bug_id> column.
 
 =item attachments
 
@@ -1090,7 +1100,7 @@ must be a file handle--we recommend using L<IO::File/new_tmpfile> to create
 anonymous temporary files for this purpose.) You should specify a
 C<submitter> argument containing the username of the attachment's submitter.
 
-You don't need to specify a value for the C<bug> argument.
+You don't need to specify a value for the the C<bug> argument.
 
 =back
 
@@ -1136,11 +1146,6 @@ always include the default C<CONFIG_VARS> (by calling
 $self->SUPER::CONFIG_VARS) as part of your return value, if you
 override this method.
 
-In addition to the normal fields from C<LOCALCONFIG_VARS>, you can also
-specify a C<check> key for each item, which should be a subroutine
-reference. When the configuration file is read, this subroutine will be
-called (as a method) to make sure that the value is valid.
-
 =head2 NON_COMMENT_FIELDS
 
 An array (not an arrayref). If there are fields that are not translated
diff --git a/Bugzilla/Migrate/CVS/Entries b/Bugzilla/Migrate/CVS/Entries
index 85605fc8c85cbd6a00f35e161f99887f1e7d376b..f006dcc1632ed1a5059f4cb3159d0834ab8c03e1 100644
--- a/Bugzilla/Migrate/CVS/Entries
+++ b/Bugzilla/Migrate/CVS/Entries
@@ -1,2 +1,2 @@
-/Gnats.pm/1.1/Sat Oct 24 05:30:17 2009//TBUGZILLA-3_5_1
+/Gnats.pm/1.1/Sat Oct 24 05:30:17 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Migrate/CVS/Tag b/Bugzilla/Migrate/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Migrate/CVS/Tag
+++ b/Bugzilla/Migrate/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm
index b04593f8915bd9ae5ac4b98f2c1adb38ed16cf55..0630a78d492af5e5fbb1b55d55d06bf4e6b127ae 100644
--- a/Bugzilla/Object.pm
+++ b/Bugzilla/Object.pm
@@ -24,6 +24,7 @@ use strict;
 package Bugzilla::Object;
 
 use Bugzilla::Constants;
+use Bugzilla::Hook;
 use Bugzilla::Util;
 use Bugzilla::Error;
 
@@ -278,6 +279,10 @@ sub set {
                             superclass => __PACKAGE__,
                             function   => 'Bugzilla::Object->set' });
 
+    Bugzilla::Hook::process('object-before_set',
+                            { object => $self, field => $field,
+                              value => $value });
+
     my %validators = (%{$self->VALIDATORS}, %{$self->UPDATE_VALIDATORS});
     if (exists $validators{$field}) {
         my $validator = $validators{$field};
@@ -399,6 +404,11 @@ sub _check_field {
 sub check_required_create_fields {
     my ($class, $params) = @_;
 
+    # This hook happens here so that even subclasses that don't call
+    # SUPER::create are still affected by the hook.
+    Bugzilla::Hook::process('object-before_create', { class => $class,
+                                                      params => $params });
+
     foreach my $field ($class->REQUIRED_CREATE_FIELDS) {
         ThrowCodeError('param_required',
             { function => "${class}->create", param => $field })
@@ -429,6 +439,9 @@ sub run_create_validators {
         $field_values{$field} = $value;
     }
 
+    Bugzilla::Hook::process('object-end_of_create_validators',
+                            { class => $class, params => \%field_values });
+
     return \%field_values;
 }
 
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index 9ba7a8c42f9e727952d249f2edbcc82eb9b8acf9..4aaf7e14c2385cf4f2997b7a4944fa6b95f52d3d 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -328,27 +328,30 @@ sub init {
         }
     }
     
-    my @legal_fields = ("product", "version", "assigned_to", "reporter", 
-                        "component", "classification", "target_milestone",
-                        "bug_group");
-
-    # Include custom select fields.
-    push(@legal_fields, map { $_->name } @select_fields);
-    push(@legal_fields, map { $_->name } @multi_select_fields);
-
-    foreach my $field ($params->param()) {
-        if (lsearch(\@legal_fields, $field) != -1) {
-            push(@specialchart, [$field, "anyexact",
-                                 join(',', $params->param($field))]);
+    # All fields that don't have a . in their name should be specifyable
+    # in the URL directly.
+    my @legal_fields = grep { $_->name !~ /\./ } Bugzilla->get_fields;
+    if (!$user->is_timetracker) {
+        foreach my $field (TIMETRACKING_FIELDS) {
+            @legal_fields = grep { $_->name ne $field } @legal_fields;
         }
     }
 
-    if ($params->param('keywords')) {
-        my $t = $params->param('keywords_type');
-        if (!$t || $t eq "or") {
-            $t = "anywords";
+    foreach my $field ($params->param()) {
+        if (grep { $_->name eq $field } @legal_fields) {
+            my $type = $params->param("${field}_type");
+            if (!$type) {
+                if ($field eq 'keywords') {
+                    $type = 'anywords';
+                }
+                else {
+                    $type = 'anyexact';
+                }
+            }
+            $type = 'matches' if $field eq 'content';
+            push(@specialchart, [$field, $type,
+                                 join(',', $params->param($field))]);
         }
-        push(@specialchart, ["keywords", $t, $params->param('keywords')]);
     }
 
     foreach my $id ("1", "2") {
@@ -530,10 +533,8 @@ sub init {
       my $deadlineto;
             
       if ($params->param('deadlinefrom')){
-        $deadlinefrom = $params->param('deadlinefrom');
-        validate_date($deadlinefrom)
-          || ThrowUserError('illegal_date', {date => $deadlinefrom,
-                                             format => 'YYYY-MM-DD'});
+        $params->param('deadlinefrom', '') if lc($params->param('deadlinefrom')) eq 'now';
+        $deadlinefrom = SqlifyDate($params->param('deadlinefrom'));
         $sql_deadlinefrom = $dbh->quote($deadlinefrom);
         trick_taint($sql_deadlinefrom);
         my $term = "bugs.deadline >= $sql_deadlinefrom";
@@ -545,10 +546,8 @@ sub init {
       }
       
       if ($params->param('deadlineto')){
-        $deadlineto = $params->param('deadlineto');
-        validate_date($deadlineto)
-          || ThrowUserError('illegal_date', {date => $deadlineto,
-                                             format => 'YYYY-MM-DD'});
+        $params->param('deadlineto', '') if lc($params->param('deadlineto')) eq 'now';
+        $deadlineto = SqlifyDate($params->param('deadlineto'));
         $sql_deadlineto = $dbh->quote($deadlineto);
         trick_taint($sql_deadlineto);
         my $term = "bugs.deadline <= $sql_deadlineto";
@@ -574,10 +573,6 @@ sub init {
         }
     }
 
-    if (defined $params->param('content')) {
-        push(@specialchart, ['content', 'matches', $params->param('content')]);
-    }
-
     my $multi_fields = join('|', map($_->name, @multi_select_fields));
 
     my $chartid;
diff --git a/Bugzilla/Search/CVS/Entries b/Bugzilla/Search/CVS/Entries
index bba430eeb9e47598001be03f690a1b9b144f7d27..0810b2a5243be3ecddc40d0f3f6c861ebb873fd0 100644
--- a/Bugzilla/Search/CVS/Entries
+++ b/Bugzilla/Search/CVS/Entries
@@ -1,3 +1,3 @@
-/Quicksearch.pm/1.26/Tue Sep 22 00:29:39 2009//TBUGZILLA-3_5_1
-/Saved.pm/1.9/Fri Aug 21 21:33:10 2009//TBUGZILLA-3_5_1
+/Quicksearch.pm/1.26/Tue Sep 22 00:29:39 2009//TBUGZILLA-3_5_2
+/Saved.pm/1.9/Fri Aug 21 21:33:10 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Search/CVS/Tag b/Bugzilla/Search/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Search/CVS/Tag
+++ b/Bugzilla/Search/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index d5e371f6433aa3e1624f1ba1d983a2455b65208f..17429a2e2eec72b33fb39a2f4a18c83b526275ed 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -170,7 +170,7 @@ sub quoteUrls {
 
     # If the comment is already wrapped, we should ignore newlines when
     # looking for matching regexps. Else we should take them into account.
-    my $s = ($comment && $comment->{already_wrapped}) 
+    my $s = ($comment && $comment->already_wrapped) 
             ? qr/\s/ : qr/[[:blank:]]/;
 
     # However, note that adding the title (for buglinks) can affect things
@@ -348,10 +348,6 @@ sub get_bug_link {
     $bug = blessed($bug) ? $bug : new Bugzilla::Bug($bug);
     return $link_text if $bug->{error};
     
-    if ($options->{use_alias} && $link_text =~ /^\d+$/ && $bug->alias) {
-        $link_text = $bug->alias;
-    }
-
     # Initialize these variables to be "" so that we don't get warnings
     # if we don't change them below (which is highly likely).
     my ($pre, $title, $post) = ("", "", "");
@@ -369,6 +365,9 @@ sub get_bug_link {
     }
     if (Bugzilla->user->can_see_bug($bug)) {
         $title .= " - " . $bug->short_desc;
+        if ($options->{use_alias} && $link_text =~ /^\d+$/ && $bug->alias) {
+            $link_text = $bug->alias;
+        }
     }
     # Prevent code injection in the title.
     $title = html_quote(clean_text($title));
@@ -729,6 +728,14 @@ sub create {
             # Currently logged in user, if any
             # If an sudo session is in progress, this is the user we're faking
             'user' => sub { return Bugzilla->user; },
+           
+            # Currenly active language
+            # XXX Eventually this should probably be replaced with something
+            # like Bugzilla->language.
+            'current_language' => sub {
+                my ($language) = include_languages();
+                return $language;
+            },
 
             # If an sudo session is in progress, this is the user who
             # started the session.
diff --git a/Bugzilla/Template/CVS/Tag b/Bugzilla/Template/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/Bugzilla/Template/CVS/Tag
+++ b/Bugzilla/Template/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/Bugzilla/Template/Plugin/CVS/Entries b/Bugzilla/Template/Plugin/CVS/Entries
index fd25a41d7ed031d3e710ea0bc9368a558911a8c2..eee338b12ac191f4377b4a17a7d3fe2796a28187 100644
--- a/Bugzilla/Template/Plugin/CVS/Entries
+++ b/Bugzilla/Template/Plugin/CVS/Entries
@@ -1,4 +1,4 @@
-/Bugzilla.pm/1.2/Fri Feb  7 07:19:15 2003//TBUGZILLA-3_5_1
-/Hook.pm/1.12/Mon Oct  6 16:30:56 2008//TBUGZILLA-3_5_1
-/User.pm/1.1/Wed Aug  4 18:08:21 2004//TBUGZILLA-3_5_1
+/Bugzilla.pm/1.2/Fri Feb  7 07:19:15 2003//TBUGZILLA-3_5_2
+/Hook.pm/1.12/Mon Oct  6 16:30:56 2008//TBUGZILLA-3_5_2
+/User.pm/1.1/Wed Aug  4 18:08:21 2004//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/Template/Plugin/CVS/Tag b/Bugzilla/Template/Plugin/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/Template/Plugin/CVS/Tag
+++ b/Bugzilla/Template/Plugin/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index 3843062fbfdd77ca15b82f69ae9fed63450bf4b1..0fc2db33648e9942ad559cd5ebeaf75278b4bdbd 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -1390,7 +1390,7 @@ sub wants_bug_mail {
     my $self = shift;
     my ($bug_id, $relationship, $fieldDiffs, $comments, $dependencyText,
         $changer, $bug_is_new) = @_;
-    my $comments_concatenated = join("\n", map { $_->{body} } (@$comments));
+    my $comments_concatenated = join("\n", map { $_->body } @$comments);
 
     # Make a list of the events which have happened during this bug change,
     # from the point of view of this user.    
diff --git a/Bugzilla/User/CVS/Entries b/Bugzilla/User/CVS/Entries
index 521b96fe15854830892733ca870a917d6741067f..dcbb8208e8fc562ab919c3a45268368a515e5599 100644
--- a/Bugzilla/User/CVS/Entries
+++ b/Bugzilla/User/CVS/Entries
@@ -1,2 +1,2 @@
-/Setting.pm/1.13/Fri Sep  5 23:01:18 2008//TBUGZILLA-3_5_1
+/Setting.pm/1.13/Fri Sep  5 23:01:18 2008//TBUGZILLA-3_5_2
 D/Setting////
diff --git a/Bugzilla/User/CVS/Tag b/Bugzilla/User/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/User/CVS/Tag
+++ b/Bugzilla/User/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/User/Setting/CVS/Entries b/Bugzilla/User/Setting/CVS/Entries
index 7b8f06bbe0c14214816faf671b604f9e1e77f9f6..c1a7d472fc3f413532a6e41a7ad671757ce62af5 100644
--- a/Bugzilla/User/Setting/CVS/Entries
+++ b/Bugzilla/User/Setting/CVS/Entries
@@ -1,4 +1,4 @@
-/Lang.pm/1.1/Tue Aug 21 20:47:54 2007//TBUGZILLA-3_5_1
-/Skin.pm/1.4/Tue Aug 14 21:54:34 2007//TBUGZILLA-3_5_1
-/Timezone.pm/1.1/Wed Aug 27 02:32:15 2008//TBUGZILLA-3_5_1
+/Lang.pm/1.1/Tue Aug 21 20:47:54 2007//TBUGZILLA-3_5_2
+/Skin.pm/1.4/Tue Aug 14 21:54:34 2007//TBUGZILLA-3_5_2
+/Timezone.pm/1.1/Wed Aug 27 02:32:15 2008//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/User/Setting/CVS/Tag b/Bugzilla/User/Setting/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/User/Setting/CVS/Tag
+++ b/Bugzilla/User/Setting/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm
index 21588417ccea8f7ad648a389ffe41f27e917c8d0..48ac0650283edb5837405119e531e1f8d8cc8c94 100644
--- a/Bugzilla/Util.pm
+++ b/Bugzilla/Util.pm
@@ -40,7 +40,7 @@ use base qw(Exporter);
                              diff_arrays
                              trim wrap_hard wrap_comment find_wrap_point
                              format_time format_time_decimal validate_date
-                             validate_time
+                             validate_time datetime_from
                              file_mod_time is_7bit_clean
                              bz_crypt generate_random_password
                              validate_email_syntax clean_text
@@ -214,7 +214,7 @@ sub url_quote {
 
 sub css_class_quote {
     my ($toencode) = (@_);
-    $toencode =~ s/ /_/g;
+    $toencode =~ s#[ /]#_#g;
     $toencode =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("&#x%x;",ord($1))/eg;
     return $toencode;
 }
@@ -396,7 +396,9 @@ sub format_time {
 
     # If $format is undefined, try to guess the correct date format.
     if (!defined($format)) {
-        if ($date =~ m/^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/) {
+        if (!ref $date
+            && $date =~ /^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/) 
+        {
             my $sec = $7;
             if (defined $sec) {
                 $format = "%Y-%m-%d %T %Z";
@@ -409,44 +411,49 @@ sub format_time {
         }
     }
 
-    # strptime($date) returns an empty array if $date has an invalid date format.
+    my $dt = ref $date ? $date : datetime_from($date, $timezone);
+    $date = defined $dt ? $dt->strftime($format) : '';
+    return trim($date);
+}
+
+sub datetime_from {
+    my ($date, $timezone) = @_;
+
+    # strptime($date) returns an empty array if $date has an invalid
+    # date format.
     my @time = strptime($date);
 
     unless (scalar @time) {
-        # If an unknown timezone is passed (such as MSK, for Moskow), strptime() is
-        # unable to parse the date. We try again, but we first remove the timezone.
+        # If an unknown timezone is passed (such as MSK, for Moskow),
+        # strptime() is unable to parse the date. We try again, but we first
+        # remove the timezone.
         $date =~ s/\s+\S+$//;
         @time = strptime($date);
     }
 
-    if (scalar @time) {
-        # Fix a bug in strptime() where seconds can be undefined in some cases.
-        $time[0] ||= 0;
-
-        # strptime() counts years from 1900, and months from 0 (January).
-        # We have to fix both values.
-        my $dt = DateTime->new({year   => 1900 + $time[5],
-                                month  => ++$time[4],
-                                day    => $time[3],
-                                hour   => $time[2],
-                                minute => $time[1],
-                                # DateTime doesn't like fractional seconds.
-                                second => int($time[0]),
-                                # If importing, use the specified timezone, otherwise 
-                                # use the timezone specified by the server.
-                                time_zone => Bugzilla->local_timezone->offset_as_string($time[6]) 
-                                          || Bugzilla->local_timezone});
-
-        # Now display the date using the given timezone,
-        # or the user's timezone if none is given.
-        $dt->set_time_zone($timezone || Bugzilla->user->timezone);
-        $date = $dt->strftime($format);
-    }
-    else {
-        # Don't let invalid (time) strings to be passed to templates!
-        $date = '';
-    }
-    return trim($date);
+    return undef if !@time;
+
+    # strptime() counts years from 1900, and months from 0 (January).
+    # We have to fix both values.
+    my $dt = DateTime->new({
+        year   => $time[5] + 1900,
+        month  => $time[4] + 1,
+        day    => $time[3],
+        hour   => $time[2],
+        minute => $time[1],
+        # DateTime doesn't like fractional seconds.
+        # Also, sometimes seconds are undef.
+        second => int($time[0] || 0),
+        # If a timezone was specified, use it. Otherwise, use the
+        # local timezone.
+        time_zone => Bugzilla->local_timezone->offset_as_string($time[6]) 
+                     || Bugzilla->local_timezone,
+    });
+
+    # Now display the date using the given timezone,
+    # or the user's timezone if none is given.
+    $dt->set_time_zone($timezone || Bugzilla->user->timezone);
+    return $dt;
 }
 
 sub format_time_decimal {
@@ -586,8 +593,10 @@ sub get_text {
     $vars ||= {};
     $vars->{'message'} = $name;
     my $message;
-    $template->process('global/message.txt.tmpl', $vars, \$message)
-        || ThrowTemplateError($template->error());
+    if (!$template->process('global/message.txt.tmpl', $vars, \$message)) {
+        require Bugzilla::Error;
+        Bugzilla::Error::ThrowTemplateError($template->error());
+    }
     # Remove the indenting that exists in messages.html.tmpl.
     $message =~ s/^    //gm;
     return $message;
@@ -641,6 +650,7 @@ Bugzilla::Util - Generic utility functions for bugzilla
 
   # Functions for formatting time
   format_time($time);
+  datetime_from($time, $timezone);
 
   # Functions for dealing with files
   $time = file_mod_time($filename);
@@ -725,7 +735,7 @@ Quotes characters so that they may be included as part of a url.
 =item C<css_class_quote($val)>
 
 Quotes characters so that they may be used as CSS class names. Spaces
-are replaced by underscores.
+and forward slashes are replaced by underscores.
 
 =item C<xml_quote($val)>
 
@@ -894,6 +904,15 @@ This routine is mainly called from templates to filter dates, see
 Returns a number with 2 digit precision, unless the last digit is a 0. Then it 
 returns only 1 digit precision.
 
+=item C<datetime_from($time, $timezone)>
+
+Returns a DateTime object given a date string. If the string is not in some
+valid date format that C<strptime> understands, we return C<undef>.
+
+You can optionally specify a timezone for the returned date. If not
+specified, defaults to the currently-logged-in user's timezone, or
+the Bugzilla server's local timezone if there isn't a logged-in user.
+
 =back
 
 
diff --git a/Bugzilla/WebService.pm b/Bugzilla/WebService.pm
index 75fcf6bc92f63df949aa182fcf4cd89776475e89..222923e70c5667e98efbbe27799400081299755d 100644
--- a/Bugzilla/WebService.pm
+++ b/Bugzilla/WebService.pm
@@ -142,11 +142,51 @@ how this is implemented for those frontends.
 
 =head1 LOGGING IN
 
+There are various ways to log in:
+
+=over
+
+=item C<User.login>
+
 You can use L<Bugzilla::WebService::User/login> to log in as a Bugzilla 
 user. This issues standard HTTP cookies that you must then use in future
 calls, so your client must be capable of receiving and transmitting
 cookies.
 
+=item C<Bugzilla_login> and C<Bugzilla_password>
+
+B<Added in Bugzilla 3.6>
+
+You can specify C<Bugzilla_login> and C<Bugzilla_password> as arguments
+to any WebService method, and you will be logged in as that user if your
+credentials are correct. Here are the arguments you can specify to any
+WebService method to perform a login:
+
+=over
+
+=item C<Bugzilla_login> (string) - A user's login name.
+
+=item C<Bugzilla_password> (string) - That user's password.
+
+=item C<Bugzilla_restrictlogin> (boolean) - Optional. If true,
+then your login will only be valid for your IP address.
+
+=item C<Bugzilla_rememberlogin> (boolean) - Optional. If true,
+then the cookie sent back to you with the method response will
+not expire.
+
+=back
+
+The C<Bugzilla_restrictlogin> and C<Bugzilla_rememberlogin> options
+are only used when you have also specified C<Bugzilla_login> and 
+C<Bugzilla_password>.
+
+Note that Bugzilla will return HTTP cookies along with the method
+response when you use these arguments (just like the C<User.login> method
+above).
+
+=back
+
 =head1 STABLE, EXPERIMENTAL, and UNSTABLE
 
 Methods are marked B<STABLE> if you can expect their parameters and
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm
index 6a3e93519420aa28d059f7ff853b5bee4c2d3420..006fa0fee9fcc08f1162838579385508bea99b85 100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -23,6 +23,7 @@ package Bugzilla::WebService::Bug;
 use strict;
 use base qw(Bugzilla::WebService);
 
+use Bugzilla::Comment;
 use Bugzilla::Constants;
 use Bugzilla::Error;
 use Bugzilla::Field;
@@ -95,12 +96,12 @@ sub comments {
     foreach my $bug_id (@$bug_ids) {
         my $bug = Bugzilla::Bug->check($bug_id);
         # We want the API to always return comments in the same order.
-        my $comments = Bugzilla::Bug::GetComments(
-            $bug->id, 'oldest_to_newest', $params->{new_since});
+   
+        my $comments = $bug->comments({ order => 'oldest_to_newest',
+                                        after => $params->{new_since} });
         my @result;
         foreach my $comment (@$comments) {
-            next if $comment->{isprivate} && !$user->is_insider;
-            $comment->{bug_id} = $bug->id;
+            next if $comment->is_private && !$user->is_insider;
             push(@result, $self->_translate_comment($comment, $params));
         }
         $bugs{$bug->id}{'comments'} = \@result;
@@ -109,15 +110,10 @@ sub comments {
     my %comments;
     if (scalar @$comment_ids) {
         my @ids = map { trim($_) } @$comment_ids;
-        my @sql_ids = map { $dbh->quote($_) } @ids;
-        my $comment_data = $dbh->selectall_arrayref(
-            'SELECT comment_id AS id, bug_id, who, bug_when AS time,
-                    isprivate, thetext AS body, type, extra_data
-               FROM longdescs WHERE ' . $dbh->sql_in('comment_id', \@sql_ids),
-            {Slice=>{}});
+        my $comment_data = Bugzilla::Comment->new_from_list(\@ids);
 
         # See if we were passed any invalid comment ids.
-        my %got_ids = map { $_->{id} => 1 } @$comment_data;
+        my %got_ids = map { $_->id => 1 } @$comment_data;
         foreach my $comment_id (@ids) {
             if (!$got_ids{$comment_id}) {
                 ThrowUserError('comment_id_invalid', { id => $comment_id });
@@ -125,16 +121,14 @@ sub comments {
         }
  
         # Now make sure that we can see all the associated bugs.
-        my %got_bug_ids = map { $_->{bug_id} => 1 } @$comment_data;
+        my %got_bug_ids = map { $_->bug_id => 1 } @$comment_data;
         Bugzilla::Bug->check($_) foreach (keys %got_bug_ids);
 
         foreach my $comment (@$comment_data) {
-            if ($comment->{isprivate} && !$user->is_insider) {
-                ThrowUserError('comment_is_private', { id => $comment->{id} });
+            if ($comment->is_private && !$user->is_insider) {
+                ThrowUserError('comment_is_private', { id => $comment->id });
             }
-            $comment->{author} = new Bugzilla::User($comment->{who});
-            $comment->{body} = Bugzilla::Bug::format_comment($comment);
-            $comments{$comment->{id}} =
+            $comments{$comment->id} =
                 $self->_translate_comment($comment, $params);
         }
     }
@@ -146,12 +140,12 @@ sub comments {
 sub _translate_comment {
     my ($self, $comment, $filters) = @_;
     return filter $filters, {
-        id         => $self->type('int', $comment->{id}),
-        bug_id     => $self->type('int', $comment->{bug_id}),
-        author     => $self->type('string', $comment->{author}->login),
-        time       => $self->type('dateTime', $comment->{'time'}),
-        is_private => $self->type('boolean', $comment->{isprivate}),
-        text       => $self->type('string', $comment->{body}),
+        id         => $self->type('int', $comment->id),
+        bug_id     => $self->type('int', $comment->bug_id),
+        author     => $self->type('string', $comment->author->login),
+        time       => $self->type('dateTime', $comment->creation_ts),
+        is_private => $self->type('boolean', $comment->is_private),
+        text       => $self->type('string', $comment->body_full),
     };
 }
 
@@ -288,17 +282,10 @@ sub search {
 
 sub create {
     my ($self, $params) = @_;
-
     Bugzilla->login(LOGIN_REQUIRED);
-
     $params = _map_fields($params);
-    # WebService users can't set the creation date of a bug.
-    delete $params->{'creation_ts'};
-
     my $bug = Bugzilla::Bug->create($params);
-
     Bugzilla::BugMail::Send($bug->bug_id, { changer => $bug->reporter->login });
-
     return { id => $self->type('int', $bug->bug_id) };
 }
 
diff --git a/Bugzilla/WebService/CVS/Entries b/Bugzilla/WebService/CVS/Entries
index 774fb61521caa9941481475c54a13c07266b71f5..418551f4675832609b11043159265a8bdce36c03 100644
--- a/Bugzilla/WebService/CVS/Entries
+++ b/Bugzilla/WebService/CVS/Entries
@@ -1,9 +1,9 @@
-/Bug.pm/1.44/Mon Oct 26 11:28:49 2009//TBUGZILLA-3_5_1
-/Bugzilla.pm/1.11/Fri Jan  9 19:13:32 2009//TBUGZILLA-3_5_1
-/Constants.pm/1.29/Fri Sep 11 16:10:35 2009//TBUGZILLA-3_5_1
-/Product.pm/1.8/Mon Jan 26 20:40:22 2009//TBUGZILLA-3_5_1
-/README/1.1/Tue Mar 31 06:37:57 2009//TBUGZILLA-3_5_1
-/Server.pm/1.2/Fri Oct  9 04:31:11 2009//TBUGZILLA-3_5_1
-/User.pm/1.15/Mon Aug 10 11:06:32 2009//TBUGZILLA-3_5_1
-/Util.pm/1.3/Mon Jan 26 20:40:23 2009//TBUGZILLA-3_5_1
+/Bug.pm/1.46/Tue Nov 10 21:21:53 2009//TBUGZILLA-3_5_2
+/Bugzilla.pm/1.11/Fri Jan  9 19:13:32 2009//TBUGZILLA-3_5_2
+/Constants.pm/1.29/Fri Sep 11 16:10:35 2009//TBUGZILLA-3_5_2
+/Product.pm/1.8/Mon Jan 26 20:40:22 2009//TBUGZILLA-3_5_2
+/README/1.1/Tue Mar 31 06:37:57 2009//TBUGZILLA-3_5_2
+/Server.pm/1.3/Mon Nov  9 19:15:30 2009//TBUGZILLA-3_5_2
+/User.pm/1.16/Mon Nov  9 19:15:30 2009//TBUGZILLA-3_5_2
+/Util.pm/1.4/Mon Nov  9 18:27:52 2009//TBUGZILLA-3_5_2
 D/Server////
diff --git a/Bugzilla/WebService/CVS/Tag b/Bugzilla/WebService/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/WebService/CVS/Tag
+++ b/Bugzilla/WebService/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm
index 2db182fd44f196234ccedb61a8d063f126c106c5..115c7df8962fe3de64516a5451c193091939145a 100644
--- a/Bugzilla/WebService/Server.pm
+++ b/Bugzilla/WebService/Server.pm
@@ -21,7 +21,8 @@ use strict;
 sub handle_login {
     my ($self, $class, $method, $full_method) = @_;
     eval "require $class";
-    return if $class->login_exempt($method);
+    return if ($class->login_exempt($method) 
+               and !defined Bugzilla->input_params->{Bugzilla_login});
     Bugzilla->login();
 }
 
diff --git a/Bugzilla/WebService/Server/CVS/Entries b/Bugzilla/WebService/Server/CVS/Entries
index 0381332c5ea9400d24a24276dd44ddd085cde50a..2eb516b62bb4fbcd77a8232f65837ab34a9c71a8 100644
--- a/Bugzilla/WebService/Server/CVS/Entries
+++ b/Bugzilla/WebService/Server/CVS/Entries
@@ -1,3 +1,3 @@
-/JSONRPC.pm/1.1/Tue Mar 31 06:37:59 2009//TBUGZILLA-3_5_1
-/XMLRPC.pm/1.6/Fri Sep  4 21:27:55 2009//TBUGZILLA-3_5_1
+/JSONRPC.pm/1.4/Wed Nov 18 07:09:49 2009//TBUGZILLA-3_5_2
+/XMLRPC.pm/1.9/Tue Nov 10 21:19:47 2009//TBUGZILLA-3_5_2
 D
diff --git a/Bugzilla/WebService/Server/CVS/Tag b/Bugzilla/WebService/Server/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/Bugzilla/WebService/Server/CVS/Tag
+++ b/Bugzilla/WebService/Server/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/WebService/Server/JSONRPC.pm b/Bugzilla/WebService/Server/JSONRPC.pm
index b453c6196b8537f59df9902c6d34735d4b97d7b3..16f9ab5b5d371e94b7aa34c42affe935db27d833 100644
--- a/Bugzilla/WebService/Server/JSONRPC.pm
+++ b/Bugzilla/WebService/Server/JSONRPC.pm
@@ -26,6 +26,7 @@ use base qw(JSON::RPC::Server::CGI Bugzilla::WebService::Server);
 
 use Bugzilla::Error;
 use Bugzilla::WebService::Constants;
+use Bugzilla::WebService::Util qw(taint_data);
 use Date::Parse;
 use DateTime;
 
@@ -111,18 +112,16 @@ sub _argument_type_check {
     my $self = shift;
     my $params = $self->SUPER::_argument_type_check(@_);
 
-    # This is the best time to do login checks.
-    $self->handle_login();
-
-    # If there are no parameters, we don't need to parse them.
-    return $params if !ref $params;
-
     # JSON-RPC 1.0 requires all parameters to be passed as an array, so
     # we just pull out the first item and assume it's an object.
+    my $params_is_array;
     if (ref $params eq 'ARRAY') {
         $params = $params->[0];
+        $params_is_array = 1;
     }
 
+    taint_data($params);
+
     # Now, convert dateTime fields on input.
     $self->_bz_method_name =~ /^(\S+)\.(\S+)$/;
     my ($class, $method) = ($1, $2);
@@ -141,6 +140,11 @@ sub _argument_type_check {
         }
     }
 
+    Bugzilla->input_params($params);
+
+    # This is the best time to do login checks.
+    $self->handle_login();
+
     # Bugzilla::WebService packages call internal methods like
     # $self->_some_private_method. So we have to inherit from 
     # that class as well as this Server class.
@@ -149,6 +153,10 @@ sub _argument_type_check {
     eval "package $new_class;$isa_string;";
     bless $self, $new_class;
 
+    if ($params_is_array) {
+        $params = [$params];
+    }
+
     return $params;
 }
 
diff --git a/Bugzilla/WebService/Server/XMLRPC.pm b/Bugzilla/WebService/Server/XMLRPC.pm
index c85614f7ad3a401b2646e101bf75b7b96330b121..967235262bf1c53d14381fce299453b99d2d9c28 100644
--- a/Bugzilla/WebService/Server/XMLRPC.pm
+++ b/Bugzilla/WebService/Server/XMLRPC.pm
@@ -64,10 +64,23 @@ package Bugzilla::XMLRPC::Deserializer;
 use strict;
 # We can't use "use base" because XMLRPC::Serializer doesn't return
 # a true value.
-eval { require XMLRPC::Lite; };
+use XMLRPC::Lite;
 our @ISA = qw(XMLRPC::Deserializer);
 
 use Bugzilla::Error;
+use Scalar::Util qw(tainted);
+
+sub deserialize {
+    my $self = shift;
+    my ($xml) = @_;
+    my $som = $self->SUPER::deserialize(@_);
+    if (tainted($xml)) {
+        $som->{_bz_do_taint} = 1;
+    }
+    bless $som, 'Bugzilla::XMLRPC::SOM';
+    Bugzilla->input_params($som->paramsin); 
+    return $som;
+}
 
 # Some method arguments need to be converted in some way, when they are input.
 sub decode_value {
@@ -126,6 +139,25 @@ sub _validation_subs {
 
 1;
 
+package Bugzilla::XMLRPC::SOM;
+use strict;
+use XMLRPC::Lite;
+our @ISA = qw(XMLRPC::SOM);
+use Bugzilla::WebService::Util qw(taint_data);
+
+sub paramsin {
+    my $self = shift;
+    return $self->{bz_params_in} if $self->{bz_params_in};
+    my $params = $self->SUPER::paramsin(@_);
+    if ($self->{_bz_do_taint}) {
+        taint_data($params);
+    }
+    $self->{bz_params_in} = $params;
+    return $self->{bz_params_in};
+}
+
+1;
+
 # This package exists to fix a UTF-8 bug in SOAP::Lite.
 # See http://rt.cpan.org/Public/Bug/Display.html?id=32952.
 package Bugzilla::XMLRPC::Serializer;
@@ -133,7 +165,7 @@ use Scalar::Util qw(blessed);
 use strict;
 # We can't use "use base" because XMLRPC::Serializer doesn't return
 # a true value.
-eval { require XMLRPC::Lite; };
+use XMLRPC::Lite;
 our @ISA = qw(XMLRPC::Serializer);
 
 sub new {
diff --git a/Bugzilla/WebService/User.pm b/Bugzilla/WebService/User.pm
index ba899cd4dbfb164e404aef5164604929b9289f43..67a4720deb8241370ff6ea714992c789d96848d6 100644
--- a/Bugzilla/WebService/User.pm
+++ b/Bugzilla/WebService/User.pm
@@ -61,12 +61,12 @@ sub login {
     }
 
     # Make sure the CGI user info class works if necessary.
-    my $cgi = Bugzilla->cgi;
-    $cgi->param('Bugzilla_login', $params->{login});
-    $cgi->param('Bugzilla_password', $params->{password});
-    $cgi->param('Bugzilla_remember', $remember);
+    my $input_params = Bugzilla->input_params;
+    $input_params->{'Bugzilla_login'} =  $params->{login};
+    $input_params->{'Bugzilla_password'} = $params->{password};
+    $input_params->{'Bugzilla_remember'} = $remember;
 
-    Bugzilla->login;
+    Bugzilla->login();
     return { id => $self->type('int', Bugzilla->user->id) };
 }
 
diff --git a/Bugzilla/WebService/Util.pm b/Bugzilla/WebService/Util.pm
index 74c1f2f02f3199521f22ba1d0adc170fcfa79e66..8ff608c3acd66f1cb094d1dcbeb3a22d5f730f64 100644
--- a/Bugzilla/WebService/Util.pm
+++ b/Bugzilla/WebService/Util.pm
@@ -21,10 +21,17 @@
 
 package Bugzilla::WebService::Util;
 use strict;
-
 use base qw(Exporter);
 
-our @EXPORT_OK = qw(filter validate);
+# We have to "require", not "use" this, because otherwise it tries to
+# use features of Test::More during import().
+require Test::Taint;
+
+our @EXPORT_OK = qw(
+    filter 
+    taint_data
+    validate
+);
 
 sub filter ($$) {
     my ($params, $hash) = @_;
@@ -44,6 +51,32 @@ sub filter ($$) {
     return \%newhash;
 }
 
+sub taint_data {
+    my $params = shift;
+    return if !$params;
+    # Though this is a private function, it hasn't changed since 2004 and
+    # should be safe to use, and prevents us from having to write it ourselves
+    # or require another module to do it.
+    Test::Taint::_deeply_traverse(\&_delete_bad_keys, $params);
+    Test::Taint::taint_deeply($params);
+}
+
+sub _delete_bad_keys {
+    foreach my $item (@_) {
+        next if ref $item ne 'HASH';
+        foreach my $key (keys %$item) {
+            # Making something a hash key always untaints it, in Perl.
+            # However, we need to validate our argument names in some way.
+            # We know that all hash keys passed in to the WebService will 
+            # match \w+, so we delete any key that doesn't match that.
+            if ($key !~ /^\w+$/) {
+                delete $item->{$key};
+            }
+        }
+    }
+    return @_;
+}
+
 sub validate  {
     my ($self, $params, @keys) = @_;
     
diff --git a/Bugzilla/Whine/CVS/Entries b/Bugzilla/Whine/CVS/Entries
new file mode 100644
index 0000000000000000000000000000000000000000..f9e91f00247e2935ab411383b84b79b2b1ce866e
--- /dev/null
+++ b/Bugzilla/Whine/CVS/Entries
@@ -0,0 +1,2 @@
+/Schedule.pm/1.1/Mon Nov  9 18:35:40 2009//TBUGZILLA-3_5_2
+D
diff --git a/Bugzilla/Whine/CVS/Repository b/Bugzilla/Whine/CVS/Repository
new file mode 100644
index 0000000000000000000000000000000000000000..6303ac0742f179a5cb321a41368d28da89ad45c4
--- /dev/null
+++ b/Bugzilla/Whine/CVS/Repository
@@ -0,0 +1 @@
+mozilla/webtools/bugzilla/Bugzilla/Whine
diff --git a/Bugzilla/Whine/CVS/Root b/Bugzilla/Whine/CVS/Root
new file mode 100644
index 0000000000000000000000000000000000000000..cdb6f4a0739a0dc53e628026726036377dec3637
--- /dev/null
+++ b/Bugzilla/Whine/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
diff --git a/Bugzilla/Whine/CVS/Tag b/Bugzilla/Whine/CVS/Tag
new file mode 100644
index 0000000000000000000000000000000000000000..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4
--- /dev/null
+++ b/Bugzilla/Whine/CVS/Tag
@@ -0,0 +1 @@
+NBUGZILLA-3_5_2
diff --git a/Bugzilla/Whine/Schedule.pm b/Bugzilla/Whine/Schedule.pm
new file mode 100644
index 0000000000000000000000000000000000000000..be0f2fae8e784dd484f9a16c9cf4cb8970a5480b
--- /dev/null
+++ b/Bugzilla/Whine/Schedule.pm
@@ -0,0 +1,172 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Eric Black.
+# Portions created by the Initial Developer are Copyright (C) 2009 
+# Eric Black. All Rights Reserved.
+#
+# Contributor(s): Eric Black <black.eric@gmail.com>
+
+use strict;
+
+package Bugzilla::Whine::Schedule;
+
+use base qw(Bugzilla::Object);
+
+use Bugzilla::Constants;
+
+#############
+# Constants #
+#############
+
+use constant DB_TABLE => 'whine_schedules';
+
+use constant DB_COLUMNS => qw(
+    id
+    eventid
+    run_day
+    run_time
+    run_next
+    mailto
+    mailto_type
+);
+
+use constant REQUIRED_CREATE_FIELDS => qw(eventid mailto mailto_type);
+
+use constant UPDATE_COLUMNS => qw(
+    eventid 
+    run_day 
+    run_time 
+    run_next 
+    mailto 
+    mailto_type
+);
+use constant NAME_FIELD => 'id';
+use constant LIST_ORDER => 'id';
+
+####################
+# Simple Accessors #
+####################
+sub eventid         { return $_[0]->{'eventid'};     }
+sub run_day         { return $_[0]->{'run_day'};     }
+sub run_time        { return $_[0]->{'run_time'};    }
+sub mailto_is_group { return $_[0]->{'mailto_type'}; }
+
+sub mailto {
+    my $self = shift;
+
+    return $self->{mailto_object} if exists $self->{mailto_object};
+    my $id = $self->{'mailto'};
+
+    if ($self->mailto_is_group) {
+        $self->{mailto_object} = Bugzilla::Group->new($id);
+    } else {
+        $self->{mailto_object} = Bugzilla::User->new($id);
+    }
+    return $self->{mailto_object};
+}
+
+sub mailto_users { 
+    my $self = shift;
+    return $self->{mailto_users} if exists $self->{mailto_users};
+    my $object = $self->mailto;
+
+    if ($self->mailto_is_group) {
+        $self->{mailto_users} = $object->members_non_inherited if $object->is_active;
+    } else {
+        $self->{mailto_users} = $object;
+    }
+    return $self->{mailto_users};
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Bugzilla::Whine::Schedule - A schedule object used by L<Bugzilla::Whine>.
+
+=head1 SYNOPSIS
+
+ use Bugzilla::Whine::Schedule;
+
+ my $schedule = new Bugzilla::Whine::Schedule($schedule_id);
+
+ my $event_id    = $schedule->eventid;
+ my $run_day     = $schedule->run_day;
+ my $run_time    = $schedule->run_time;
+ my $is_group    = $schedule->mailto_is_group;
+ my $object      = $schedule->mailto;
+ my $array_ref   = $schedule->mailto_users;
+
+=head1 DESCRIPTION
+
+This module exists to represent a L<Bugzilla::Whine> event schedule.
+
+This is an implementation of L<Bugzilla::Object>, and so has all the
+same methods available as L<Bugzilla::Object>, in addition to what is
+documented below.
+
+=head1 METHODS
+
+=head2 Constructors
+
+=over
+
+=item C<new>
+
+Does not accept a bare C<name> argument. Instead, accepts only an id.
+
+See also: L<Bugzilla::Object/new>.
+
+=back
+
+
+=head2 Accessors
+
+These return data about the object, without modifying the object.
+
+=over
+
+=item C<event_id>
+
+The L<Bugzilla::Whine> event object id for this object.
+
+=item C<run_day>
+
+The day or day pattern that a L<Bugzilla::Whine> event is scheduled to run.
+
+=item C<run_time>
+
+The time or time pattern that a L<Bugzilla::Whine> event is scheduled to run.
+
+=item C<mailto_is_group>
+
+Returns a numeric 1 (C<group>) or 0 (C<user>) to represent whether
+L</mailto> is a group or user.
+
+=item C<mailto>
+
+This is either a L<Bugzilla::User> or L<Bugzilla::Group> object to represent 
+the user or group this scheduled event is set to be mailed to. 
+
+=item C<mailto_users>
+
+Returns an array reference of L<Bugzilla::User>s. This is derived from the
+L<Bugzilla::Group> stored in L</mailto> if L</mailto_is_group> is true and
+the group is still active, otherwise it will contain a single array element
+for the L<Bugzilla::User> in L</mailto>.
+
+=back
diff --git a/CVS/Entries b/CVS/Entries
index d8e3722cb41f6b3b5ddea991578f52613967d8c8..a480300a62f9af3e0f6a65ce7a18c6d3bc55fa53 100644
--- a/CVS/Entries
+++ b/CVS/Entries
@@ -1,74 +1,74 @@
-/.cvsignore/1.8/Fri Oct 19 07:58:48 2007//TBUGZILLA-3_5_1
-/Bugzilla.pm/1.80/Sat Oct 24 05:30:14 2009//TBUGZILLA-3_5_1
-/README/1.53/Wed Jul 29 08:18:52 2009//TBUGZILLA-3_5_1
-/admin.cgi/1.2/Fri Oct 19 06:46:10 2007//TBUGZILLA-3_5_1
-/attachment.cgi/1.163/Sat Oct 24 05:22:45 2009//TBUGZILLA-3_5_1
-/buglist.cgi/1.407/Tue Nov  3 19:46:13 2009//TBUGZILLA-3_5_1
-/bugzilla.dtd/1.16/Mon Oct 26 16:16:21 2009//TBUGZILLA-3_5_1
-/chart.cgi/1.32/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_5_1
-/checksetup.pl/1.564/Wed Aug 12 13:05:26 2009//TBUGZILLA-3_5_1
-/colchange.cgi/1.69/Tue Aug 18 22:09:34 2009//TBUGZILLA-3_5_1
-/collectstats.pl/1.71/Sun Sep  6 22:45:51 2009//TBUGZILLA-3_5_1
-/config.cgi/1.31/Sun Jan 25 12:42:51 2009//TBUGZILLA-3_5_1
-/createaccount.cgi/1.57/Sun Nov 11 22:03:16 2007//TBUGZILLA-3_5_1
-/describecomponents.cgi/1.40/Thu May 21 08:43:23 2009//TBUGZILLA-3_5_1
-/describekeywords.cgi/1.22/Sun Jan 25 12:42:51 2009//TBUGZILLA-3_5_1
-/duplicates.cgi/1.64/Sun Sep  6 22:45:51 2009//TBUGZILLA-3_5_1
-/editclassifications.cgi/1.33/Fri Jan  2 13:59:22 2009//TBUGZILLA-3_5_1
-/editcomponents.cgi/1.87/Sat Apr 11 23:33:24 2009//TBUGZILLA-3_5_1
-/editfields.cgi/1.12/Thu Jan 15 15:47:36 2009//TBUGZILLA-3_5_1
-/editflagtypes.cgi/1.56/Wed Aug  5 12:35:51 2009//TBUGZILLA-3_5_1
-/editgroups.cgi/1.92/Wed Sep 30 08:59:50 2009//TBUGZILLA-3_5_1
-/editkeywords.cgi/1.47/Mon Feb  2 18:59:17 2009//TBUGZILLA-3_5_1
-/editmilestones.cgi/1.62/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_5_1
-/editparams.cgi/1.50/Fri Aug 22 16:00:33 2008//TBUGZILLA-3_5_1
-/editproducts.cgi/1.150/Fri Oct 30 01:01:22 2009//TBUGZILLA-3_5_1
-/editsettings.cgi/1.11/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_5_1
-/editusers.cgi/1.154/Wed Aug  5 12:35:51 2009//TBUGZILLA-3_5_1
-/editvalues.cgi/1.40/Fri Jul 17 22:40:13 2009//TBUGZILLA-3_5_1
-/editversions.cgi/1.59/Fri Apr 10 09:36:43 2009//TBUGZILLA-3_5_1
-/editwhines.cgi/1.24/Mon Apr  6 20:57:13 2009//TBUGZILLA-3_5_1
-/editworkflow.cgi/1.6/Wed Jul  2 19:10:17 2008//TBUGZILLA-3_5_1
-/email_in.pl/1.27/Mon Nov  2 14:50:18 2009//TBUGZILLA-3_5_1
-/enter_bug.cgi/1.171/Tue Aug 11 04:34:18 2009//TBUGZILLA-3_5_1
-/importxml.pl/1.91/Fri Apr 10 22:29:58 2009//TBUGZILLA-3_5_1
-/index.cgi/1.29/Fri Oct  9 04:31:09 2009//TBUGZILLA-3_5_1
-/install-module.pl/1.5/Wed Sep 16 09:43:23 2009//TBUGZILLA-3_5_1
-/jobqueue.pl/1.4/Fri Sep  4 21:20:16 2009//TBUGZILLA-3_5_1
-/jsonrpc.cgi/1.3/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_5_1
-/long_list.cgi/1.48/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_1
-/migrate.pl/1.1/Sat Oct 24 05:30:15 2009//TBUGZILLA-3_5_1
-/mod_perl.pl/1.11/Thu Feb 12 19:14:56 2009//TBUGZILLA-3_5_1
-/page.cgi/1.21/Thu Aug  6 15:14:47 2009//TBUGZILLA-3_5_1
-/post_bug.cgi/1.203/Wed Sep 30 22:39:28 2009//TBUGZILLA-3_5_1
-/process_bug.cgi/1.423/Wed Sep 30 22:39:28 2009//TBUGZILLA-3_5_1
-/query.cgi/1.187/Tue Oct 27 16:55:31 2009//TBUGZILLA-3_5_1
-/quips.cgi/1.39/Wed Nov  5 18:38:49 2008//TBUGZILLA-3_5_1
-/relogin.cgi/1.43/Wed Apr 15 17:52:46 2009//TBUGZILLA-3_5_1
-/report.cgi/1.46/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_5_1
-/reports.cgi/1.95/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_5_1
-/request.cgi/1.50/Sun Aug  9 20:17:44 2009//TBUGZILLA-3_5_1
-/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-3_5_1
-/runtests.pl/1.5/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_1
-/sanitycheck.cgi/1.146/Mon Sep 21 22:10:07 2009//TBUGZILLA-3_5_1
-/sanitycheck.pl/1.4/Tue Dec 16 21:16:29 2008//TBUGZILLA-3_5_1
-/search_plugin.cgi/1.4/Tue Dec 16 22:39:41 2008//TBUGZILLA-3_5_1
-/show_activity.cgi/1.26/Sun Jan 25 12:42:52 2009//TBUGZILLA-3_5_1
-/show_bug.cgi/1.61/Wed Sep 30 22:39:29 2009//TBUGZILLA-3_5_1
-/showattachment.cgi/1.16/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_1
-/showdependencygraph.cgi/1.69/Fri Sep  4 21:08:05 2009//TBUGZILLA-3_5_1
-/showdependencytree.cgi/1.53/Sun Jun 29 21:57:54 2008//TBUGZILLA-3_5_1
-/sidebar.cgi/1.19/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_1
-/summarize_time.cgi/1.25/Sun Apr 12 12:08:46 2009//TBUGZILLA-3_5_1
-/testagent.cgi/1.3/Sun Feb 11 00:12:24 2007//TBUGZILLA-3_5_1
-/testserver.pl/1.22/Fri Sep  4 21:08:05 2009//TBUGZILLA-3_5_1
-/token.cgi/1.65/Fri Oct  9 04:31:09 2009//TBUGZILLA-3_5_1
-/userprefs.cgi/1.126/Mon Feb  2 19:21:09 2009//TBUGZILLA-3_5_1
-/votes.cgi/1.58/Wed Jul  1 11:02:21 2009//TBUGZILLA-3_5_1
-/whine.pl/1.40/Tue Jul  7 18:16:51 2009//TBUGZILLA-3_5_1
-/whineatnews.pl/1.31/Wed Apr  2 17:42:26 2008//TBUGZILLA-3_5_1
-/xml.cgi/1.14/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_1
-/xmlrpc.cgi/1.13/Sat Oct 24 05:21:07 2009//TBUGZILLA-3_5_1
+/.cvsignore/1.8/Fri Oct 19 07:58:48 2007//TBUGZILLA-3_5_2
+/Bugzilla.pm/1.83/Wed Nov 18 07:01:40 2009//TBUGZILLA-3_5_2
+/README/1.53/Wed Jul 29 08:18:52 2009//TBUGZILLA-3_5_2
+/admin.cgi/1.2/Fri Oct 19 06:46:10 2007//TBUGZILLA-3_5_2
+/attachment.cgi/1.163/Sat Oct 24 05:22:45 2009//TBUGZILLA-3_5_2
+/buglist.cgi/1.408/Tue Nov 10 16:31:47 2009//TBUGZILLA-3_5_2
+/bugzilla.dtd/1.16/Mon Oct 26 16:16:21 2009//TBUGZILLA-3_5_2
+/chart.cgi/1.32/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_5_2
+/checksetup.pl/1.564/Wed Aug 12 13:05:26 2009//TBUGZILLA-3_5_2
+/colchange.cgi/1.70/Tue Nov 10 16:31:47 2009//TBUGZILLA-3_5_2
+/collectstats.pl/1.71/Sun Sep  6 22:45:51 2009//TBUGZILLA-3_5_2
+/config.cgi/1.33/Tue Nov 10 16:31:47 2009//TBUGZILLA-3_5_2
+/createaccount.cgi/1.57/Sun Nov 11 22:03:16 2007//TBUGZILLA-3_5_2
+/describecomponents.cgi/1.40/Thu May 21 08:43:23 2009//TBUGZILLA-3_5_2
+/describekeywords.cgi/1.22/Sun Jan 25 12:42:51 2009//TBUGZILLA-3_5_2
+/duplicates.cgi/1.64/Sun Sep  6 22:45:51 2009//TBUGZILLA-3_5_2
+/editclassifications.cgi/1.33/Fri Jan  2 13:59:22 2009//TBUGZILLA-3_5_2
+/editcomponents.cgi/1.87/Sat Apr 11 23:33:24 2009//TBUGZILLA-3_5_2
+/editfields.cgi/1.12/Thu Jan 15 15:47:36 2009//TBUGZILLA-3_5_2
+/editflagtypes.cgi/1.56/Wed Aug  5 12:35:51 2009//TBUGZILLA-3_5_2
+/editgroups.cgi/1.92/Wed Sep 30 08:59:50 2009//TBUGZILLA-3_5_2
+/editkeywords.cgi/1.48/Mon Nov  9 19:51:58 2009//TBUGZILLA-3_5_2
+/editmilestones.cgi/1.62/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_5_2
+/editparams.cgi/1.50/Fri Aug 22 16:00:33 2008//TBUGZILLA-3_5_2
+/editproducts.cgi/1.150/Fri Oct 30 01:01:22 2009//TBUGZILLA-3_5_2
+/editsettings.cgi/1.11/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_5_2
+/editusers.cgi/1.154/Wed Aug  5 12:35:51 2009//TBUGZILLA-3_5_2
+/editvalues.cgi/1.40/Fri Jul 17 22:40:13 2009//TBUGZILLA-3_5_2
+/editversions.cgi/1.59/Fri Apr 10 09:36:43 2009//TBUGZILLA-3_5_2
+/editwhines.cgi/1.25/Mon Nov  9 18:35:39 2009//TBUGZILLA-3_5_2
+/editworkflow.cgi/1.6/Wed Jul  2 19:10:17 2008//TBUGZILLA-3_5_2
+/email_in.pl/1.28/Tue Nov 10 01:36:02 2009//TBUGZILLA-3_5_2
+/enter_bug.cgi/1.173/Mon Nov 16 11:19:17 2009//TBUGZILLA-3_5_2
+/importxml.pl/1.93/Tue Nov 10 16:31:47 2009//TBUGZILLA-3_5_2
+/index.cgi/1.29/Fri Oct  9 04:31:09 2009//TBUGZILLA-3_5_2
+/install-module.pl/1.5/Wed Sep 16 09:43:23 2009//TBUGZILLA-3_5_2
+/jobqueue.pl/1.4/Fri Sep  4 21:20:16 2009//TBUGZILLA-3_5_2
+/jsonrpc.cgi/1.4/Tue Nov 10 21:19:46 2009//TBUGZILLA-3_5_2
+/long_list.cgi/1.48/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_2
+/migrate.pl/1.1/Sat Oct 24 05:30:15 2009//TBUGZILLA-3_5_2
+/mod_perl.pl/1.12/Wed Nov 18 07:01:41 2009//TBUGZILLA-3_5_2
+/page.cgi/1.21/Thu Aug  6 15:14:47 2009//TBUGZILLA-3_5_2
+/post_bug.cgi/1.205/Tue Nov 10 21:21:52 2009//TBUGZILLA-3_5_2
+/process_bug.cgi/1.425/Tue Nov 10 16:31:48 2009//TBUGZILLA-3_5_2
+/query.cgi/1.189/Tue Nov 10 16:31:48 2009//TBUGZILLA-3_5_2
+/quips.cgi/1.39/Wed Nov  5 18:38:49 2008//TBUGZILLA-3_5_2
+/relogin.cgi/1.43/Wed Apr 15 17:52:46 2009//TBUGZILLA-3_5_2
+/report.cgi/1.47/Fri Nov 13 00:34:47 2009//TBUGZILLA-3_5_2
+/reports.cgi/1.95/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_5_2
+/request.cgi/1.50/Sun Aug  9 20:17:44 2009//TBUGZILLA-3_5_2
+/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-3_5_2
+/runtests.pl/1.5/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_2
+/sanitycheck.cgi/1.146/Mon Sep 21 22:10:07 2009//TBUGZILLA-3_5_2
+/sanitycheck.pl/1.4/Tue Dec 16 21:16:29 2008//TBUGZILLA-3_5_2
+/search_plugin.cgi/1.4/Tue Dec 16 22:39:41 2008//TBUGZILLA-3_5_2
+/show_activity.cgi/1.26/Sun Jan 25 12:42:52 2009//TBUGZILLA-3_5_2
+/show_bug.cgi/1.62/Tue Nov 10 16:31:48 2009//TBUGZILLA-3_5_2
+/showattachment.cgi/1.16/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_2
+/showdependencygraph.cgi/1.69/Fri Sep  4 21:08:05 2009//TBUGZILLA-3_5_2
+/showdependencytree.cgi/1.53/Sun Jun 29 21:57:54 2008//TBUGZILLA-3_5_2
+/sidebar.cgi/1.19/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_2
+/summarize_time.cgi/1.26/Tue Nov 10 16:31:48 2009//TBUGZILLA-3_5_2
+/testagent.cgi/1.3/Sun Feb 11 00:12:24 2007//TBUGZILLA-3_5_2
+/testserver.pl/1.22/Fri Sep  4 21:08:05 2009//TBUGZILLA-3_5_2
+/token.cgi/1.65/Fri Oct  9 04:31:09 2009//TBUGZILLA-3_5_2
+/userprefs.cgi/1.126/Mon Feb  2 19:21:09 2009//TBUGZILLA-3_5_2
+/votes.cgi/1.58/Wed Jul  1 11:02:21 2009//TBUGZILLA-3_5_2
+/whine.pl/1.40/Tue Jul  7 18:16:51 2009//TBUGZILLA-3_5_2
+/whineatnews.pl/1.31/Wed Apr  2 17:42:26 2008//TBUGZILLA-3_5_2
+/xml.cgi/1.14/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_5_2
+/xmlrpc.cgi/1.14/Tue Nov 10 21:19:46 2009//TBUGZILLA-3_5_2
 D/Bugzilla////
 D/contrib////
 D/docs////
diff --git a/CVS/Tag b/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/CVS/Tag
+++ b/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/buglist.cgi b/buglist.cgi
index a8103a1e0f95aa841dae03b1b021f50974c523b6..6b03b123d71708df2fb98919d5e2743de4a2ef11 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -667,7 +667,7 @@ if (trim($votes) && !grep($_ eq 'votes', @displaycolumns)) {
 
 # Remove the timetracking columns if they are not a part of the group
 # (happens if a user had access to time tracking and it was revoked/disabled)
-if (!Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"})) {
+if (!Bugzilla->user->is_timetracker) {
    @displaycolumns = grep($_ ne 'estimated_time', @displaycolumns);
    @displaycolumns = grep($_ ne 'remaining_time', @displaycolumns);
    @displaycolumns = grep($_ ne 'actual_time', @displaycolumns);
diff --git a/colchange.cgi b/colchange.cgi
index e28bccf0437ef420d6e5007531382a4bc3d89f93..6c2fa8090b772d6df1d61aba3674063d75fb3e62 100755
--- a/colchange.cgi
+++ b/colchange.cgi
@@ -77,7 +77,7 @@ if (Bugzilla::Keyword->any_exist) {
 if (Bugzilla->has_flags) {
     push(@masterlist, "flagtypes.name");
 }
-if (Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"})) {
+if (Bugzilla->user->is_timetracker) {
     push(@masterlist, ("estimated_time", "remaining_time", "actual_time",
                        "percentage_complete", "deadline")); 
 }
diff --git a/config.cgi b/config.cgi
index 282b959571a32f36caa34fe96d9643ca61721df2..22e1dc78a7fd9ab39eabf5c425b5bcaf88727e21 100755
--- a/config.cgi
+++ b/config.cgi
@@ -20,6 +20,7 @@
 #
 # Contributor(s): Terry Weissman <terry@mozilla.org>
 #                 Myk Melez <myk@mozilla.org>
+#                 Frank Becker <Frank@Frank-Becker.de>
 
 ################################################################################
 # Script Initialization
@@ -36,6 +37,7 @@ use Bugzilla::Error;
 use Bugzilla::Keyword;
 use Bugzilla::Status;
 use Bugzilla::Field;
+use Digest::MD5 qw(md5_base64);
 
 my $user = Bugzilla->login(LOGIN_OPTIONAL);
 my $cgi  = Bugzilla->cgi;
@@ -91,7 +93,7 @@ $vars->{'closed_status'} = \@closed_status;
 # Generate a list of fields that can be queried.
 my @fields = @{Bugzilla::Field->match({obsolete => 0})};
 # Exclude fields the user cannot query.
-if (!Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) {
+if (!Bugzilla->user->is_timetracker) {
     @fields = grep { $_->name !~ /^(estimated_time|remaining_time|work_time|percentage_complete|deadline)$/ } @fields;
 }
 $vars->{'field'} = \@fields;
@@ -110,11 +112,41 @@ sub display_data {
     my $format = $template->get_format("config", scalar($cgi->param('format')),
                                        scalar($cgi->param('ctype')) || "js");
 
-    # Return HTTP headers.
-    print "Content-Type: $format->{'ctype'}\n\n";
-
-    # Generate the configuration file and return it to the user.
-    $template->process($format->{'template'}, $vars)
+    # Generate the configuration data.
+    my $output;
+    $template->process($format->{'template'}, $vars, \$output)
       || ThrowTemplateError($template->error());
+
+    # Wide characters cause md5_base64() to die.
+    my $digest_data = $output;
+    utf8::encode($digest_data) if utf8::is_utf8($digest_data);
+    my $digest = md5_base64($digest_data);
+
+    # ETag support.
+    my $if_none_match = $cgi->http('If-None-Match') || "";
+    my $found304;
+    my @if_none = split(/[\s,]+/, $if_none_match);
+    foreach my $if_none (@if_none) {
+        # remove quotes from begin and end of the string
+        $if_none =~ s/^\"//g;
+        $if_none =~ s/\"$//g;
+        if ($if_none eq $digest or $if_none eq '*') {
+            # leave the loop after the first match
+            $found304 = $if_none;
+            last;
+        }
+    }
+ 
+   if ($found304) {
+        print $cgi->header(-type => 'text/html',
+                           -ETag => $found304,
+                           -status => '304 Not Modified');
+    }
+    else {
+        # Return HTTP headers.
+        print $cgi->header (-ETag => $digest,
+                            -type => $format->{'ctype'});
+        print $output;
+    }
     exit;
 }
diff --git a/contrib/CVS/Entries b/contrib/CVS/Entries
index d73e9d5d1b447ad68c7e67c759cde2008ff63f3a..caacea19565c42254027e377a02e602f044683d6 100644
--- a/contrib/CVS/Entries
+++ b/contrib/CVS/Entries
@@ -1,16 +1,16 @@
-/README/1.12/Tue Oct 16 10:13:54 2007//TBUGZILLA-3_5_1
-/bugzilla-queue/1.1/Fri Sep  4 21:20:41 2009//TBUGZILLA-3_5_1
-/bugzilla_ldapsync.rb/1.2/Sat Apr 26 16:35:04 2003//TBUGZILLA-3_5_1
-/bz_webservice_demo.pl/1.14/Mon May 19 18:38:26 2008//TBUGZILLA-3_5_1
-/bzdbcopy.pl/1.9/Sat Oct 24 05:30:19 2009//TBUGZILLA-3_5_1
-/cvs-update.pl/1.1/Tue Nov 11 05:58:52 2003//TBUGZILLA-3_5_1
-/jb2bz.py/1.5/Fri Aug 26 23:11:32 2005//TBUGZILLA-3_5_1
-/merge-users.pl/1.8/Tue Mar 11 15:50:04 2008//TBUGZILLA-3_5_1
-/mysqld-watcher.pl/1.5/Thu Mar 27 00:06:53 2003//TBUGZILLA-3_5_1
-/recode.pl/1.6/Fri Feb 20 21:54:16 2009//TBUGZILLA-3_5_1
-/sendbugmail.pl/1.8/Fri Oct 19 06:46:17 2007//TBUGZILLA-3_5_1
-/sendunsentbugmail.pl/1.10/Fri Oct 19 06:46:17 2007//TBUGZILLA-3_5_1
-/syncLDAP.pl/1.14/Mon Jul  7 09:01:51 2008//TBUGZILLA-3_5_1
-/yp_nomail.sh/1.1/Tue Sep 12 23:50:31 2000//TBUGZILLA-3_5_1
+/README/1.12/Tue Oct 16 10:13:54 2007//TBUGZILLA-3_5_2
+/bugzilla-queue/1.1/Fri Sep  4 21:20:41 2009//TBUGZILLA-3_5_2
+/bugzilla_ldapsync.rb/1.2/Sat Apr 26 16:35:04 2003//TBUGZILLA-3_5_2
+/bz_webservice_demo.pl/1.14/Mon May 19 18:38:26 2008//TBUGZILLA-3_5_2
+/bzdbcopy.pl/1.9/Sat Oct 24 05:30:19 2009//TBUGZILLA-3_5_2
+/cvs-update.pl/1.1/Tue Nov 11 05:58:52 2003//TBUGZILLA-3_5_2
+/jb2bz.py/1.5/Fri Aug 26 23:11:32 2005//TBUGZILLA-3_5_2
+/merge-users.pl/1.8/Tue Mar 11 15:50:04 2008//TBUGZILLA-3_5_2
+/mysqld-watcher.pl/1.5/Thu Mar 27 00:06:53 2003//TBUGZILLA-3_5_2
+/recode.pl/1.6/Fri Feb 20 21:54:16 2009//TBUGZILLA-3_5_2
+/sendbugmail.pl/1.8/Fri Oct 19 06:46:17 2007//TBUGZILLA-3_5_2
+/sendunsentbugmail.pl/1.10/Fri Oct 19 06:46:17 2007//TBUGZILLA-3_5_2
+/syncLDAP.pl/1.14/Mon Jul  7 09:01:51 2008//TBUGZILLA-3_5_2
+/yp_nomail.sh/1.1/Tue Sep 12 23:50:31 2000//TBUGZILLA-3_5_2
 D/bugzilla-submit////
 D/cmdline////
diff --git a/contrib/CVS/Tag b/contrib/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/contrib/CVS/Tag
+++ b/contrib/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/contrib/bugzilla-submit/CVS/Entries b/contrib/bugzilla-submit/CVS/Entries
index eea9e2820f3a5771bfb52faf21f9131c9a94f158..53f0f90893294b147930952b58c9c74ac79fd423 100644
--- a/contrib/bugzilla-submit/CVS/Entries
+++ b/contrib/bugzilla-submit/CVS/Entries
@@ -1,5 +1,5 @@
-/README/1.2/Wed Dec 10 23:36:21 2003//TBUGZILLA-3_5_1
-/bugdata.txt/1.2/Fri Jan 16 22:26:49 2004//TBUGZILLA-3_5_1
-/bugzilla-submit/1.7/Wed Sep 30 08:55:08 2009//TBUGZILLA-3_5_1
-/bugzilla-submit.xml/1.7/Mon Apr 11 14:23:32 2005//TBUGZILLA-3_5_1
+/README/1.2/Wed Dec 10 23:36:21 2003//TBUGZILLA-3_5_2
+/bugdata.txt/1.2/Fri Jan 16 22:26:49 2004//TBUGZILLA-3_5_2
+/bugzilla-submit/1.7/Wed Sep 30 08:55:08 2009//TBUGZILLA-3_5_2
+/bugzilla-submit.xml/1.7/Mon Apr 11 14:23:32 2005//TBUGZILLA-3_5_2
 D
diff --git a/contrib/bugzilla-submit/CVS/Tag b/contrib/bugzilla-submit/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/contrib/bugzilla-submit/CVS/Tag
+++ b/contrib/bugzilla-submit/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/contrib/cmdline/CVS/Entries b/contrib/cmdline/CVS/Entries
index af8d94b9f1601ad9e3737876acd6d62f448384d7..56be3dace60d41d1bcb8f5939d3b2a4e48980db1 100644
--- a/contrib/cmdline/CVS/Entries
+++ b/contrib/cmdline/CVS/Entries
@@ -1,8 +1,8 @@
-/bugcount/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_1
-/bugids/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_1
-/buglist/1.2/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_1
-/bugs/1.2/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_1
-/bugslink/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_1
-/makequery/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_1
-/query.conf/1.3/Fri Aug 26 23:11:32 2005//TBUGZILLA-3_5_1
+/bugcount/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_2
+/bugids/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_2
+/buglist/1.2/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_2
+/bugs/1.2/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_2
+/bugslink/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_2
+/makequery/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_5_2
+/query.conf/1.3/Fri Aug 26 23:11:32 2005//TBUGZILLA-3_5_2
 D
diff --git a/contrib/cmdline/CVS/Tag b/contrib/cmdline/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/contrib/cmdline/CVS/Tag
+++ b/contrib/cmdline/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/CVS/Entries b/docs/CVS/Entries
index ec9822a478ba051b77f0c7ab64a79eb229ce8ee4..a9ae712658d3c98d951bb95cea03e249ccf593fc 100644
--- a/docs/CVS/Entries
+++ b/docs/CVS/Entries
@@ -1,4 +1,4 @@
-/makedocs.pl/1.21/Thu Jul 16 01:16:11 2009//TBUGZILLA-3_5_1
-/style.css/1.1/Fri Apr  4 06:48:15 2008//TBUGZILLA-3_5_1
+/makedocs.pl/1.21/Thu Jul 16 01:16:11 2009//TBUGZILLA-3_5_2
+/style.css/1.1/Fri Apr  4 06:48:15 2008//TBUGZILLA-3_5_2
 D/en////
 D/lib////
diff --git a/docs/CVS/Tag b/docs/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/CVS/Tag
+++ b/docs/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/bugzilla.ent b/docs/bugzilla.ent
index dc8d522f2bee9d5c35fc818108ecc6f57baaca30..379703a54a0cf0065213588afa9f3c03189a1d4f 100644
--- a/docs/bugzilla.ent
+++ b/docs/bugzilla.ent
@@ -27,6 +27,7 @@
 <!ENTITY min-authen-radius-ver "any">
 <!ENTITY min-soap-lite-ver "0.710.06">
 <!ENTITY min-json-rpc-ver "any">
+<!ENTITY min-test-taint-ver "any">
 <!ENTITY min-html-parser-ver "3.40">
 <!ENTITY min-html-scrubber-ver "any">
 <!ENTITY min-email-mime-attachment-stripper-ver "any">
diff --git a/docs/en/CVS/Entries b/docs/en/CVS/Entries
index ad2fa33e287f02f1fa46c1a765073a5aec1e75e3..c3d08654c80ad15597fe5f36e01e896f9e13de51 100644
--- a/docs/en/CVS/Entries
+++ b/docs/en/CVS/Entries
@@ -1,5 +1,5 @@
-/.cvsignore/1.4/Fri Apr  4 11:29:21 2008//TBUGZILLA-3_5_1
-/README.docs/1.12/Fri Apr  4 06:48:15 2008//TBUGZILLA-3_5_1
-/rel_notes.txt/1.48/Fri Apr  4 06:48:16 2008//TBUGZILLA-3_5_1
+/.cvsignore/1.4/Fri Apr  4 11:29:21 2008//TBUGZILLA-3_5_2
+/README.docs/1.12/Fri Apr  4 06:48:15 2008//TBUGZILLA-3_5_2
+/rel_notes.txt/1.48/Fri Apr  4 06:48:16 2008//TBUGZILLA-3_5_2
 D/images////
 D/xml////
diff --git a/docs/en/CVS/Tag b/docs/en/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/en/CVS/Tag
+++ b/docs/en/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/en/html/Bugzilla-Guide.html b/docs/en/html/Bugzilla-Guide.html
index ac7f6155c2643c5b1b0ef7dad1450994c2e164a3..37c7471b984674317b52e985b3ed8e8bb99b2f52 100644
--- a/docs/en/html/Bugzilla-Guide.html
+++ b/docs/en/html/Bugzilla-Guide.html
@@ -2,7 +2,7 @@
 <HTML
 ><HEAD
 ><TITLE
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TITLE
 ><META
@@ -44,7 +44,7 @@ CLASS="TITLEPAGE"
 CLASS="title"
 ><A
 NAME="AEN2"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</A
 ></H1
@@ -53,7 +53,7 @@ CLASS="corpauthor"
 >The Bugzilla Team</H3
 ><P
 CLASS="pubdate"
->2009-11-05<BR></P
+>2009-11-18<BR></P
 ><DIV
 ><DIV
 CLASS="abstract"
@@ -685,7 +685,7 @@ NAME="newversions"
 >1.3. New Versions</A
 ></H2
 ><P
->&#13;      This is the 3.5.1 version of The Bugzilla Guide. It is so named 
+>&#13;      This is the 3.5.2 version of The Bugzilla Guide. It is so named 
       to match the current version of Bugzilla. 
        This version of the guide, like its associated Bugzilla version, is a
       development version. 
diff --git a/docs/en/html/about.html b/docs/en/html/about.html
index b9381fe8ae60d9cc33a1d44ade9ea90886a213d6..22d1c7b9c38d0f35bbecc9f92bb4e4145e84a769 100644
--- a/docs/en/html/about.html
+++ b/docs/en/html/about.html
@@ -7,12 +7,12 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -38,7 +38,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
@@ -157,7 +157,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TD
 ><TD
diff --git a/docs/en/html/administration.html b/docs/en/html/administration.html
index 9e2c5b18919878c842a128a5fd96d38c7d0bdb61..fca9434b4817dd11a2b77b908a2d62ecefb494b4 100644
--- a/docs/en/html/administration.html
+++ b/docs/en/html/administration.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/api/Bugzilla.html b/docs/en/html/api/Bugzilla.html
index c8100326e561f51b30e54f4033a73fb810fa83e0..df54b300345d326042bc51d4f2bd1e8e420caef7 100644
--- a/docs/en/html/api/Bugzilla.html
+++ b/docs/en/html/api/Bugzilla.html
@@ -84,6 +84,19 @@ name="METHODS"
 <dd>
 <p>The current <code  class="code">cgi</code> object. Note that modules should <b>not</b> be using this in general. Not all Bugzilla actions are cgi requests. Its useful as a convenience method for those scripts/templates which are only use via CGI, though.</p>
 
+<dt><a name="input_params"
+><code  class="code">input_params</code></a></dt>
+
+<dd>
+<p>When running under the WebService, this is a hashref containing the arguments passed to the WebService method that was called. When running in a normal script, this is a hashref containing the contents of the CGI parameters.</p>
+
+<p>Modifying this hashref will modify the CGI parameters or the WebService arguments (depending on what <code  class="code">input_params</code> currently represents).</p>
+
+<p>This should be used instead of <a href="#cgi" class="podlinkpod"
+>&#34;cgi&#34;</a> in situations where your code could be being called by either a normal CGI script or a WebService method, such as during a code hook.</p>
+
+<p><b>Note:</b> When <code  class="code">input_params</code> represents the CGI parameters, any parameter specified more than once (like <code  class="code">foo=bar&#38;foo=baz</code>) will appear as an arrayref in the hash, but any value specified only once will appear as a scalar. This means that even if a value <i>can</i> appear multiple times, if it only <i>does</i> appear once, then it will be a scalar in <code  class="code">input_params</code>, not an arrayref.</p>
+
 <dt><a name="user"
 ><code  class="code">user</code></a></dt>
 
diff --git a/docs/en/html/api/Bugzilla/Comment.html b/docs/en/html/api/Bugzilla/Comment.html
new file mode 100644
index 0000000000000000000000000000000000000000..077e6aa5e21d36b64fd33d891461606bdb24eedd
--- /dev/null
+++ b/docs/en/html/api/Bugzilla/Comment.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <title>
+Bugzilla::Comment</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link rel="stylesheet" title="style" type="text/css" href=".././../../../style.css" media="all" >
+
+</head>
+  <body id="pod">
+<p class="backlinktop"><b><a name="___top" href="../index.html" accesskey="1" title="All Documents">&lt;&lt;</a></b></p>
+<h1>Bugzilla::Comment</h1>
+<div class='indexgroup'>
+<ul   class='indexList indexList1'>
+  <li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
+  <li class='indexItem indexItem1'><a href='#SYNOPSIS'>SYNOPSIS</a>
+  <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
+  <ul   class='indexList indexList2'>
+    <li class='indexItem indexItem2'><a href='#Accessors'>Accessors</a>
+  </ul>
+</ul>
+</div>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="NAME"
+>NAME</a></h1>
+
+<p>Bugzilla::Comment - A Comment for a given bug</p>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="SYNOPSIS"
+>SYNOPSIS</a></h1>
+
+<pre  class="code"> use Bugzilla::Comment;
+
+ my $comment = Bugzilla::Comment-&#62;new($comment_id);
+ my $comments = Bugzilla::Comment-&#62;new_from_list($comment_ids);</pre>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="DESCRIPTION"
+>DESCRIPTION</a></h1>
+
+<p>Bugzilla::Comment represents a comment attached to a bug.</p>
+
+<p>This implements all standard <code  class="code">Bugzilla::Object</code> methods. See <a href="../Bugzilla/Object.html" class="podlinkpod"
+>Bugzilla::Object</a> for more details.</p>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="Accessors"
+>Accessors</a></h2>
+
+<dl>
+<dt><a name="bug_id"
+><code  class="code">bug_id</code></a></dt>
+
+<dd>
+<p><code  class="code">int</code> The ID of the bug to which the comment belongs.</p>
+
+<dt><a name="creation_ts"
+><code  class="code">creation_ts</code></a></dt>
+
+<dd>
+<p><code  class="code">string</code> The comment creation timestamp.</p>
+
+<dt><a name="body"
+><code  class="code">body</code></a></dt>
+
+<dd>
+<p><code  class="code">string</code> The body without any special additional text.</p>
+
+<dt><a name="work_time"
+><code  class="code">work_time</code></a></dt>
+
+<dd>
+<p><code  class="code">string</code> Time spent as related to this comment.</p>
+
+<dt><a name="is_private"
+><code  class="code">is_private</code></a></dt>
+
+<dd>
+<p><code  class="code">boolean</code> Comment is marked as private</p>
+
+<dt><a name="already_wrapped"
+><code  class="code">already_wrapped</code></a></dt>
+
+<dd>
+<p>If this comment is stored in the database word-wrapped, this will be <code  class="code">1</code>. <code  class="code">0</code> otherwise.</p>
+
+<dt><a name="author"
+><code  class="code">author</code></a></dt>
+
+<dd>
+<p><a href="../Bugzilla/User.html" class="podlinkpod"
+>Bugzilla::User</a> who created the comment.</p>
+
+<dt><a name="body_full"
+><code  class="code">body_full</code></a></dt>
+
+<dd>
+<dl>
+<dt><a name="Description"
+><b>Description</b></a></dt>
+
+<dd>
+<p><code  class="code">string</code> Body of the comment, including any special text (such as &#34;this bug was marked as a duplicate of...&#34;).</p>
+
+<dt><a name="Params"
+><b>Params</b></a></dt>
+
+<dd>
+<dl>
+<dt><a name="is_bugmail"
+><code  class="code">is_bugmail</code></a></dt>
+
+<dd>
+<p><code  class="code">boolean</code>. <code  class="code">1</code> if this comment should be formatted specifically for bugmail.</p>
+
+<dt><a name="wrap"
+><code  class="code">wrap</code></a></dt>
+
+<dd>
+<p><code  class="code">boolean</code>. <code  class="code">1</code> if the comment should be returned word-wrapped.</p>
+</dd>
+</dl>
+
+<dt><a name="Returns"
+><b>Returns</b></a></dt>
+
+<dd>
+<p>A string, the full text of the comment as it would be displayed to an end-user.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<p class="backlinkbottom"><b><a name="___bottom" href="../index.html" title="All Documents">&lt;&lt;</a></b></p>
+
+<!-- end doc -->
+
+</body></html>
diff --git a/docs/en/html/api/Bugzilla/Hook.html b/docs/en/html/api/Bugzilla/Hook.html
index aa06ccaf869f2cc66d318abb8b2251b5c941c003..087cc8eaf4bb98f193e750bd7ffcb8769bd03511 100644
--- a/docs/en/html/api/Bugzilla/Hook.html
+++ b/docs/en/html/api/Bugzilla/Hook.html
@@ -28,6 +28,7 @@ Bugzilla::Hook</title>
     <li class='indexItem indexItem2'><a href='#auth-verify_methods'>auth-verify_methods</a>
     <li class='indexItem indexItem2'><a href='#bug-columns'>bug-columns</a>
     <li class='indexItem indexItem2'><a href='#bug-end_of_create'>bug-end_of_create</a>
+    <li class='indexItem indexItem2'><a href='#bug-end_of_create_validators'>bug-end_of_create_validators</a>
     <li class='indexItem indexItem2'><a href='#bug-end_of_update'>bug-end_of_update</a>
     <li class='indexItem indexItem2'><a href='#bug-fields'>bug-fields</a>
     <li class='indexItem indexItem2'><a href='#bug-format_comment'>bug-format_comment</a>
@@ -42,6 +43,9 @@ Bugzilla::Hook</title>
     <li class='indexItem indexItem2'><a href='#install-update_db'>install-update_db</a>
     <li class='indexItem indexItem2'><a href='#db_schema-abstract_schema'>db_schema-abstract_schema</a>
     <li class='indexItem indexItem2'><a href='#mailer-before_send'>mailer-before_send</a>
+    <li class='indexItem indexItem2'><a href='#object-before_create'>object-before_create</a>
+    <li class='indexItem indexItem2'><a href='#object-before_set'>object-before_set</a>
+    <li class='indexItem indexItem2'><a href='#object-end_of_create_validators'>object-end_of_create_validators</a>
     <li class='indexItem indexItem2'><a href='#page-before_template'>page-before_template</a>
     <li class='indexItem indexItem2'><a href='#product-confirm_delete'>product-confirm_delete</a>
     <li class='indexItem indexItem2'><a href='#sanitycheck-check'>sanitycheck-check</a>
@@ -95,6 +99,9 @@ name="Arguments_Passed_to_Hooks"
 <p>These params are accessible through <a href="../Bugzilla.html#hook_args" class="podlinkpod"
 >&#34;hook_args&#34; in Bugzilla</a>. That returns a hashref. Very frequently, if you want your hook to do anything, you have to modify these variables.</p>
 
+<p>You may also want to use <a href="../Bugzilla.html#input_params" class="podlinkpod"
+>&#34;input_params&#34; in Bugzilla</a> to get parameters that were passed to the current CGI script or WebService method.</p>
+
 <h2><a class='u' href='#___top' title='click to go to top of document'
 name="Versioning_Extensions"
 >Versioning Extensions</a></h2>
@@ -225,6 +232,24 @@ name="bug-end_of_create"
 ><code  class="code">timestamp</code> - The timestamp used for all updates in this transaction.</a></dt>
 </dl>
 
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="bug-end_of_create_validators"
+>bug-end_of_create_validators</a></h2>
+
+<p>This happens during <a href="../Bugzilla/Bug.html#create" class="podlinkpod"
+>&#34;create&#34; in Bugzilla::Bug</a>, after all parameters have been validated, but before anything has been inserted into the database.</p>
+
+<p>Params:</p>
+
+<dl>
+<dt><a name="params"
+><code  class="code">params</code></a></dt>
+
+<dd>
+<p>A hashref. The validated parameters passed to <code  class="code">create</code>.</p>
+</dd>
+</dl>
+
 <h2><a class='u' href='#___top' title='click to go to top of document'
 name="bug-end_of_update"
 >bug-end_of_update</a></h2>
@@ -494,6 +519,86 @@ name="mailer-before_send"
 ><code  class="code">email</code> - The <code  class="code">Email::MIME</code> object that&#39;s about to be sent.</a></dt>
 </dl>
 
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="object-before_create"
+>object-before_create</a></h2>
+
+<p>This happens at the beginning of <a href="../Bugzilla/Object.html#create" class="podlinkpod"
+>&#34;create&#34; in Bugzilla::Object</a>.</p>
+
+<p>Params:</p>
+
+<dl>
+<dt><a name="class"
+><code  class="code">class</code></a></dt>
+
+<dd>
+<p>The name of the class that <code  class="code">create</code> was called on. You can check this like <code  class="code">if ($class-&#62;isa(&#39;Some::Class&#39;))</code> in your code, to perform specific tasks before <code  class="code">create</code> for only certain classes.</p>
+
+<dt><a name="params"
+><code  class="code">params</code></a></dt>
+
+<dd>
+<p>A hashref. The set of named parameters passed to <code  class="code">create</code>.</p>
+</dd>
+</dl>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="object-before_set"
+>object-before_set</a></h2>
+
+<p>Called during <a href="../Bugzilla/Object.html#set" class="podlinkpod"
+>&#34;set&#34; in Bugzilla::Object</a>, before any actual work is done. You can use this to perform actions before a value is changed for specific fields on certain types of objects.</p>
+
+<p>Params:</p>
+
+<dl>
+<dt><a name="object"
+><code  class="code">object</code></a></dt>
+
+<dd>
+<p>The object that <code  class="code">set</code> was called on. You will probably want to do something like <code  class="code">if ($object-&#62;isa(&#39;Some::Class&#39;))</code> in your code to limit your changes to only certain subclasses of Bugzilla::Object.</p>
+
+<dt><a name="field"
+><code  class="code">field</code></a></dt>
+
+<dd>
+<p>The name of the field being updated in the object.</p>
+
+<dt><a name="value"
+><code  class="code">value</code></a></dt>
+
+<dd>
+<p>The value being set on the object.</p>
+</dd>
+</dl>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="object-end_of_create_validators"
+>object-end_of_create_validators</a></h2>
+
+<p>Called at the end of <a href="../Bugzilla/Object.html#run_create_validators" class="podlinkpod"
+>&#34;run_create_validators&#34; in Bugzilla::Object</a>. You can use this to run additional validation when creating an object.</p>
+
+<p>If a subclass has overridden <code  class="code">run_create_validators</code>, then this usually happens <i>before</i> the subclass does its custom validation.</p>
+
+<p>Params:</p>
+
+<dl>
+<dt><a name="class"
+><code  class="code">class</code></a></dt>
+
+<dd>
+<p>The name of the class that <code  class="code">create</code> was called on. You can check this like <code  class="code">if ($class-&#62;isa(&#39;Some::Class&#39;))</code> in your code, to perform specific tasks for only certain classes.</p>
+
+<dt><a name="params"
+><code  class="code">params</code></a></dt>
+
+<dd>
+<p>A hashref. The set of named parameters passed to <code  class="code">create</code>, modified and validated by the <code  class="code">VALIDATORS</code> specified for the object.</p>
+</dd>
+</dl>
+
 <h2><a class='u' href='#___top' title='click to go to top of document'
 name="page-before_template"
 >page-before_template</a></h2>
diff --git a/docs/en/html/api/Bugzilla/Install/Requirements.html b/docs/en/html/api/Bugzilla/Install/Requirements.html
index e8d098c708a74a570f55750bd3f0f3d19111e831..99b524f80d205d8313be8aec3d6ea88ef5a66ff5 100644
--- a/docs/en/html/api/Bugzilla/Install/Requirements.html
+++ b/docs/en/html/api/Bugzilla/Install/Requirements.html
@@ -43,9 +43,35 @@ name="CONSTANTS"
 
 <dd>
 <p>An arrayref of hashrefs that describes the perl modules required by Bugzilla.
-The hashes have two keys,
-<code  class="code">name</code> and <code  class="code">version</code>,
-which represent the name of the module and the version that we require.</p>
+The hashes have three keys:</p>
+
+<dl>
+<dt><a name="package_-_The_name_of_the_Perl_package_that_you&#39;d_find_on_CPAN_for_this_requirement."
+><code  class="code">package</code> - The name of the Perl package that you&#39;d find on CPAN for this requirement.
+<dt><a name="module_-_The_name_of_a_module_that_can_be_passed_to_the_install_command_in_CPAN.pm_to_install_this_module."
+><code  class="code">module</code> - The name of a module that can be passed to the <code  class="code">install</code> command in <code  class="code">CPAN.pm</code> to install this module.
+<dt><a name="version_-_The_version_of_this_module_that_we_require,_or_0_if_any_version_is_acceptable."
+><code  class="code">version</code> - The version of this module that we require,
+or <code  class="code">0</code> if any version is acceptable.</a></dt>
+</dl>
+
+<dt><a name="OPTIONAL_MODULES"
+><code  class="code">OPTIONAL_MODULES</code></a></dt>
+
+<dd>
+<p>An arrayref of hashrefs that describes the perl modules that add additional features to Bugzilla if installed.
+Its hashes have all the fields of <a href="#REQUIRED_MODULES" class="podlinkpod"
+>&#34;REQUIRED_MODULES&#34;</a>,
+plus a <code  class="code">feature</code> item--an arrayref of strings that describe what features require this module.</p>
+
+<dt><a name="FEATURE_FILES"
+><code  class="code">FEATURE_FILES</code></a></dt>
+
+<dd>
+<p>A hashref that describes what files should only be compiled if a certain feature is enabled.
+The feature is the key,
+and the values are arrayrefs of file names (which are passed to <code  class="code">glob</code>,
+so shell patterns work).</p>
 </dd>
 </dl>
 
@@ -144,6 +170,12 @@ $output)</code></a></dt>
                            L&#60;/REQUIRED_MODULES&#62;.
 
  Returns:     nothing</pre>
+
+<dt><a name="map_files_to_features"
+><code  class="code">map_files_to_features</code></a></dt>
+
+<dd>
+<p>Returns a hashref where file names are the keys and the value is the feature that must be enabled in order to compile that file.</p>
 </dd>
 </dl>
 <p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents">&lt;&lt;</a></b></p>
diff --git a/docs/en/html/api/Bugzilla/Migrate.html b/docs/en/html/api/Bugzilla/Migrate.html
index 7f081908ec019503584479e3fae5afa42bf54eb2..5c81eba64cb56fc47a9486736af582f87c6f052b 100644
--- a/docs/en/html/api/Bugzilla/Migrate.html
+++ b/docs/en/html/api/Bugzilla/Migrate.html
@@ -158,6 +158,11 @@ If it&#39;s a reference,
 name="parse_date"
 >parse_date</a></h2>
 
+<p>(Note: Usually you don&#39;t need to call this,
+because <a href="#translate_bug" class="podlinkpod"
+>&#34;translate_bug&#34;</a> handles date translations for you,
+for bug data.)</p>
+
 <p>Parses a date string and returns a formatted date string that can be inserted into the database.
 If the input date is missing a timezone,
 the &#34;timezone&#34; configuration parameter will be used as the timezone of the date.</p>
@@ -166,7 +171,10 @@ the &#34;timezone&#34; configuration parameter will be used as the timezone of t
 name="translate_bug"
 >translate_bug</a></h2>
 
-<p>Uses the <code  class="code">$translate_fields</code> and &#60;$translate_values&#62; configuration variables to convert a hashref of &#34;other bug-tracker&#34; fields into Bugzilla fields.
+<p>(Note: Normally you don&#39;t have to call this yourself,
+as <code  class="code">Bugzilla::Migrate</code> does it for you.)</p>
+
+<p>Uses the <code  class="code">$translate_fields</code> and <code  class="code">$translate_values</code> configuration variables to convert a hashref of &#34;other bug-tracker&#34; fields into Bugzilla fields.
 It takes one argument,
 the hashref to convert.
 Any unrecognized fields will have their value prepended to the <code  class="code">comment</code> element in the returned hashref,
@@ -185,10 +193,14 @@ the hashref that you pass in will be destroyed (all keys will be deleted).</p>
 name="translate_value"
 >translate_value</a></h2>
 
-<p>(Note: Normally you will want to use <a href="#translate_bug" class="podlinkpod"
->&#34;translate_bug&#34;</a> instead of this.)</p>
+<p>(Note: Generally you only need to use this during <a href="#_read_products" class="podlinkpod"
+>&#34;_read_products&#34;</a> and <a href="#_read_users" class="podlinkpod"
+>&#34;_read_users&#34;</a> if necessary,
+because the data returned from <a href="#_read_bugs" class="podlinkpod"
+>&#34;_read_bugs&#34;</a> will be put through <a href="#translate_bug" class="podlinkpod"
+>&#34;translate_bug&#34;</a>.)</p>
 
-<p>Uses the <code  class="code">translate_values</code> configuration variable to convert field values from your bug-tracker to Bugzilla.
+<p>Uses the <code  class="code">$translate_values</code> configuration variable to convert field values from your bug-tracker to Bugzilla.
 Takes two arguments,
 the first being a field name and the second being a value.
 If the value is an arrayref,
@@ -198,17 +210,13 @@ If the value is an arrayref,
 any date field will be converted into ISO 8601 format,
 for inserting into the database.</p>
 
-<p>You must use this to translate any bug field values that you return during <a href="#_read_bugs" class="podlinkpod"
->&#34;_read_bugs&#34;</a>,
-so that they are valid values for <a href="../Bugzilla/Bug.html#create" class="podlinkpod"
->&#34;create&#34; in Bugzilla::Bug</a>.</p>
-
 <h2><a class='u' href='#___top' title='click to go to top of document'
 name="translate_field"
 >translate_field</a></h2>
 
-<p>(Note: Normally you will want to use <a href="#translate_bug" class="podlinkpod"
->&#34;translate_bug&#34;</a> instead of this.)</p>
+<p>(Note: Normally you don&#39;t need to use this,
+because <a href="#translate_bug" class="podlinkpod"
+>&#34;translate_bug&#34;</a> handles it for you.)</p>
 
 <p>Translates a field name in your bug-tracker to a field name in Bugzilla,
 using the rules described in the description of the <code  class="code">$translate_fields</code> configuration variable.</p>
@@ -231,7 +239,7 @@ name="_read_bugs"
 The hashes will be passed to <a href="../Bugzilla/Bug.html#create" class="podlinkpod"
 >&#34;create&#34; in Bugzilla::Bug</a> to create bugs in Bugzilla.
 In addition to the normal <code  class="code">create</code> fields,
-the hashes can contain two additional items:</p>
+the hashes can contain three additional items:</p>
 
 <dl>
 <dt><a name="comments"
@@ -244,7 +252,7 @@ The keys should be the names of columns in the longdescs table that you want to
 <code  class="code">who</code> must be a username instead of a user id,
 though.</p>
 
-<p>You don&#39;t need to specify a value for <code  class="code">bug_id</code> column.</p>
+<p>You don&#39;t need to specify a value for the <code  class="code">bug_id</code> column.</p>
 
 <dt><a name="history"
 >history</a></dt>
@@ -257,7 +265,7 @@ The keys should be the names of columns in the bugs_activity table to set for ea
 though,
 and <code  class="code">field</code> (containing the name of some field) is taken instead of <code  class="code">fieldid</code>.</p>
 
-<p>You don&#39;t need to specify a value for <code  class="code">bug_id</code> column.</p>
+<p>You don&#39;t need to specify a value for the <code  class="code">bug_id</code> column.</p>
 
 <dt><a name="attachments"
 >attachments</a></dt>
@@ -269,7 +277,7 @@ representing values to pass to <a href="../Bugzilla/Attachment.html#create" clas
 (Remember that the <code  class="code">data</code> argument must be a file handle--we recommend using <a href="../IO/File.html#new_tmpfile" class="podlinkpod"
 >&#34;new_tmpfile&#34; in IO::File</a> to create anonymous temporary files for this purpose.) You should specify a <code  class="code">submitter</code> argument containing the username of the attachment&#39;s submitter.</p>
 
-<p>You don&#39;t need to specify a value for the <code  class="code">bug</code> argument.</p>
+<p>You don&#39;t need to specify a value for the the <code  class="code">bug</code> argument.</p>
 </dd>
 </dl>
 
@@ -330,12 +338,6 @@ describing configuration variables for migrating from your bug-tracker.
 You should always include the default <code  class="code">CONFIG_VARS</code> (by calling $self-&#62;SUPER::CONFIG_VARS) as part of your return value,
 if you override this method.</p>
 
-<p>In addition to the normal fields from <code  class="code">LOCALCONFIG_VARS</code>,
-you can also specify a <code  class="code">check</code> key for each item,
-which should be a subroutine reference.
-When the configuration file is read,
-this subroutine will be called (as a method) to make sure that the value is valid.</p>
-
 <h2><a class='u' href='#___top' title='click to go to top of document'
 name="NON_COMMENT_FIELDS"
 >NON_COMMENT_FIELDS</a></h2>
diff --git a/docs/en/html/api/Bugzilla/Util.html b/docs/en/html/api/Bugzilla/Util.html
index e13f44e54a642d2dbf710195b42a4728819cce1d..c50753dbb4521164e5c3ee1c17a8f0c2a384ba46 100644
--- a/docs/en/html/api/Bugzilla/Util.html
+++ b/docs/en/html/api/Bugzilla/Util.html
@@ -73,6 +73,7 @@ name="SYNOPSIS"
 
   # Functions for formatting time
   format_time($time);
+  datetime_from($time, $timezone);
 
   # Functions for dealing with files
   $time = file_mod_time($filename);
@@ -159,7 +160,7 @@ name="Quoting"
 ><code  class="code">css_class_quote($val)</code></a></dt>
 
 <dd>
-<p>Quotes characters so that they may be used as CSS class names. Spaces are replaced by underscores.</p>
+<p>Quotes characters so that they may be used as CSS class names. Spaces and forward slashes are replaced by underscores.</p>
 
 <dt><a name="xml_quote($val)"
 ><code  class="code">xml_quote($val)</code></a></dt>
@@ -344,6 +345,14 @@ name="Formatting_Time"
 
 <dd>
 <p>Returns a number with 2 digit precision, unless the last digit is a 0. Then it returns only 1 digit precision.</p>
+
+<dt><a name="datetime_from($time,_$timezone)"
+><code  class="code">datetime_from($time, $timezone)</code></a></dt>
+
+<dd>
+<p>Returns a DateTime object given a date string. If the string is not in some valid date format that <code  class="code">strptime</code> understands, we return <code  class="code">undef</code>.</p>
+
+<p>You can optionally specify a timezone for the returned date. If not specified, defaults to the currently-logged-in user&#39;s timezone, or the Bugzilla server&#39;s local timezone if there isn&#39;t a logged-in user.</p>
 </dd>
 </dl>
 
diff --git a/docs/en/html/api/Bugzilla/WebService.html b/docs/en/html/api/Bugzilla/WebService.html
index efac99fc8ddacee32a60445dcdaa5afa535ec6b4..0d30aa048b5f335eeb8f984ac0ee9641fa304dee 100644
--- a/docs/en/html/api/Bugzilla/WebService.html
+++ b/docs/en/html/api/Bugzilla/WebService.html
@@ -148,9 +148,41 @@ name="How_Bugzilla_WebService_Methods_Take_Parameters"
 name="LOGGING_IN"
 >LOGGING IN</a></h1>
 
+<p>There are various ways to log in:</p>
+
+<dl>
+<dt><a name="User.login"
+><code  class="code">User.login</code></a></dt>
+
+<dd>
 <p>You can use <a href="../Bugzilla/WebService/User.html#login" class="podlinkpod"
 >&#34;login&#34; in Bugzilla::WebService::User</a> to log in as a Bugzilla user. This issues standard HTTP cookies that you must then use in future calls, so your client must be capable of receiving and transmitting cookies.</p>
 
+<dt><a name="Bugzilla_login_and_Bugzilla_password"
+><code  class="code">Bugzilla_login</code> and <code  class="code">Bugzilla_password</code></a></dt>
+
+<dd>
+<p><b>Added in Bugzilla 3.6</b></p>
+
+<p>You can specify <code  class="code">Bugzilla_login</code> and <code  class="code">Bugzilla_password</code> as arguments to any WebService method, and you will be logged in as that user if your credentials are correct. Here are the arguments you can specify to any WebService method to perform a login:</p>
+
+<dl>
+<dt><a name="Bugzilla_login_(string)_-_A_user&#39;s_login_name."
+><code  class="code">Bugzilla_login</code> (string) - A user&#39;s login name.
+<dt><a name="Bugzilla_password_(string)_-_That_user&#39;s_password."
+><code  class="code">Bugzilla_password</code> (string) - That user&#39;s password.
+<dt><a name="Bugzilla_restrictlogin_(boolean)_-_Optional._If_true,_then_your_login_will_only_be_valid_for_your_IP_address."
+><code  class="code">Bugzilla_restrictlogin</code> (boolean) - Optional. If true, then your login will only be valid for your IP address.
+<dt><a 
+><code  class="code">Bugzilla_rememberlogin</code> (boolean) - Optional. If true, then the cookie sent back to you with the method response will not expire.</a></dt>
+</dl>
+
+<p>The <code  class="code">Bugzilla_restrictlogin</code> and <code  class="code">Bugzilla_rememberlogin</code> options are only used when you have also specified <code  class="code">Bugzilla_login</code> and <code  class="code">Bugzilla_password</code>.</p>
+
+<p>Note that Bugzilla will return HTTP cookies along with the method response when you use these arguments (just like the <code  class="code">User.login</code> method above).</p>
+</dd>
+</dl>
+
 <h1><a class='u' href='#___top' title='click to go to top of document'
 name="STABLE,_EXPERIMENTAL,_and_UNSTABLE"
 >STABLE, EXPERIMENTAL, and UNSTABLE</a></h1>
diff --git a/docs/en/html/api/Bugzilla/Whine/Schedule.html b/docs/en/html/api/Bugzilla/Whine/Schedule.html
new file mode 100644
index 0000000000000000000000000000000000000000..ffd7bd1ecc5e1e1c61d6fd61bf9636bb2d2f3291
--- /dev/null
+++ b/docs/en/html/api/Bugzilla/Whine/Schedule.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <title>
+Bugzilla::Whine::Schedule</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <link rel="stylesheet" title="style" type="text/css" href="../.././../../../style.css" media="all" >
+
+</head>
+  <body id="pod">
+<p class="backlinktop"><b><a name="___top" href="../../index.html" accesskey="1" title="All Documents">&lt;&lt;</a></b></p>
+<h1>Bugzilla::Whine::Schedule</h1>
+<div class='indexgroup'>
+<ul   class='indexList indexList1'>
+  <li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
+  <li class='indexItem indexItem1'><a href='#SYNOPSIS'>SYNOPSIS</a>
+  <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
+  <li class='indexItem indexItem1'><a href='#METHODS'>METHODS</a>
+  <ul   class='indexList indexList2'>
+    <li class='indexItem indexItem2'><a href='#Constructors'>Constructors</a>
+    <li class='indexItem indexItem2'><a href='#Accessors'>Accessors</a>
+  </ul>
+</ul>
+</div>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="NAME"
+>NAME</a></h1>
+
+<p>Bugzilla::Whine::Schedule - A schedule object used by <a href="../../Bugzilla/Whine.html" class="podlinkpod"
+>Bugzilla::Whine</a>.</p>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="SYNOPSIS"
+>SYNOPSIS</a></h1>
+
+<pre  class="code"> use Bugzilla::Whine::Schedule;
+
+ my $schedule = new Bugzilla::Whine::Schedule($schedule_id);
+
+ my $event_id    = $schedule-&#62;eventid;
+ my $run_day     = $schedule-&#62;run_day;
+ my $run_time    = $schedule-&#62;run_time;
+ my $is_group    = $schedule-&#62;mailto_is_group;
+ my $object      = $schedule-&#62;mailto;
+ my $array_ref   = $schedule-&#62;mailto_users;</pre>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="DESCRIPTION"
+>DESCRIPTION</a></h1>
+
+<p>This module exists to represent a <a href="../../Bugzilla/Whine.html" class="podlinkpod"
+>Bugzilla::Whine</a> event schedule.</p>
+
+<p>This is an implementation of <a href="../../Bugzilla/Object.html" class="podlinkpod"
+>Bugzilla::Object</a>, and so has all the same methods available as <a href="../../Bugzilla/Object.html" class="podlinkpod"
+>Bugzilla::Object</a>, in addition to what is documented below.</p>
+
+<h1><a class='u' href='#___top' title='click to go to top of document'
+name="METHODS"
+>METHODS</a></h1>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="Constructors"
+>Constructors</a></h2>
+
+<dl>
+<dt><a name="new"
+><code  class="code">new</code></a></dt>
+
+<dd>
+<p>Does not accept a bare <code  class="code">name</code> argument. Instead, accepts only an id.</p>
+
+<p>See also: <a href="../../Bugzilla/Object.html#new" class="podlinkpod"
+>&#34;new&#34; in Bugzilla::Object</a>.</p>
+</dd>
+</dl>
+
+<h2><a class='u' href='#___top' title='click to go to top of document'
+name="Accessors"
+>Accessors</a></h2>
+
+<p>These return data about the object, without modifying the object.</p>
+
+<dl>
+<dt><a name="event_id"
+><code  class="code">event_id</code></a></dt>
+
+<dd>
+<p>The <a href="../../Bugzilla/Whine.html" class="podlinkpod"
+>Bugzilla::Whine</a> event object id for this object.</p>
+
+<dt><a name="run_day"
+><code  class="code">run_day</code></a></dt>
+
+<dd>
+<p>The day or day pattern that a <a href="../../Bugzilla/Whine.html" class="podlinkpod"
+>Bugzilla::Whine</a> event is scheduled to run.</p>
+
+<dt><a name="run_time"
+><code  class="code">run_time</code></a></dt>
+
+<dd>
+<p>The time or time pattern that a <a href="../../Bugzilla/Whine.html" class="podlinkpod"
+>Bugzilla::Whine</a> event is scheduled to run.</p>
+
+<dt><a name="mailto_is_group"
+><code  class="code">mailto_is_group</code></a></dt>
+
+<dd>
+<p>Returns a numeric 1 (<code  class="code">group</code>) or 0 (<code  class="code">user</code>) to represent whether <a href="#mailto" class="podlinkpod"
+>&#34;mailto&#34;</a> is a group or user.</p>
+
+<dt><a name="mailto"
+><code  class="code">mailto</code></a></dt>
+
+<dd>
+<p>This is either a <a href="../../Bugzilla/User.html" class="podlinkpod"
+>Bugzilla::User</a> or <a href="../../Bugzilla/Group.html" class="podlinkpod"
+>Bugzilla::Group</a> object to represent the user or group this scheduled event is set to be mailed to.</p>
+
+<dt><a name="mailto_users"
+><code  class="code">mailto_users</code></a></dt>
+
+<dd>
+<p>Returns an array reference of <a href="../../Bugzilla/User.html" class="podlinkpod"
+>Bugzilla::User</a>s. This is derived from the <a href="../../Bugzilla/Group.html" class="podlinkpod"
+>Bugzilla::Group</a> stored in <a href="#mailto" class="podlinkpod"
+>&#34;mailto&#34;</a> if <a href="#mailto_is_group" class="podlinkpod"
+>&#34;mailto_is_group&#34;</a> is true and the group is still active, otherwise it will contain a single array element for the <a href="../../Bugzilla/User.html" class="podlinkpod"
+>Bugzilla::User</a> in <a href="#mailto" class="podlinkpod"
+>&#34;mailto&#34;</a>.</p>
+</dd>
+</dl>
+<p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents">&lt;&lt;</a></b></p>
+
+<!-- end doc -->
+
+</body></html>
diff --git a/docs/en/html/api/index.html b/docs/en/html/api/index.html
index c4e74384acf92f0452008cc69c9399ffee971ae7..d19d78e5dab0f06e4f007d7322969a8b0cdf9616 100644
--- a/docs/en/html/api/index.html
+++ b/docs/en/html/api/index.html
@@ -2,13 +2,13 @@
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <title>Bugzilla 3.5.1 API Documentation</title>
+    <title>Bugzilla 3.5.2 API Documentation</title>
   
 <link rel="stylesheet" title="style" type="text/css" href="./../../../style.css" media="all" >
 
 </head>
   <body class="contentspage">
-    <h1>Bugzilla 3.5.1 API Documentation</h1>
+    <h1>Bugzilla 3.5.2 API Documentation</h1>
 <dl class='superindex'>
 <dt><a name="Files">Files</a></dt>
 <dd>
@@ -87,213 +87,221 @@
   <td>Bugzilla classification class.</td>
 </tr>
 <tr class="odd">
+  <th><a href="./Bugzilla/Comment.html">Bugzilla::Comment</a></th>
+  <td>A Comment for a given bug</td>
+</tr>
+<tr class="even">
   <th><a href="./Bugzilla/Component.html">Bugzilla::Component</a></th>
   <td>Bugzilla product component class.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Config.html">Bugzilla::Config</a></th>
   <td>Configuration parameters for Bugzilla</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Config/Common.html">Bugzilla::Config::Common</a></th>
   <td>Parameter checking functions</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/DB.html">Bugzilla::DB</a></th>
   <td>Database access routines, using DBI</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/DB/Mysql.html">Bugzilla::DB::Mysql</a></th>
   <td>Bugzilla database compatibility layer for MySQL</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/DB/Oracle.html">Bugzilla::DB::Oracle</a></th>
   <td>Bugzilla database compatibility layer for Oracle</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/DB/Pg.html">Bugzilla::DB::Pg</a></th>
   <td>Bugzilla database compatibility layer for PostgreSQL</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/DB/Schema.html">Bugzilla::DB::Schema</a></th>
   <td>Abstract database schema for Bugzilla</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Error.html">Bugzilla::Error</a></th>
   <td>Error handling utilities for Bugzilla</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Field.html">Bugzilla::Field</a></th>
   <td>a particular piece of information about bugs and useful routines for form field manipulation</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Field/Choice.html">Bugzilla::Field::Choice</a></th>
   <td>A legal value for a &#60;select&#62;-type field.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Flag.html">Bugzilla::Flag</a></th>
   <td>A module to deal with Bugzilla flag values.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/FlagType.html">Bugzilla::FlagType</a></th>
   <td>A module to deal with Bugzilla flag types.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Group.html">Bugzilla::Group</a></th>
   <td>Bugzilla group class.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Hook.html">Bugzilla::Hook</a></th>
   <td>Extendable extension hooks for Bugzilla code</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Install.html">Bugzilla::Install</a></th>
   <td>Functions and variables having to do with installation.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Install/CPAN.html">Bugzilla::Install::CPAN</a></th>
   <td>Routines to install Perl modules from CPAN.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Install/DB.html">Bugzilla::Install::DB</a></th>
   <td>Fix up the database during installation.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Install/Filesystem.html">Bugzilla::Install::Filesystem</a></th>
   <td>Fix up the filesystem during installation.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Install/Localconfig.html">Bugzilla::Install::Localconfig</a></th>
   <td></td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Install/Requirements.html">Bugzilla::Install::Requirements</a></th>
   <td>Functions and variables dealing with Bugzilla&#39;s perl-module requirements.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Install/Util.html">Bugzilla::Install::Util</a></th>
   <td>Utility functions that are useful both during installation and afterwards.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/JobQueue.html">Bugzilla::JobQueue</a></th>
   <td>Interface between Bugzilla and TheSchwartz.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/JobQueue/Runner.html">Bugzilla::JobQueue::Runner</a></th>
   <td>A class representing the daemon that runs the job queue.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Keyword.html">Bugzilla::Keyword</a></th>
   <td>A Keyword that can be added to a bug.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Migrate.html">Bugzilla::Migrate</a></th>
   <td>Functions to migrate from other databases</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Milestone.html">Bugzilla::Milestone</a></th>
   <td>Bugzilla product milestone class.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Object.html">Bugzilla::Object</a></th>
   <td>A base class for objects in Bugzilla.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Product.html">Bugzilla::Product</a></th>
   <td>Bugzilla product class.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Search/Saved.html">Bugzilla::Search::Saved</a></th>
   <td>A saved search</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Status.html">Bugzilla::Status</a></th>
   <td>Bug status class.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Template.html">Bugzilla::Template</a></th>
   <td>Wrapper around the Template Toolkit Template object</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Template/Plugin/Bugzilla.html">Bugzilla::Template::Plugin::Bugzilla</a></th>
   <td></td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Template/Plugin/Hook.html">Bugzilla::Template::Plugin::Hook</a></th>
   <td></td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Template/Plugin/User.html">Bugzilla::Template::Plugin::User</a></th>
   <td></td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Token.html">Bugzilla::Token</a></th>
   <td>Provides different routines to manage tokens.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Update.html">Bugzilla::Update</a></th>
   <td>Update routines for Bugzilla</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/User.html">Bugzilla::User</a></th>
   <td>Object for a Bugzilla user</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/User/Setting.html">Bugzilla::User::Setting</a></th>
   <td>Object for a user preference setting</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/User/Setting/Lang.html">Bugzilla::User::Setting::Lang</a></th>
   <td>Object for a user preference setting for preferred language</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/User/Setting/Skin.html">Bugzilla::User::Setting::Skin</a></th>
   <td>Object for a user preference setting for skins</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/User/Setting/Timezone.html">Bugzilla::User::Setting::Timezone</a></th>
   <td>Object for a user preference setting for desired timezone</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/Util.html">Bugzilla::Util</a></th>
   <td>Generic utility functions for bugzilla</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/Version.html">Bugzilla::Version</a></th>
   <td>Bugzilla product version class.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/WebService.html">Bugzilla::WebService</a></th>
   <td>The Web Service interface to Bugzilla</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/WebService/Bug.html">Bugzilla::WebService::Bug</a></th>
   <td>The API for creating, changing, and getting the details of bugs.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/WebService/Bugzilla.html">Bugzilla::WebService::Bugzilla</a></th>
   <td>Global functions for the webservice interface.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/WebService/Product.html">Bugzilla::WebService::Product</a></th>
   <td>The Product API</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/WebService/Server/JSONRPC.html">Bugzilla::WebService::Server::JSONRPC</a></th>
   <td>The JSON-RPC Interface to Bugzilla</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/WebService/Server/XMLRPC.html">Bugzilla::WebService::Server::XMLRPC</a></th>
   <td>The XML-RPC Interface to Bugzilla</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <th><a href="./Bugzilla/WebService/User.html">Bugzilla::WebService::User</a></th>
   <td>The User Account and Login API</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <th><a href="./Bugzilla/WebService/Util.html">Bugzilla::WebService::Util</a></th>
   <td></td>
 </tr>
+<tr class="even">
+  <th><a href="./Bugzilla/Whine/Schedule.html">Bugzilla::Whine::Schedule</a></th>
+  <td>A schedule object used by Bugzilla::Whine.</td>
+</tr>
 </table></dd>
 
 </dl>
diff --git a/docs/en/html/attachments.html b/docs/en/html/attachments.html
index 78b2e1c658865871514dfcc29e910b89178705d5..c51076053e62dc9b06e2042bf9e4c194734baeab 100644
--- a/docs/en/html/attachments.html
+++ b/docs/en/html/attachments.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/bug_page.html b/docs/en/html/bug_page.html
index 0da20705e07e8848e750529c5a33099d8fa2cd42..3c04dc3205ed578dfba8ed2ee36230cfb13661f4 100644
--- a/docs/en/html/bug_page.html
+++ b/docs/en/html/bug_page.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/bug_status_workflow.html b/docs/en/html/bug_status_workflow.html
index 6d1867a3d908c0f56166f5ba82a9b962bbfd39db..6bca72dacd87f229287d8d1fe029c926ea23f039 100644
--- a/docs/en/html/bug_status_workflow.html
+++ b/docs/en/html/bug_status_workflow.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/bugreports.html b/docs/en/html/bugreports.html
index a29fd7dd57da3f2c53a6211f63277ac4e1f3f967..b75686a9e498d5a4876b1c229a5eb8bc63629ea5 100644
--- a/docs/en/html/bugreports.html
+++ b/docs/en/html/bugreports.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/classifications.html b/docs/en/html/classifications.html
index 6699555be649a7fb5ef38ac7e4ef2099ab07a31e..16fb3759dd4365766a263473fbd846632c941f7f 100644
--- a/docs/en/html/classifications.html
+++ b/docs/en/html/classifications.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/cmdline-bugmail.html b/docs/en/html/cmdline-bugmail.html
index fc9e9c5e5d72094d4ec8a770731fef454e5286fb..666030c51cdae863ea009abbeeebe46cb66667a0 100644
--- a/docs/en/html/cmdline-bugmail.html
+++ b/docs/en/html/cmdline-bugmail.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/cmdline.html b/docs/en/html/cmdline.html
index d746968190fb08368457e6337168552515a83130..f1a1e9d3019db6d6fa05c94c38368ec058d905ed 100644
--- a/docs/en/html/cmdline.html
+++ b/docs/en/html/cmdline.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/components.html b/docs/en/html/components.html
index b1ce37d909b8a2f8f72b33318aac64659c050338..d89f4a9789dd1b135ad8d394b3ffe702e70fe58e 100644
--- a/docs/en/html/components.html
+++ b/docs/en/html/components.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/configuration.html b/docs/en/html/configuration.html
index c8f382b63c16658d1012ae1bccf0e8b525c037b4..0feb906ff0bab886eaee318c875e34814693bad9 100644
--- a/docs/en/html/configuration.html
+++ b/docs/en/html/configuration.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/conventions.html b/docs/en/html/conventions.html
index 9a6e6fd908f03ad7a94b59ffb5b32c128643014f..9e9c7ee275b1969c7d0a199df2c2623d05985596 100644
--- a/docs/en/html/conventions.html
+++ b/docs/en/html/conventions.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/copyright.html b/docs/en/html/copyright.html
index 773fb5faefdc1d5c1824afb9e23b1797a1a9f3b1..26f6eaaf456bcf68161b4ac535af2e36cf620265 100644
--- a/docs/en/html/copyright.html
+++ b/docs/en/html/copyright.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/credits.html b/docs/en/html/credits.html
index f5d7c078ac3faa87e26aa3b832659f9624565438..11e714dc01002fd79c2c5c6355ffedcd1113c331 100644
--- a/docs/en/html/credits.html
+++ b/docs/en/html/credits.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/cust-change-permissions.html b/docs/en/html/cust-change-permissions.html
index 702fbebaac3495037dea823acf5005fdcd9148f3..20f5d7da285ef65e87b33a89415b7c1901aae5ea 100644
--- a/docs/en/html/cust-change-permissions.html
+++ b/docs/en/html/cust-change-permissions.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/cust-hooks.html b/docs/en/html/cust-hooks.html
index c1b45eaf0cc76481490dfaacf45821a4d618a82e..010b328582f07f29aaf2a61fde84d329060d0a78 100644
--- a/docs/en/html/cust-hooks.html
+++ b/docs/en/html/cust-hooks.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/cust-skins.html b/docs/en/html/cust-skins.html
index 69199ae4957f6f878dbfad3580d34dafc40da23c..ecf9e7fa5384a219d6e71f76dcdf7a0d5aea6f77 100644
--- a/docs/en/html/cust-skins.html
+++ b/docs/en/html/cust-skins.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/cust-templates.html b/docs/en/html/cust-templates.html
index b3b967a5bbc63dcf4d9b4e86fd76040e00cc068e..7f0bea4ef15c590973b4d401f4947ee5e4473b10 100644
--- a/docs/en/html/cust-templates.html
+++ b/docs/en/html/cust-templates.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/custom-fields.html b/docs/en/html/custom-fields.html
index 3e1222cff0d370f1f043d2def36324145bb3b19d..c256dcfa05d1b5b9bd368edc837dd1c195b45dcc 100644
--- a/docs/en/html/custom-fields.html
+++ b/docs/en/html/custom-fields.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/customization.html b/docs/en/html/customization.html
index 778cdd763daedecc4a2c1691c157fa563a777c95..f745634fd7c3fc2680b0e6d04ebc951cfb2e0bdc 100644
--- a/docs/en/html/customization.html
+++ b/docs/en/html/customization.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/disclaimer.html b/docs/en/html/disclaimer.html
index b02f86958e11bc5b52db8a59d75f61462356118e..2a77322e17cc2e4157d95bbffb2a3a239fbd9d26 100644
--- a/docs/en/html/disclaimer.html
+++ b/docs/en/html/disclaimer.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/edit-values.html b/docs/en/html/edit-values.html
index f7b5b86521933191a000a39104dea0f246a08ead..7a357ecd1d9de33673a4e44e731c92066eae6136 100644
--- a/docs/en/html/edit-values.html
+++ b/docs/en/html/edit-values.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/extraconfig.html b/docs/en/html/extraconfig.html
index 0658d15f3c44907c8fb3b0758055f76fb2f1eb24..df75cb66a14202aaf23b9fe865567d3da3e58beb 100644
--- a/docs/en/html/extraconfig.html
+++ b/docs/en/html/extraconfig.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/flags-overview.html b/docs/en/html/flags-overview.html
index e489058c7b6727c7a075d94cec627c894a7a2a95..faf24bbf152501cc8032afcdb7bd149bd023e22f 100644
--- a/docs/en/html/flags-overview.html
+++ b/docs/en/html/flags-overview.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/flags.html b/docs/en/html/flags.html
index 4edd2b6a5c0a8f6c725582a11771b9cc29ce384d..1ef33ed02043f78024c096a5e0ee9f24deb01102 100644
--- a/docs/en/html/flags.html
+++ b/docs/en/html/flags.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/general-advice.html b/docs/en/html/general-advice.html
index 7ff37fbda0864c2c857397e0d1f479e7d59399f9..aebdd29a9fab48742a55ca18f819418c3184cc3f 100644
--- a/docs/en/html/general-advice.html
+++ b/docs/en/html/general-advice.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-0.html b/docs/en/html/gfdl-0.html
index 0c4cf4bf1d049fd92cd39179f637c44b4d1019a7..127db4f0a4d9c8a460180ec8d3b72d7ba294f4be 100644
--- a/docs/en/html/gfdl-0.html
+++ b/docs/en/html/gfdl-0.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-1.html b/docs/en/html/gfdl-1.html
index 79e1f5842c9b36d8d281d8775a3f986c9bf22cbc..2976579d118a34cb875dcf1fca7441bd021b53b3 100644
--- a/docs/en/html/gfdl-1.html
+++ b/docs/en/html/gfdl-1.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-10.html b/docs/en/html/gfdl-10.html
index 83f03a64bbad9b5e49093311e87abd3fbdcd6596..9fc78e6e7b03da622bd53463b788a699a323823a 100644
--- a/docs/en/html/gfdl-10.html
+++ b/docs/en/html/gfdl-10.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-2.html b/docs/en/html/gfdl-2.html
index c0cced8da58e24510c1ae78418b86a3a8a645828..b24c43c2a9f09ab1d2e87727a29652844dfef187 100644
--- a/docs/en/html/gfdl-2.html
+++ b/docs/en/html/gfdl-2.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-3.html b/docs/en/html/gfdl-3.html
index 9ac022108d0d7e6132c30dded09f1c311edd7ef9..d70a87edbe3ca9e545f4aaa17d26cf49969e5926 100644
--- a/docs/en/html/gfdl-3.html
+++ b/docs/en/html/gfdl-3.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-4.html b/docs/en/html/gfdl-4.html
index a6c0a65f433b5c39e87b6b50a1c521f26a775077..7f14b6f93a418751cf5f77974fe493fca77c9d6c 100644
--- a/docs/en/html/gfdl-4.html
+++ b/docs/en/html/gfdl-4.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-5.html b/docs/en/html/gfdl-5.html
index c3ec4935823778e717dfd85408da8debd030f834..e9f25876852a566b64d21cd3bf7d9906e03db8ee 100644
--- a/docs/en/html/gfdl-5.html
+++ b/docs/en/html/gfdl-5.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-6.html b/docs/en/html/gfdl-6.html
index 8131503f61817f6415e4c940610b4548b2058a22..1402b85eebea1bd925a573c6442818a32d9ac010 100644
--- a/docs/en/html/gfdl-6.html
+++ b/docs/en/html/gfdl-6.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-7.html b/docs/en/html/gfdl-7.html
index 6d5bd94ef1bb78841b0e40865649b82255e42aa5..56758e89d149aea8640cfd5a5a15156bb5a01242 100644
--- a/docs/en/html/gfdl-7.html
+++ b/docs/en/html/gfdl-7.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-8.html b/docs/en/html/gfdl-8.html
index 5f2610b0622c6db012360a8cea928a3b2e1bd42d..973e71d2035ce20a031aec8f3b85d30c7239ddb6 100644
--- a/docs/en/html/gfdl-8.html
+++ b/docs/en/html/gfdl-8.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-9.html b/docs/en/html/gfdl-9.html
index 73ee1967e0e630470a617c00f95e385b93c6bdc3..6b372af8e6ec79404440c2a091c051f4ab4f1448 100644
--- a/docs/en/html/gfdl-9.html
+++ b/docs/en/html/gfdl-9.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl-howto.html b/docs/en/html/gfdl-howto.html
index 8b5c6a875c416b4cada6e93c2cd8aeabc93c3e1d..85de6b5fc543c2db05c243171dbfac4df94dd034 100644
--- a/docs/en/html/gfdl-howto.html
+++ b/docs/en/html/gfdl-howto.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/gfdl.html b/docs/en/html/gfdl.html
index ff39ebeb9d737e7cbaaaa93ced4ed8f98bcef968..c498f26dc291addebb236879df1a23d78f8a6e8f 100644
--- a/docs/en/html/gfdl.html
+++ b/docs/en/html/gfdl.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/glossary.html b/docs/en/html/glossary.html
index 31e3a12a5e53cae8d6e538aef907088a7cf2373b..3a73e6c08e991d8054a685b966edb6f734c88865 100644
--- a/docs/en/html/glossary.html
+++ b/docs/en/html/glossary.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -33,7 +33,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/groups.html b/docs/en/html/groups.html
index 7e65dd1cac3b8b1e3ba3e27c95bb2b3cfd909966..24f7f9ff7d26d5e6ba2f24541cfcefeb7e6924c7 100644
--- a/docs/en/html/groups.html
+++ b/docs/en/html/groups.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/hintsandtips.html b/docs/en/html/hintsandtips.html
index dc6c24b257d497c766dccecee9d86908341fc999..7eb4f49cad2f57d3e1275bcc865b61fa32065dca 100644
--- a/docs/en/html/hintsandtips.html
+++ b/docs/en/html/hintsandtips.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/index.html b/docs/en/html/index.html
index 2066a3871bd8faee776aa4459954416836c6f0ba..6ec6d0312c26515ba8fc1e82f44454349797bbc9 100644
--- a/docs/en/html/index.html
+++ b/docs/en/html/index.html
@@ -2,7 +2,7 @@
 <HTML
 ><HEAD
 ><TITLE
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TITLE
 ><META
@@ -47,7 +47,7 @@ CLASS="TITLEPAGE"
 CLASS="title"
 ><A
 NAME="AEN2"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</A
 ></H1
@@ -56,7 +56,7 @@ CLASS="corpauthor"
 >The Bugzilla Team</H3
 ><P
 CLASS="pubdate"
->2009-11-05<BR></P
+>2009-11-18<BR></P
 ><DIV
 ><DIV
 CLASS="abstract"
diff --git a/docs/en/html/install-perlmodules-manual.html b/docs/en/html/install-perlmodules-manual.html
index 2aec12f76ea0527380706989a5dc8984b272a802..a514d8f15e736da92354233f9f739e4e91b04535 100644
--- a/docs/en/html/install-perlmodules-manual.html
+++ b/docs/en/html/install-perlmodules-manual.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/installation.html b/docs/en/html/installation.html
index ae518ad3ed9a769d613b600f225181f487c73663..5135292a076348463640048bdafc1f8e845d65ab 100644
--- a/docs/en/html/installation.html
+++ b/docs/en/html/installation.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/installing-bugzilla.html b/docs/en/html/installing-bugzilla.html
index 6e49375dfd6b7576f5872366e9334f9a58e3051d..328124882d2df594f1e13d17d06bd23b43a558c5 100644
--- a/docs/en/html/installing-bugzilla.html
+++ b/docs/en/html/installing-bugzilla.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/integration.html b/docs/en/html/integration.html
index 9412ddaac342135a293a7570bf9e2276969d9877..768e61e4d5dbfaa5d91463ca723c9e809e77ce80 100644
--- a/docs/en/html/integration.html
+++ b/docs/en/html/integration.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/keywords.html b/docs/en/html/keywords.html
index f233fbf3fdeb5c0662d6a3eefad510358c291b01..db95c4b1f871254013dfed4c9e5ffab34da3d684 100644
--- a/docs/en/html/keywords.html
+++ b/docs/en/html/keywords.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/lifecycle.html b/docs/en/html/lifecycle.html
index bf34f574641035644a4900e0c25d97f4bf64a82b..ff123a6b8e569a6afda960142d3aef71c97a6253 100644
--- a/docs/en/html/lifecycle.html
+++ b/docs/en/html/lifecycle.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/milestones.html b/docs/en/html/milestones.html
index 6897bee8e9e8d81e432d3777dc33d9cff518dc45..0febea16ad51db1c533a11dc7ce18b174b022811 100644
--- a/docs/en/html/milestones.html
+++ b/docs/en/html/milestones.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/modules-manual-download.html b/docs/en/html/modules-manual-download.html
index 03e966e0438c930c6a2f29aef5f4adf1aa7b15b4..f431f8c074504d24eb452fa302b415b67012c8b5 100644
--- a/docs/en/html/modules-manual-download.html
+++ b/docs/en/html/modules-manual-download.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/modules-manual-instructions.html b/docs/en/html/modules-manual-instructions.html
index 59fb2b286e2e167d2d02d5dd9768bec8319885a3..aa81b0e7591ce69e0142b01c2dc65a6db3a2b2bf 100644
--- a/docs/en/html/modules-manual-instructions.html
+++ b/docs/en/html/modules-manual-instructions.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/modules-manual-optional.html b/docs/en/html/modules-manual-optional.html
index edf4ae6eb1ecd287e1c32b44b8968309178a000b..54167be87d9a5d695b1f4f733cae48850969d5fc 100644
--- a/docs/en/html/modules-manual-optional.html
+++ b/docs/en/html/modules-manual-optional.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/multiple-bz-dbs.html b/docs/en/html/multiple-bz-dbs.html
index 3ae336ca9989093e0aaddde69dcdfad0e664efb2..c1b6ff64e33f83cf0d97afe6de8bb24cdff9e6fc 100644
--- a/docs/en/html/multiple-bz-dbs.html
+++ b/docs/en/html/multiple-bz-dbs.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/myaccount.html b/docs/en/html/myaccount.html
index 2f48cd36f9b6ecea65fb9ed3ec1243e8026eed51..296a51b69e07fc9e2b5676834b14eb6b03b3b981 100644
--- a/docs/en/html/myaccount.html
+++ b/docs/en/html/myaccount.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/newversions.html b/docs/en/html/newversions.html
index bb0329832211a575cb50c1de57cb060c280f7251..eb2a1b79056237a4a90b3597d2ebd7aa3dcf45b9 100644
--- a/docs/en/html/newversions.html
+++ b/docs/en/html/newversions.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
@@ -81,7 +81,7 @@ NAME="newversions"
 >1.3. New Versions</A
 ></H1
 ><P
->&#13;      This is the 3.5.1 version of The Bugzilla Guide. It is so named 
+>&#13;      This is the 3.5.2 version of The Bugzilla Guide. It is so named 
       to match the current version of Bugzilla. 
        This version of the guide, like its associated Bugzilla version, is a
       development version. 
diff --git a/docs/en/html/nonroot.html b/docs/en/html/nonroot.html
index 8cfe6751f37c7a1aeeeb1b8917f419dcf1cb9260..35035ea0cd4a08e8a47a177c68f3e2522efbd187 100644
--- a/docs/en/html/nonroot.html
+++ b/docs/en/html/nonroot.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/os-specific.html b/docs/en/html/os-specific.html
index 48b926168945f4e0a918919d873f6054fdc84bae..15933690c414e4dc0bc3cc6cef07f72137a74453 100644
--- a/docs/en/html/os-specific.html
+++ b/docs/en/html/os-specific.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/parameters.html b/docs/en/html/parameters.html
index 9f8b0aa3e0320079d3d0beaa5f7cf100f508e963..0d66dd3d906cff5712787a618421518fc8b893cc 100644
--- a/docs/en/html/parameters.html
+++ b/docs/en/html/parameters.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/paranoid-security.html b/docs/en/html/paranoid-security.html
index eaf7ff1d1692ae83db57e8f777c9b469cc08a08d..b1eb9c9fefcb988b87e674bad2ca7f54841b3ba1 100644
--- a/docs/en/html/paranoid-security.html
+++ b/docs/en/html/paranoid-security.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/patches.html b/docs/en/html/patches.html
index 77e31757aec4f9e837a20eddfe91ad812676eb30..8baabac519523ddc107b2182252562f3a5f19802 100644
--- a/docs/en/html/patches.html
+++ b/docs/en/html/patches.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/products.html b/docs/en/html/products.html
index c52a723d27c6631c3c1b46797827101698616d8d..a8d8007012cf358d95cc699e2735ab2d14f11880 100644
--- a/docs/en/html/products.html
+++ b/docs/en/html/products.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/query.html b/docs/en/html/query.html
index b28bc4dab083badb8cfc0f133a980e6173f113f3..38a3fae4f0199a8a5eaacaf555aa84c1574c8538 100644
--- a/docs/en/html/query.html
+++ b/docs/en/html/query.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/quips.html b/docs/en/html/quips.html
index 7c4496758f68e770aa6e2430c1f1d5a22661463a..cb463e37aee9d6a0173ac931ed020394e22d0c23 100644
--- a/docs/en/html/quips.html
+++ b/docs/en/html/quips.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/reporting.html b/docs/en/html/reporting.html
index 8171a7c81d7151d32e224a469a61109698489784..12c38d10ebf49b03c329514357ca7b5f33fd01d2 100644
--- a/docs/en/html/reporting.html
+++ b/docs/en/html/reporting.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/sanitycheck.html b/docs/en/html/sanitycheck.html
index 899f13fa0ce07c94e8cb29d536e3f9489ff30438..e12f29fcd89ce682bdb6aecfb9913c181e3dd3aa 100644
--- a/docs/en/html/sanitycheck.html
+++ b/docs/en/html/sanitycheck.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/security-bugzilla.html b/docs/en/html/security-bugzilla.html
index 6e908ccf4f3bbf83de49ca0c397fda4bf66a0553..82edfe75aef1b27acca92843498d24d60bf4fb0a 100644
--- a/docs/en/html/security-bugzilla.html
+++ b/docs/en/html/security-bugzilla.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/security-os.html b/docs/en/html/security-os.html
index 72d9353c479145b002caa21e279d1f7dd22b6a58..5f2ee4d6c3267fd11d74f440733e9509570af3a7 100644
--- a/docs/en/html/security-os.html
+++ b/docs/en/html/security-os.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/security-webserver.html b/docs/en/html/security-webserver.html
index 1fd8f5d6d2ebde2dcb2d2cefd04b386d577f66d5..9160cc123f898f46591c1eb2228bd832085fcc09 100644
--- a/docs/en/html/security-webserver.html
+++ b/docs/en/html/security-webserver.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/security.html b/docs/en/html/security.html
index 2e94246275329d1b8a030fbb0d7ef9196264d736..20266bbf3a3ab72262cc984f6b73d94f5a546bbb 100644
--- a/docs/en/html/security.html
+++ b/docs/en/html/security.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/timetracking.html b/docs/en/html/timetracking.html
index df6abdd4354f9b8a9b27488d6e2fd52e2811a09d..de9d48f8a5c3be0dd0b82a52a95dd97e87d4801d 100644
--- a/docs/en/html/timetracking.html
+++ b/docs/en/html/timetracking.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/trbl-dbdsponge.html b/docs/en/html/trbl-dbdsponge.html
index 57e625cb01b565cfaeb6b00b474142da0daf77bb..58817b962dc3dfc4ef26a732d5529f5ea67d4292 100644
--- a/docs/en/html/trbl-dbdsponge.html
+++ b/docs/en/html/trbl-dbdsponge.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -40,7 +40,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/trbl-index.html b/docs/en/html/trbl-index.html
index 6d088e1f851a08b29d8896829aa2ffcf48c15161..6af388feaa4bdc79e1a09bb3648b600fdcaacf80 100644
--- a/docs/en/html/trbl-index.html
+++ b/docs/en/html/trbl-index.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -42,7 +42,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/trbl-passwd-encryption.html b/docs/en/html/trbl-passwd-encryption.html
index af884f4dd5ab073398a77d29b5da931061c71855..0ea646c934414806bfa707d3f68a3c43ab6fa9c9 100644
--- a/docs/en/html/trbl-passwd-encryption.html
+++ b/docs/en/html/trbl-passwd-encryption.html
@@ -9,7 +9,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -41,7 +41,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/trbl-perlmodule.html b/docs/en/html/trbl-perlmodule.html
index 2ed79e525787c3e55680691fe5b3025830443722..827c3f8d9fd21ab29cb63b177b5b9f434ad992c7 100644
--- a/docs/en/html/trbl-perlmodule.html
+++ b/docs/en/html/trbl-perlmodule.html
@@ -8,7 +8,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -40,7 +40,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/trbl-relogin-everyone.html b/docs/en/html/trbl-relogin-everyone.html
index 163c8618f7bc7d0847561a01c9f79cb097057712..c4eeb93dfd9047b47bb0dc3656ff3a25640362bc 100644
--- a/docs/en/html/trbl-relogin-everyone.html
+++ b/docs/en/html/trbl-relogin-everyone.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/trbl-testserver.html b/docs/en/html/trbl-testserver.html
index 64a90c70f16db433d5c244f0d8fe1b7a921df942..2f7776221edc602792240e0ad4b97e62229c1b1d 100644
--- a/docs/en/html/trbl-testserver.html
+++ b/docs/en/html/trbl-testserver.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -40,7 +40,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/troubleshooting.html b/docs/en/html/troubleshooting.html
index cb300016ba9ea8f4e20426f93974ddc05730df8b..af3fd41dc2e5d80ccd67557444cca73e8ee44182 100644
--- a/docs/en/html/troubleshooting.html
+++ b/docs/en/html/troubleshooting.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/upgrade.html b/docs/en/html/upgrade.html
index 4768168eb8a06a72456a859bf7f2c9be2269b471..b04c9131fca16ef75f751835fcb70cc0f609472a 100644
--- a/docs/en/html/upgrade.html
+++ b/docs/en/html/upgrade.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/useradmin.html b/docs/en/html/useradmin.html
index 7392f83b66d9695fe49f8ac8c644852777249abf..40d48443783ce0b5bd5c23179d8052e8e1ece504 100644
--- a/docs/en/html/useradmin.html
+++ b/docs/en/html/useradmin.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/userpreferences.html b/docs/en/html/userpreferences.html
index cfa62ba1dd83320c2f2f504bc0124743ffdecf30..731e115cd94156399eb51ccf4f1c7df5b2e264d3 100644
--- a/docs/en/html/userpreferences.html
+++ b/docs/en/html/userpreferences.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/using-intro.html b/docs/en/html/using-intro.html
index 936980189a4b01b4af95af811c45a2ff0cbcff52..ca83b89efa393f0d70eb025cadac1c099f6da1ea 100644
--- a/docs/en/html/using-intro.html
+++ b/docs/en/html/using-intro.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/using.html b/docs/en/html/using.html
index b2271c54cc51ee0bd12f03990e5e112d999c2afa..e8b792ec3b54cff847abccb9b4f926b1e32bb75f 100644
--- a/docs/en/html/using.html
+++ b/docs/en/html/using.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -36,7 +36,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/versions.html b/docs/en/html/versions.html
index 680eba96ce24cfddceae5b84d1959fd8e6c87e91..d5034aec63f528b8fbbd924e4a907274efb28697 100644
--- a/docs/en/html/versions.html
+++ b/docs/en/html/versions.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/voting.html b/docs/en/html/voting.html
index 970135719d56a42ec2e4c13347296fc5792fb7ef..510976e89b258020b9a0d2bf9f1314e135245117 100644
--- a/docs/en/html/voting.html
+++ b/docs/en/html/voting.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/html/whining.html b/docs/en/html/whining.html
index b485c01ddfa9ccbd22b6718741b000c7d96830a3..2bd1e6ebece5716d17f8239aa93dc6099315f595 100644
--- a/docs/en/html/whining.html
+++ b/docs/en/html/whining.html
@@ -7,7 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 3.5.1 
+TITLE="The Bugzilla Guide - 3.5.2 
     Development 
     Release"
 HREF="index.html"><LINK
@@ -39,7 +39,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 3.5.1 
+>The Bugzilla Guide - 3.5.2 
     Development 
     Release</TH
 ></TR
diff --git a/docs/en/images/CVS/Entries b/docs/en/images/CVS/Entries
index 1afddd86e05cbc3aed5bd28f62284fe22cb31b2b..38d360e8c70e743785b09d2f12b56b1dbb3d4b50 100644
--- a/docs/en/images/CVS/Entries
+++ b/docs/en/images/CVS/Entries
@@ -1,7 +1,7 @@
-/bzLifecycle.png/1.4/Fri Apr  4 06:48:16 2008/-kb/TBUGZILLA-3_5_1
-/bzLifecycle.xml/1.3/Fri Apr  4 06:48:17 2008//TBUGZILLA-3_5_1
-/caution.gif/1.2/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
-/note.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
-/tip.gif/1.2/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
-/warning.gif/1.2/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
+/bzLifecycle.png/1.4/Fri Apr  4 06:48:16 2008/-kb/TBUGZILLA-3_5_2
+/bzLifecycle.xml/1.3/Fri Apr  4 06:48:17 2008//TBUGZILLA-3_5_2
+/caution.gif/1.2/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
+/note.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
+/tip.gif/1.2/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
+/warning.gif/1.2/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
 D/callouts////
diff --git a/docs/en/images/CVS/Tag b/docs/en/images/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/en/images/CVS/Tag
+++ b/docs/en/images/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/en/images/callouts/CVS/Entries b/docs/en/images/callouts/CVS/Entries
index 1e41b1d9bbc6fcc1bc4260c30cbdb8e30d21da8a..e6d1e34cff78b40d22f4f19dfdb6c490c7c3e579 100644
--- a/docs/en/images/callouts/CVS/Entries
+++ b/docs/en/images/callouts/CVS/Entries
@@ -1,4 +1,4 @@
-/1.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
-/2.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
-/3.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_1
+/1.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
+/2.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
+/3.gif/1.1/Fri Apr  4 06:48:17 2008/-kb/TBUGZILLA-3_5_2
 D
diff --git a/docs/en/images/callouts/CVS/Tag b/docs/en/images/callouts/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/en/images/callouts/CVS/Tag
+++ b/docs/en/images/callouts/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/en/pdf/Bugzilla-Guide.pdf b/docs/en/pdf/Bugzilla-Guide.pdf
index 356c4da6da3c5fe1afed3cd96d43544804bd92f4..64f9edbf1aad70df66b72c1d54a15c383a5ab073 100644
--- a/docs/en/pdf/Bugzilla-Guide.pdf
+++ b/docs/en/pdf/Bugzilla-Guide.pdf
@@ -3,7 +3,7 @@
 << /S /GoTo /D (1.0) >>
 endobj
 4 0 obj
-(The Bugzilla Guide 3.5.1 Development Release)
+(The Bugzilla Guide 3.5.2 Development Release)
 endobj
 5 0 obj
 << /S /GoTo /D (2.0) >>
@@ -1868,7 +1868,7 @@ endobj
 >>
 stream
 xڍP�N1��+<�
1���Z*uD��R�*A;���B�����C���*pB��26���4�H|�B���F�b���4Y����GM�_A+
-j-23��S��JgXc�:�/�a��ks:����P��u]:��\���X޿���]��q5W��?����eRܢ�"��)��l%���\��_yrl[�qrj����Kw>b���_�&Uendstream
+j-23��S��JgXc�:�/�a��ks:����P��u]:��\���X޿���]��q5W��?����eRܢ�"��)��l%���\��_yrl[�qrj����Kw>b���_��Uendstream
 endobj
 1242 0 obj <<
 /Type /Page
@@ -1898,11 +1898,10 @@ endobj
 /Filter /FlateDecode
 >>
 stream
-xڍT�n�0��)��HʤĎA����B[ہ�(Y�I�p��|ɱ��^�{x�S�	�?����=��Q�4�%�u=�p����bf/_x3Z��W�%٭�C���"�3뫻k$T�b_�I���Q�)+����8�p{^�6:�p�B�G�b
-�东&9�����Z��6ly%&�S������7���H19!��P�����z}�m��x�q��\Š�}�lЖ�'�G�@�4��\�a���[T�m�|��!%�}f�h^��N}�FN�ѩ%Z��R���=����J��n��-�f:zO�l�V�m�.4A/�9��b?�Q�h�lu�'�Vo��XWD�;;h����X�έ��'�Xb�
-�}G75����ن�S]���kQvyR}l#+����5�
-�fU�/�����I����p���v�m�oD$����D�!�B�^o��d�|���������远�D�ј��<?�ϩ'�
���z�6g�[2�M�=��o;~��
-V����o��%Dendstream
+xڍT�n�0��)��HʤĎA����B[ہ�(Y�I�p��|ɱ��^�{x�S�	�?����=��Q�4�%�u=�p����bf/_x3Z��W�%٭�C���"�3뫻k$T�b_�I���Q�)+����8�p{^�6:�p�B�G�b
+�东&9�����Z��6ly%&�S������7���H19!��P�����z}�m��x�q��+����X٠-�1N
+��h�viV��0�2_���۲�p�CJX��(Ѽs������SK���	�hEqzx/}������#�I
Zf�(t���ȭ��6.]h�^:sN1B�~��0�r��`O6��6޶ױ���9vv�z����q�[%�O
+���2���njjY7A�
ۧ����ע�����FVr�Cmk`ͪ�_2��œJ��9�e�N����lވH�u��Cօ<�޼���������A/.%�9�?���1��y~>�S;N�5���m�:�d웲{���v�d��0�����#�%Iendstream
 endobj
 1253 0 obj <<
 /Type /Page
@@ -8310,12 +8309,10 @@ E
 6Y۽}D���PY�'�f⣱G^дL�oV�:��*�J\�˹܂w@e��7-n)�`�<���)_-)J�
 Tl���kU~^O�ϴW������5��<�LS�C�+7�ü��Øj���T�_�|�i�.�Qj=�|4
����Y��g�T�+���ڄm�@��?6a���	ϵ�	�B^Z�ۭʐ��8�I���̶��QaX�%1�j`�w�=��y��a��Ls`!�Y付�e��B��=aROb������M۬u�K�5%����oG(G~��[:��ʡS�*�����N��*G��(I�rDR9ޚ�D7�ʜ��߭�1L�«!6�ڙ��'���+y.���L����$�L��Ҫa�N����P1+�ɜL��<��tif���P���QwڈF%[�t�FV�0�3�gل���eLL-"�(�|/�Pu�q�' ��1t�4�g�=�9 $j"�R'u�L��?�V�nyR��&qV�m8ssC"�f@�����۵=!7g5�j{Q���QǣR�lQ���Z.���k��JvH�uk1�ng��;��N�,�ܝ�f(�l�N
 �*I<�)���ZVK^G�j@T��')�:Q�nS��6-ȧ�j��箭�X�Hu,����Zl���q�Z �Q�׺a�qH���h�r�Bl-2	�$E��*1J��l"�.�'� 6��f���&���X�X�h
U���H�ZZ������(�E���tc��_�`��2��!����N��6�z�v�.]��Vo��֞u:(�B��qyQٱCx��!)�`��4A
-E�z4� ���6I�� zU[��.0N��<@�%9#���5u{���,dl9"@��>#�7H?tZ�pI�m�2�a����k&�E��֐����=�n�i� �v[c�J�j�D�R���C\Q��<4�2��}��Ԓ��Z
�g�K=-�_�JKR�c� {��.�.#�z��-%�ɦR/2��%��Q6���A��b�U���?�x�%���hL�s�|�(�����>��$��
�������T��#xW����mh4�.M�	O@����*	]s���z���f��h�t�?C
6��Y��2��3ch|�k�3�.�NB��7l�!��W������'���=��'�V�u����}3�1��i$�B�'����M������	O�lz��̹�s�}��F�������bWbˣ��bpX�X��(aS�є)L�2�����||��9��������]W߷�Qֽ~�}�d����I�K�����ܝAO��]�G8�]�D5�/��H<�&PG�d�O"��=>yq�R牤��痛���#~\�%��!@B�wne�Nv:꒽W	cp�to>}\��(�'zA�56�uȢ[B��Z�8Nƕ�=���S;3rS~���=����[o�GY|�����8����"�n�ζm�ov�
4��f!0C���h��<��� J���+�a����-rC~P��+)8��##��͐��ǣ���a�NZ��ˡ��1(�͊��P//�=~�N���^�:���Ȳ�>��IYJ�B�� �r��	����AϋT����E�댩�� A�`�WxC%�j���%���d.[@��l����G7O��o�

b3��
B�E��Ak��
-�d�{�`
I���^��~�-o����uV�v׵`�,�;���s�)��ޏ4/�+xө��!~H�Puɚ��ғ�0r�Q�]��}����
-+2��<"�wZ8<�v1H�V����yu[���.=�������P%�D�Rx��"�fn��X���k	x��V��f��!�b	=�K~�AgU���6����8���F����ޏ����|��wH
-����e�yR�S��i�'3W'Iu�;�5u
-��0�C���0&�q,���7���?5�ͷ�S��:̷ٟӾ�؋:�dr���t�p�
-�̿S���=Uq�
q�����h��9d���"������8�T�$�� �Qu�׻��Z���oiendstream
+E�z4� ���6I�� zU[��.0N��<@�%9#���5u{���,dl9"@��>#�7H?tZ�pI�m�2�a����k&�E��֐����=�n�i� �v[c�J�j�D�R���C\Q��<4�2��}��Ԓ��Z
�g�K=-�_�JKR�c� {��.�.#�z��-%�ɦR/2��%��Q6���A��b�U���?�x�%���hL�s�|�(�����>��$��
�������T��#xW����mh4�.M�	O@����*	]s���z���f��h�t�?C
6��Y��2��3ch|�k�3�.�NB��7l�!��W������'���=��'�V�u����}3�1��i$�B�'~����*��ƃ�������so�����:Q��!9-ŮĖG!9�ఎ�6�P¦ģ)S��ené�K����s@�o�ˇ��]����oK��{����Ɇ��7�|#�f+35�;���߻��p<�$��2j:p_ёxHM*����8��Dn'B{|��0��IGk�/7���G���K
+f�C���������t�%{���,6j�&�|��Z�QFO�<��kl�)�E������q��+�{Ε��vf����G{���.��ި���4$�	Wq2y^�Ev�<�mۺ���Yh���B`���-�#�D�y�A��A���Wv�7��[���D1WRp%GF�3��!9�G���R����Cy9)bPl��9�^^�{�ĝ&���;�uvu�e}8��0,�� �4aA岇D;�{+���S
/���SsA���:���Jj�(��Ky�\�����NA�="�n�B���
+�fG�$"L�Ի��C&�T�t��,W����F[�1.
+�/���k��Y��vf���S>�?h^ZW�S��C��*���5]]�'a�</�(���C�VdJ�yD@�px0�b���s'��T��]z(��[�7Mo%��J҉�'���E��"=���y���4}��B8>��:z�"���Ϊ��m.�Ýq%Ս�C�5�!fU����;=��5�2�ȧj�u��Of�N��zw�k�пaꇶ��a LB�X�I�/�Ao��j,�o�$�u�o�?�}�u���J���t�����{��^���'V�3�6�s�T��WEd=����q<�~I�Aƣ&�r�w�z������iendstream
 endobj
 2018 0 obj <<
 /Type /Page
@@ -22563,16 +22560,17 @@ endobj
 /Length1 1605
 /Length2 1380
 /Length3 532
-/Length 2205      
+/Length 2206      
 /Filter /FlateDecode
 >>
 stream
-x��T{8U��Ki�t%��K�-��kL�L
-m�KY�^��m��Zkg��QM"�4�L�H$Eh��`�N��P:Đ.�f�]S�s���L��g��������wy�o��^c������JZ��L{����0�$��I��V4cc�HC]!��bx�H���~vv4c���bpDA��`
NFC8��#�
-�a1r���kQk`�0G�0p��^���Lݸ~�
Faoq��O��l�1�.�C���h�Ni9���!�6XƒErj�xB��@�C(	���	�|yN
��Eq��7F�GD$��z�.['���B���"�O����d(����$,!��`�G���rSb"Q�!&(+>T�����B� (J[>�}����D"a�b7��z_B�0�Nc�����a��Ai��+�p��oq�X���2}w ̨: >�
-c��1�Ie��U��3�X�I�$v�=3��a�������\,r�(���߄��a̟����okY
�BO�$!�Q'T@
�Ig�b9"���ɋ�ᐐ���C�0.DP�rK1(`i�G�F �HT>U����Q�����+�f���X��f�A�M�I�ƈ��޵�
-�_�7;;ck����`g��,����E����^�8"AT�L���w�U�8�/PƗ�϶��C14&%ɶ��,���a���G��Hj��8����o1���eŔ���a}�,V l��<1�SgM�Q���Zq7`X�h�-oI��̬C���W\���a�\�!�/��J��m�_�lW:V��^�d��BL�c�o]����5�B��p��9q��.�No_Xac��ɟr�/ )v�g�j�5ӿ���guȉ��M\}`�L:s�tւg"ͭ���)Z��J�f��{ܷ0�w��I��kW�T�]�ҷ8�2�x�f�)�H7�_�W@ly��娒�"G�2�l��%
���J�o�Ƶ��\2��s=�#=/��t�?:ʶpt��V�d��*�n��u�~]��Y]�������̾>ߺ2���ٯ�UM�_'J����n[��Q˩��3���Z����zG�\��H}������؋�D��N��P����W�k�fϔ��0^v����i�5�l}{����f��v�
-R�ܘc��^����?r˽�8��:^C�^6�Q~HCO�^{�W�?MW/�+�M*}6��Q�sV�_�Q�Z���A��{��e+����u�J���d)돫:��Ę�4���X�ʤ��6���)e�p�����m��tj$�۟4n���<��cHKJX�tuf�_g�v	.Ys#=�UIe���_����gɛ���~3mJ:��p��7�I�6uOiF�>ME:�/T�+^9]R�q�[me�-UOoH�����p
��m�/���h�s=ۣ���v"�����ڶ�LW����.F_����v�s�L#u�ߜC��9�����\�V��m��?�k�z��ՆǾ0��~�3�v&y��yEl�`y-YwĨ4C�{,Ws���
���O{V7T��b�kMh|�쪺H�J{�WSg���*~@�W���ʋm�eK����.���*l	ٷ"����@?Y����ȁ��G�����I�t�{w6�����g�E:f\""������I�+Y?�1��*�|��eߔ~T�MG�}�.�X<RW��_��ɋ�m�&7Ә�e{	I�TI=,�Svn��h �\K�1��7$=��͙��
/O��`/��M]�����6���F��X�A�$��=$t�ّ�m�˘Z�a�����jZ;��Uլ^&HJ,\:���5�����8AE黼�kg.�}�K��м،�vgI��l�<A]J�}�y�a�ހ�.���bY�a9z�L�&���!���ӛ�t�u������T_�1�U��@w�����<B8u�}������0����No)��Y�^Q�l��"ON=sS���@{oOǖ��Y�΂�ư��$3e��3�W�v_��3a�����|k�8R���Z^(8b�=�K�̢3�w��w�t/H��&T�6U��$[�Mj�3���A�9��n-��O<||�㱊���S!QY����w=�5]$��R��Z�6�WlwLP�˖|��h�h�QY�X�W�{�y�MQs�R�u��[�M&���Y,<�5�ޠ_�Z0��C������OC8�EAx$�w�A$�endstream
+x��T{<Ti�KiV��K��䖹�5�\�&
r+"��1N�9�9g2�R�Um"��S�l$�"�Tj�[o�)����K���3S[���c�����y�g��3���{����y��<o_Kg��PҒEg:�7�C$�Ljʹ���0D"�������K�=����WL(�~$	��_,���px�G8h�%r���kQ�0�HD �zy�[�q����0	��(\�p�'…Q6o���<D^4A���	�Bsj,��B9�a<!�?@��!��y����r"���
+���C�q����8J�#H��#BPY��V�����Hyn�h�EP�<�+��QR�Q2KBJ���\�0�!�P�I�ܔ�Ge�ʊ,8̇p��&J�ҖO�C���!�P Q��Q�k@HD�i,6��21�#(�!�%��-�	��6øb@���U��P������TV`�\�:S?�����Ob��3s�!Fo�_���:+D���}�M��(H�4>&~[��/@�xz%	Q�:�|j�L:�-�+1��FHn$����?ʃq�”[�AK[�8�/�F��Z�((�/����hF���r�����7�'�'R�ka5�{��ovq�� ֒,Y����ر���C�
+��z5D�S�2Y�~߽V!�d��\�'��mm �$4&%ɶ��,���`���G�Hj��8����o1���e͔��+��Y�@�
+�O�"�Κ�@
��n����Z[0��Y��3���6�_�R��C�_�'˕b��2��پ l�h�����I�c�o]���5���p��9q��.�No_Xak��͟r�/0)v�g�j�
3����gM艱�MV�����t��\�τ�[�gS�*��*�8���oaj��3���׮^�T�ܥoq4e��ͪS�n:��4ȿ���B��I%�E��eJ��+#J�Eݡm����ku'�>d������h�g��a��(��ɱrZ������}����u�?�fu�z�?ۧ��3��|�J��۳_w����N:�����'rt�G-��#������j����g�%tU[�#�ٺn��'c/$�\W��a�	�e���˞);�0`a��n{G�@k�=���Xk��y�&	�N�޹15��z�
+���)����'�x
�zu�HG�!
=�z��_��4]����6!��ٌ�G�\�b��B֚׬�4�7�\��H�h]��=������ڡ�K�YIs���T�M�?k#��:��Ӕ]�:���c�N����F�
����'�}�qviI	k�������ۮ�!%�7ҳ^�TJ��t��?K�̭?��iSґ�˴�qMJv�{J3Z��h*ҡ}a�]����R�{��k�m�zzs� ��Xx��P_�.��[���DҳWܜ���acC��4ջZ���骕x�_Rs�����:=�}n�i��c�ca�s薾��t��8�*g[��O��ڳ^E�zd���fU�/z��$o�`e^:X^FK�1*����՜��t�@���Ӟ�
�إ��
��|�]U%SI`�j��v_\���JS�_y�ͳl�hx�R>֥���Q�-&���2z�6�_V#-�>r�$��	���}R6���݁
j�:2��Q�N���H��E�#{���J6}�;�J)ߩc�7����v���Ė��UA?��|�b�c����4f�fF�^B)UR�T�]g<����H;W��`���
I�ss��n��S{+�+��iS�伪�|A�����\#�0,��Y�]	�����ֶ�eL-ưK����}����jV/�'%.�f��5�����8AE黼���jg.�}�K�԰�،��gI��l�<~]J�C�y�a�ހ�>�&�bY�a9z�L�&���!���ӛ�tt������T_�9�M��@w�����<B0u�C������0����No)��Y�^a�l��"O�z�s���ޞ�-�3��;�/�a;=qf���g���;�t'Xg�(Y7O���pq�>7F92����0{z�v��4f$�5�
+��^�.�N�Pm��o�I�h��tgx�2�
vn��ZBk�x��4�c�[
�B²��#��zk�����j��m4��ᔠ$L�-�r��������X�z��Tۢ�D�n���
+�7�L�=��X��\z��k������\�$
�Q���%endstream
 endobj
 2777 0 obj <<
 /Type /Font
@@ -22581,14 +22579,14 @@ endobj
 /FirstChar 202
 /LastChar 204
 /Widths 5373 0 R
-/BaseFont /TIKHUG+Dingbats
+/BaseFont /WSTENU+Dingbats
 /FontDescriptor 2775 0 R
 >> endobj
 2775 0 obj <<
 /Ascent 708
 /CapHeight 708
 /Descent 0
-/FontName /TIKHUG+Dingbats
+/FontName /WSTENU+Dingbats
 /ItalicAngle 0
 /StemV 0
 /XHeight 400
@@ -22612,60 +22610,61 @@ endobj
 /Length1 1606
 /Length2 14569
 /Length3 532
-/Length 15414     
+/Length 15415     
 /Filter /FlateDecode
 >>
 stream
-x��wUp]˒��e1�33333눙�-�,fffYL33Xl����ݯ�Mu��Ĝ��+3k��\Y{�+���9��%�]��x�
-Vv&n.��r�"�f�?Fv8rrQg��������+��	4�M,,�fnnn8r���������+�J]E�����B�&^��������@���h��h�w���ި
-\-��s+[ @TQI[ZA@%������mJn&�V��9+S���`�����`�`of�Wi.��]���G��՟m@OS��_.:�#�������3��`�ll�����+{S[7�����;�M����O���0%WSg+GW���Jb���ji��Wn�?n����H3S��J����������
-�t�+�	`f��hk��'�0Gg��i��X�[���ha�lftq�������N����������G�+W��93˟���r[X��1�5(����f�������t��AT���f��^�3�9���럔������{"�/H��"�����3q�U��t�����_�%�lm����?.��� ����b���l����
����"�j��
���`b`����E��h�d�jj	07��ӣ����f@g[+{�-�n#�����_|j�V�6�5��.��ٿ2�#�߼u��e�ei��6�;J��j^���[�f���CD���C��
-�g��pp1�8����l�0�s-o��l�	��S2�߅����+���7u0�kJT]������r��9;�������_�=�@�'�nu���7�:=+õ+odRLw��|�ci�ZQA`�Co@z�w��[�W��i��v��3����}���������~���(����������1>�?�!t8�4w'�UJޠ�;Y�a���I�������5�ct!7�����S$�<=R�������?��͍�%�u�@��t���Q��Y<����:g������X�`��ݬ��º=Q$P�uP!v��q��O���J��j2��&���|G�L�v�93�_cE>���O�D0_���v����Ϗu�<~���)݅E��c���Tx�N�8uT��E�x�7QF�U�N���ӟ�]���_�ƞ�Q��xGlq��1�_���'D�o��룤KR�c�14D��0�AT%H�樑W�ȿ�����J��T�֨�.���1�
-\Ac�k�b�`�S[��|��E���')��>�k��^�a��~�G��f7�c������]��Ǹu����W��#�pKS#ч���ϗ�9i��br��^Uu�<�Q�k]��)�Fix e�yL�:?�u��hE�U���w��o�j����^5#�e
-kWfs�j����A��0�\�"�3��?vP��o��Ӫ����&�n��Nӏ�MDqp�N�Xg-B��Z �g�/�~�g��i�TS��g3섽QI�RӾu%�i�e~t/Ȉ	R�
-r��N��]Jђ�9��o6�u�d@+|��c���Y�"]p��w���<^�.%�C#��y�y�ډw�Cb׀�F �;t��Svt�(�6z��?���O�t�g����e}cGǾ3�dGt��6�6�?��?���D�����s<]z�ݰ��iZ�	48&-]�i1����rZ���^<G|;���\�`H�X��"|��Ӈ��ҽz���C����R*��M|P��y'VAD����#�n�~���VO|
5ڽ�r8�֣�p�+ED���C����P��*9
-gx�q
����Oe�>������q��%?�E!��}�Y�����3��0V���t���������neF�=���rN�T���R���0Df\IĂ��wr���m�߉˷D5ܞOֿQK�p
�*��Cնv���I������f�R@ޔ%"S���`�.��c*E��cͤ����j����m��gE�$���b�8���;���"���������ͧº�	��������ƍ������
�{hn8�������>��kv�5��T�2����`��()
0Q�[�%�hL�=#��g��so���S|?^W��;0�<Օ�I���P�Ρ*�;�)Q��X2�)�E�D�H2
j�V�F=n��,���jUf��\���1Bk�;���g�?F:#�2_�V.3�$`�?����#��Rh"�D`�1N_*,��R.k
-���]m1���w!�Dž1ܛ��`Lu
-���@�v�n��<��v�`*zVvR��=lF�
-	G)���Z}T���S�Ys�@-*a�].��W����	��:d�h�E�a�G=;ڛ]K�)�s� x���b��d8��_®%&�/@���� �����^,�0���~Պ:�*��WS��>yǀ��]͋�|x{�t�xLl4���F1�%��.0~�#ۯ�,�2�G��ؙ���;�n�S[{�@(%��12�^�B�����4Ŀ�(�4���
-��8�H�Fk���1y�4n��61��S���ƘO��$��p1�T�MD�&�l���~�EU�e<^A_����XL\��o��#�A(�.o���6�p/�<�`��_��=�0#��U�h��֨�纏�g
���Ǫ6
15J_�@�ro#?R��d�鈚��蠠%TI�B�Rǘ�.��5���Ҽ�Xϙ���B�AP��,28eA^9g�~�3l������mW�f"����"P4*�U�S�kG���i�
^�ћ�qCj�+��Z��f�����Db��os$ �i	�d+���b�	��F7���6�g�R�8嫕�a��ϭ2���&:�y��9?Ȝ�+l2����8�#{�1~�y���Ѫ0jӮ��`���:ݬ��i΍!ta]T_xNG��k��2!����K�A��6V�.�g �6�طWgl�/�\�,�������z	���'L�`�>�g������-�������]1A�h���ȵ���'
ޱJ�
k^����	Z�7���R㒡�d�$/GZ&Q�C�����u�2Z�>���v�04:�;�^o�+]�D��xv��ׂ�	�~�x00���E=T%`��G���Bt�)����N�D�{G4'�k%����I�W=�A	pY�sܘ%�N���Z�g虡�Ϝ|6I��a[�c���'FO�!�A~|�Bw	&�đ�ܳ�6@vة�)G��>��D�k*M7z_��\w(,Z�B�����k�7��0e���9�	����w��.�_}4�,J�6��&��9��XBw�*�O(�)D� ��T^kʎ�W����A�OIǡ[�̨�<f����uf�KE4;�h�_ӳ�/U�_�8��W��K���`��l
��^#�ƵX��я���\e$�'u8W?�B&�h��f��<@K���$��X>�@�l�Hu4/b�l�Q� ��6q�(?�r���:'���x}M��n�R�C���)��Nu�}
-�"���Q��"�oJ=�77��1�W�6��<*�	�q�����;<=ۋ����r�f�j�)��ѼN�E�X(�E�;��������b��*azl28���`h/�L��Z�8�O佰y�w��u�+[p�s����NC.�;�[��}@���υ�oI�r�6��UK%>��9k>?���>�./�)yliw#�  ��U`��ifejɝ6-�_!俱�<�ƳWk�R���<����e�<.$���4���%��[�M�:���䈾�pǐ��E&�~±������}	����g�pGV�O2[�s?	)�h��k�

�x3��xT ��k	
-�l=�m2ܽ�����?���DW
-jup~����!¤����3yt�XO�=�~�}���>�ެ9mTFjm�8��-�m)��7[��(6��!T�z�x��5��FCB�����َՑ�Q���h������$Eq$��5�
�_Y��eo�Q�ߙZ��{����~o""�O%����]#K�˅�"����="ݿ>
-)���_rF�E��n_���F�ZZ��ٵt-rj�ڌ��u���,��C�%&�)s���`�~x����WL��y��Ĥ0lmh�
-��6o�3�ɷ9-��X�k���$p^.��@��U�D�W���_=1�E!�W<�'�A��bk%7-N��`O���p�[���C�jn���rA���ZE���{k�u5�Jэ ��2T"�Ԧ�[�c����Z�W�Č,��p"C<��ŷ�����?�F�V�>�>���_�y�e�k��Dx�Y���A�g����`0q�ɠ�٢�H�g��X�� _�j0�V�:��Nni�d�z���Λ��;�`��V��N��Ce��D�5a��p���N >&�˘{��H&�r^�-�51�V�X=��`L>��¸�H�D����C���O�P��A�07���yۻ��p��"��t��5�L��L�ȁ6��l�.��Is��:S������c8�)����9?�G1&�:�~�!P%K�y=+e������8�W��D�g���rupo�֝�a}ziE!��Y�s�^�{�^JCu��'����L�l�]k}� ^D�N4ҭ�*/��4iVŨ6�����K��?fD�pr@���e|���K:.��� ��-�a4Z��<:0x@�t�#FM�k�l�;Q��
�{�����*�2�F��!���'�4���1GK���G�_��:e�C}B�E�Il��L7
Ѩ�]EzK� i�v�ce�3�Iޘ�@���T/��{�p�����YIxV�
�,z���^BOu�JnZ��	�g;{Y�'���c�EG�U~��&�P�؂�x���k���
-�	c5&�u�q�=�3jf Сv�+�!�7����"4���Q�bDQcs�:uO�tY,Q��Ls9��;%"�ݡBJ�ZSQD(%�Â_�nb<~o����ez����@{n�P'���_��P���s.�i�[���b�
1I~0q�����&!��P^�p�����>k➫��
�oi�B>�Y�j\��*^��C8�X�r����#����d%���D�샄ǎ�M��A��pG��\sϘ)�[Bܫ�V��I��q�p�x��c9m��p6)J��&қڀ[2s���Xt�>���|�n֥E�Z�]5-�@"��
Qu�D���Y'|r����<�7EHi(�|��Ϋ���;q�cn��K/�Tu�%;Հ�s���F��
���b�U��1G8�҄a����i�L��-�f�u�]�E�ρ�G�\c�l��0)��S���vX�J�E�6*��Y��!^��L�A�R
-���f������K�C���y6_޽�"}��&�� 'Cf4�	����mN��ɴ\�� ���u��P�avL(���O�H,D�uy/��Z���/X#�Z�U�'��`�HJj�ށ�S��ƿ��Y��CSR��B�76�?&B2��_��u�L��/Z�y�'�̢r�c�fG�4��kBL��i�C�W9�\6eU�6��çK
��u>M=�-,a:�!�����F@�l�d��k;y��5
5P<���]n�$�A_�(���8(�D�\#�����	�9a�d�;_Ҋ�uV��Ȏ��-�[�4v�L.?G�q}��#��C���KW��:��\�(�-*���8.
-}o<���6W�D5���ݸ	?I�5t �n'"��)�HrxF�ビu��#�`:�'�.FZlo��n
ϲ��;��b�5�
-$7�ůa�8!N%�kY�6	Vi_�����^xɗ�C+�{�릁Bsp��q^G�і�u.����ǡ�_aJ�����d����'�O;9�Atu��I��Kw��l/�lif�պZ�;����ӒO6{���R��tnjz�䂬	6ᤇ���&��G�8E`ҮvR�9�ʼ�'OC?p���c���
-�́x	I*D	�V<�A�|��{f7��DWT_7}yZXH�q��t��p��^�.�ە��h�Iz�p�e5����EW��>+I��n����+؉m.�^�0S���>����u\��QS'A��wM����o���n�ݭ��'C��89�k�y0�!<�=5��_68GgN�W����ȁa��:���ų:��2�F��
A+/!2P��Cк2Ze��yx|��0wg^��cOdWeE��E��������:&qb�
�M�^N�(shL��+^'[��]�7�|$5���D/ߒ�\>�4�~u~4>+5fh��R3��
d�Q]G�5��K+��Q�'��|>����R���ʝ'\}4�G~t�x�l����:5Q%އ�(+�B�/�ڬ_�p4��s[)D�j����+m��($�~.��b	�eL�14^5�P��g�Ωb�DP�����L�'��æG���Nc7�~�w���W���~��Q����s��J&��T��;��*8�X��k�5�q�7��0��^�,�mBC��KiS��Z��#6�����v��7��
��܀�
�Ƈ�uWFO��A�G1>�9X�T$F�&��h���������U�����b_�8��}#���蘦[<�v�&��.�j�J�k�tiF��!�޽\9�Ws�����I�a�ds�����Q��c����u�W,{��d� @fN��}'\���.��r9"0Ɣ?�>�Ʒ]��L�h��4�`r͞�9�N����z8'iP�n��j�r.��X^���eh{�	���U`Kys�j]��n?r�Lĺ���N��*��}ZR�D�p��O۷趫��m�p�U氃7_��&+��' ���
�(~�Nܸ���&�-p�:�x }���f��;�!���)%�a��.m8݆�8͂�*�3�&�0��*^��(�l�3�o]��}�����M���Υ��A�(��������]��$���*��ϙ|���M,�T������ݭ}�2�����lx5ڴج�C��Q����M$	�i��s�Q�N��f�g\�SC,����QeX{~yQf�Ilݯq�'���ƶM��B�d��Dx��y�oI�0,4�>��D���l^�-�9�4껊wB�q�	z(���ZN���m;CN�!���9"ǧ�wS�Z8?ǭ�����ϻ���N��(?��^��e7�`|���x60�,��u��M�~�Ld�s���/,x�#~��v�[j�d������=� ���'Q�5s�!gP&&��Np�p�⍍���Pi�8�*-�3nm9������G֥	^�GO�U0"��sRäj�|0�6�hu����#>`S�Zw�!��m1����u���o_\��UF3����1�fh�$��'�Bd<	��)���XLmUj���"���-� ��3B��hi���{���|��+�^���Q?��ޟK�|0�Z�i�[]�{V�3߉*��A�IK�i������?�(7>\�&��~��/��b�{���q�����G�2;�w�&<X���[��F�\��jd���.�A\_�����q��+U�I3�l�$�;�p��o�n�$ղQ��~�y�&�2���:�oҦ<�|1�eR4�o��+��dMn��ln�t2���uB3GAU
��x�0�i[���n$E�F�]�H��9�F�
���;o�y��\l�Ł7�,�Y��봇u���_=��V�nXk������Vn���~1xq�7��}&2:��a�����]�DŽS�@Kx!X�dG���7~����v2Q�8O����"���g��2EY
-ʬNf�
-����D�Y6��yd�pf*�!�x���H�5g��֗+Y�G��R��!�<_�i�{��9I����pX�'�IҨu��h�EUV�Z"�bi�tuv�@�JW`ƞ���E)��b0������{G=�ueЄ��v��m�1���c�tف٥dTx@={�{��4m�
-�U�F	���5��"�Sw��1�9|9�S
iJ�4�l&����U6�$Ah��(9�/��A���g�%={�盂+{��y��կ���:].�`������<��+�+?���_�n'�ƀ�Wz3�����4۫*|3>�����I�f��tҴ�ɀ��p�vKv�ٖ������YRov�e���2~AR��jm��,z���}��~H��t�E���;����
-c��*��C�c��-Nv��ѵ%�\n�}�5�0�����j'{ؗ�bYXh�h��A7,v���ȾS�
--�"����;]rE��̊�|����(k�ư<Ev�#����|%KӜ���ǐ��
-Wͩ#~�O<���1)*Z��g���1;�&��Mʁ`C.7��3��L��I�3�%�D	�<�1¢���1�<pD��ۓ[���|}}�{����
-jO.-����m��P�_�[��GX	����^[��_�U��]Z��q���O=@F��~X�G�O��0���\]T(Bے��[�z8m�3�rǥ�.\�gt���;ּݺ�6�Ϣ0&������n:M�#���^�8i�z:+B`�c���FFA�.��blQ���,�`�+�a�5�z�p�25Wu��%��P��<�7'�A"03t�
-o���.q�߼z�E����1�,�/�SitK�0����m������_2��7>�˖�3���}�Z�A����L l��j墢]����Ԏ1�t�l��f���@�?�q�bm[�,L\@���ڔ4Դ9�PkI��K��X��+�a�zEKB���%��~B�ql�F���z�c�G|�2X���x�F��ZM��c�0��TR�ܭ�5��r9�{�2�b��ք�����_૓��G�|K7|���1��r�a{�ih\���;����a�V��\�sW#���=�8 �p�Ho��1��P�j��C7���h��!��K]@�{�_2�-�n{~*�������y�<ߜ�o�WZ�IN_�{+��_f�S���IP;�y$��m궠j��c�ٶ� /!w��W������At�4b�f��[}7i_�>LD����n��`�%�����=2S�뼜��J��e�Z�u�'�S��X
-���I�K(�����r"q�MӔ�0��S��2�����θ�ô�FiTMkm���� ��(0�nP��n�P�;/�H�����p�<�[Db�d#"�a1��kx_M�6�g����bg���A�,W���`%�S<b�]\m����W��4.	k$�z��F-k����W�̸ȷЪ�⥍�RB<��+X���cy�I[0#!�s�Z�[�@�%�O���լ�
-J�F���A1�`'�B@k�eP�"���R4~�+
l2��/�7��ڣ{ͺ{��i�T|y���7HA��X#����c%R�.���x�?���k���Ü�V�]�8Y��� {�!��Z��y�Y3�/�L��u�	������k��εs��,�%�O�d\f����X>���aX;Ũ/�`�6�NSf���=�0t7*�T�_q�:ù'���
-M��)����_e����'���tb\��'�l��沤�}l�=o��"*?�!c8���~-qkb�'�>p�	�l���
-�|ο%�TAEr7%�Kͫ���(�
����v��+�Ai�o�!W��x�L�e��4��Ny��:\��&��\�7�(�!�}g�}S5�U�yiwԅ��L2�$�42P�j�т9d�T���F��&E�밲����JDw�ܥdSP�E��g��a����69E|����qk�2�ҹLHPo�|�8�q|RϏ�@�7�5�8���~�5$�uq��Ż�_q4���d\w�
-3cm)�k�-* IFM�J�7�^�"+��b1|��=�G]�_K�%9ړ���Z�2���*����/��,����n1���EJ��Y.L���:1�a�x���j6�Q?�8@a�0A	�:�q:�B��	�醌e��{�J�wi���6�,e�EV;����Ǿ��$>#[��rs�#�����Th�M�	pd3�$�}�����M"8�J�ܩc����}2~BWT3zC�y11��BF�ޥi������`x?)��2���NAM������|���`TI�7��W�6-݃*
���G�͚�鎁#i�l$_>�6a�O�\Ӟ=��}�����p�S0�	��6��U��f#Dd��w�+:���qR���b���"��e��*Y*���+|Qت�����[�w��d[I��|y+�>+*���y{C��J�i��L��W{=�DS1#fF�V=
�X�@����[��D���qaE}�*4���DV��7�;	��k�-(��}tl�7��yP#�YC�0��T����Q���o���44it�:Y?�����LY�.c~6��6
�!�u�Q��W]]�!1�z )#�Qخ�0]�jd�˼�Z#�;텭T^��Lb�qcb��/ȄV���{�y�_��M��i���]8d�9�~3B}.̥�ϟ�L�߽�Z�uE:����Fǰ ��Kǵ��|(*!}q���m�ܛH��⹖��sk�C�Pר-��^�l�����U�z�H�2r2Z&ʒ���M�\�*
��LD�_0�%�u#�W�r���W���i&�tČ"�lL
2���y��ƺB`���N�
-Itb���^ި�Ƃ8�R.gH�JX�3�����*���K�`$�ϼ��7HbȂ��g���h�;�`
��x���j�:�����L�pFAE���c�<����{D�ߘ�_`gw ixg�b�bxM�p"s�51�e��@�;����C�n��	�g=��(�J��S���+�-r�S@�x��X�ߴIO)
-��1ό��n�Hs�¨$�Ƕ�S��k��˗�Z�lY�H{��)���L*>�+�m+O�����8����OC�8Ӧ�-��v�#��Q�U)���#��/A�������X�����GӴ��M�'�M�p���Oz����$3��^�r�ZA�A��;P�p�-�=,�\K\�$S���M���:�WΝ*D����(�U���j�����b"��W+��.���&�IF���Cvr;���Խџ,��Ab�t�L�٧�8ű:�!�Zg��t�4�ob�%M/I�N�6ؕ3)Ǽ��-V�����;{�F�y������ؖI�t�\�ζ(Qi�WǗ�v|7}T	�<�H�(��f�kA2
-�%I���F)�Ow����̆I"3]6�@?+��s�����o��|r�TbU��OǁT��*���e$,��V���'5n	���G?�]0�P%��DV�ЯJT�F?XX���ٰ���Q�Qj��>&�b��-5^%yw+�1�(�	��q`��5q���G{.�;s�hz�}�@���_L���ȯZ���q�y��Z�d�}3�a�P��-J�����H�Q{��v;��
-=L�r��Z��TE����m�j�,�j��K��?)��@�ޖ�X�GǦ�<�C7��(>��ƃ��p����:4&���鉲	n4��Y懵��ӯXY�R��w4�g��)V�4e1��q�U[IV�n���l��"�#ḧNc�4������q��,J
-W{��d�i�U)H���7�e{
g����瞀��.�5��6	�V�4T��1��b�C�c��[�a�f�~X����G4ս���Q/z�v����[G�U~Y>�J�'�U�
�����^3��J����/�*�E5� a�Z�EϠt:⯜��\�JX�sb�X*(Х��-�5
-��X�w){��#��Ig-3��T<�
9R���H�4��4�ܾ�_�<�h��'
���͢uq��O�y�1��^@��+�X��?�ljY���{Z���v#����46����j��̹��^�`ϙ0$zcL	��vW,�G�Y(LZ�Ѽf�V�m�湣�>q;�6��j��h�����|��0w-Q�M(0�u�wb��ɹ�(�������&�,�{�j[h�<l"؉�DL��GQ��a�m�n��h���v��i�\]�=~'p&O\�?45^Wb"]'!�w
-ZV߄ba>Y�*�9k��J��j��eI�Jی�F^��+��+E�pmƋ�}ʟ����~\���'뀇-��V���E��Ġ�y73XWW}msN������_�Y�������+�jU��&*}>���Ő��:)�!��B�����y�A�A@�t='���
@S�u)U�L13�P�v�!F�Uk��ܒ��<R�x����B_�q��i����#")�&vΘ�r�?+����*�)�W����$F��T�ϯ�ʒ�3[ɮs�r��1Es\�.�"w��u��M��wO~ۏ���U���y_p���|�1�QD�g�!Rho��Y��N��[XC���r�Ia?6�[s�q�r.S��dz�n�.sצXK���Q���K9V��F`��OJ����lDQݏQw︼h�	{%�g�Ș�YW+�_��s�`�
-2Jh`>%g����[���`/�)�|�2:Z�t��!��6s�Tg��GdXC�����ݽs]�?c:���鬯�|�nfK*�c}�p���l��a#!�>|������}UU�]Bv;X�z�2~%r?m%�������mIwn�QW��lo����W��6���2���.��8��C� )�n��ҨDí�G]��*�����-�����9\�"6b��5��X��;�<?r/JNW����A�{V���D
���CԐ����~��C¸j�v��؁n_�}YI�N�[���T��(��
<?��I�0��\.�LŒ���%~��LšK�
����}(?��a�l쌾K�QM�9O=�5SG��SV������GR��Թ#����@�7w�*s���Q;�B���y�f�-��8��&#cŞ1*�T5yqi��s� �Y��{����	*L�F��6Bk�(뚲&�~�6z\k��(�=r���5ra��I��BB{��{�&TE6����{�� C����9��#g�g!x�
-�i�����ϯe���L����D_`K�����/F��]����w�<R�@�a����w6�̈�--t��ɸ�'Dzq��8N����>T�,�ł\\�.a���65��AK�9X[��*�ݐ�㳊kzu��@����x*E�Og[]%���I&��*�w�b�1���֨P���V�4�Q
�$��Uj��zy��j6ș���|�\�W�=p;�oE�dlFA�(��vVE?�i��'L
-�ѥ[�O�$��ES{^�j�1xy��9ٜ��P �0�d��eٲ|�6sȸ��G�̟������u�tE#��龓�h�1�^U��6�!Ɣ��NZo�Y�D����j�,��*�:����[L=�s�ş�'e/�*�g�B�2R�����'�i)z��?��YWx䌞Hl�cG�1eŶa�����/��{��eq����8}+�]��jnT�"^?Iwi�%u
��AX�x����o(��M�چ�hLU2��s髬���畲��?���w��wKq�F �ޮ�@��?A������P@��Q_�Ip4)g��(��&�q��+� B�S}8A2.-�tNh^x�c����N��a��6�6�����Eg���U�B]�e�`�5��y�^��a�,�J�H�Z�-�DE��D�E�����w�^��(�׆�A�R^��J��f��i�am��' ��A��Ӧ\�Op�P4�.���o�*����og5�Z�{�q���̗*k
I��U��Vd8?����I#��^�6$؅shͣ��lC9}�v�bt-�����G{O�?�5o}f�Xu0x���S�Ǒ��2U	�ѭf���	o�GL1ގ����`2D�Z``_��ϵ��x���b�"�a%��%�p�c��k�KOa��[,
�S����`�b�&���!�}!��2#0Ulrτ�d��z9��ۄ�hM�w^kq�q�Jqr�?�k��W���+%�,�b�{�\a�f3*W:W��[��N��aG~�~�vq�}�$�kB�Mp0-�I�v<��_$>�Ղs	��ڻ�!�>!8"�hb�D��n[��g�R�"/a��>�)1M'��q?W+2
-��x��P"YX��A�lt��a��U�A��K�-���v/E;���R^	3����yTr���Z�3�'�QV�Iq"c�˪����ծND3|��*��!�ګ�ZO��>T+(³��_�/�j}���}wĽ�(���-%
-����@�lՙ(����T-����oN�M�$���������G�i�;g���&�y��&��%P�:�]�*�Y o�X9F����d�����W�������~�/Դ�Ն.����NW?�<��x�P��:��ܗ��s6GB�:���,����]pg��8�Qr�I���8{�Cv��s
-�O�V��M:���� U���o6gpvj��ץ��1���C�.e��۴G"���0ү�|v	�������
�{��{Ux�����)��[�^ޠۖ��#>LN���w4B�S�@�H��
-IV�����k�4��{}[~)z�~Tm��4Y��Oa�
�0�n�)G#���45��L`�Mw$��}�"~����3�2�9u$ �y�D��!ÚF�rNF*�y�~Iڵ�R����Ƴ�9X�
!�>���[�	?I�Z�����w;,*=�ԭ������nl9(�ک��� �a#���b+��U�.�(�&2g�v`~��ю����eW�Ȇe+;����Q�͈¤G|�(��'�Q�Lu����xϙ����Em��ؕ��綀4��-o�����D�p��r~�D�"��ߐb�{U���������L3��JDo3�lp�Tw��YI⁷��U>Yg/�9�u���|��_db�X���E॒�Ұ�y�p	��>IJs��C� ���Vf��MWph��̀�Sf��pɠV�fF4�	�VvY [��h�X�0���]�Im"��( 3O)����:��E�
1(��C��p����*/�L�s��Q�㿌��.���iԐm���<��&�&��]GŌYKJ��bFi�m0�hX������I�ܪ-h^�@�_��o�4�`3A�ve~��Y<��#}>����X!����J]���/G��ΧB������^v�l�JXw"�?GI�r��5/M.�j�=Lg�3�;��b�V�D�%�L=�|��V��h]H��eJ$NT-����U��2$u��3���t��F��%yt=M���vSN��&1�����Z�L�Ɔ����NyKP���vW�V�w�L!J��d�-�«-�z��뀩�d0�Κ��
,n��v	�x�UO�!K�W*��o��/���y��ޥ���CE�����wz�<��^:Q��)��@�s�稬�,���D��0��b��|��[���%�>6��o}��u�����.�����D�����흿��ϙې���g����O��̝<��S�突A,�H�DZ3R!���?�ߒ�jl�|E��JZ.����W{k]RgP'�8U������?`j4vvu�3v���?���pendstream
+x��wUp]˒��e1�3333X��333Z�`133�b����b����~o����&�D��]�Y+W�ʪ؛�XI�^���(ao�B����P��5vu�������1�1�Ñ��:�\,��Č\�<�
�)@h`a0sssÑD�<�,�-\�T_U4�ii��i�+`���?;�-���܀6��@;�?�퍪@ ��0��D���$T�
+_�@;���
@����� gi�sR���6�X�L��L-�*͙���3����4���
�at��Ep�:�Z:;�yX:̝��\����`igb�j��?v3��	98��������d���l�d����UIL�<],�\���l��
�7�ijo��WI�����Y�9\�.�2L-�l�<�����d�7
WgK;�2�8͍�Lm���`�`�՝�	�O�98�x�������`���1c�cf�����OnsK;8ƿE���������ÿ�܀N7�ꯙ��C������`
+4�cT�w��@��S��O����W�_��&�j�����<�+�����������s�����1�W����������0��@�]���A����LL�0Z:KXz�M�,]L,�fF6z�����)�����G˿��gfb��������_Mg��hg������7oFiyU
)��M��R�������b�V����,�����xӳ��Y8��\��.Nf��"��0��\��8Yz�t�����w�����J�_`��L�M��U#;�?�����&�NN�����)����8�4�[]�7�
�J��p������c	u(mT+*����O���4|�
eh���h�\<sx?��9�чiCٛ
+����KJ�_��I��I{Ĩ_��q��}�SnB��I�pwRYE��
�`���	���:�ԭ ����ዟIZC<Frj]��9E���#�����p�/��<��xXr^7D����\<A���ޑ4�G��6�B�L�#�\�������#�WX�'�����#Į�N^A�Is}�C��{�Mf�ķ՝��I׮2g�k��'���fKu#��n��9����.p�Ǐ�|;����"Ra�! �Aב
+����_�l���捕�ո�!{��gpW�2����gc���,������d���l��	֠�[`��(���>�,�u� ��As�ȫj��s�l�sT��d�w^s�MMS�x�����9I1T
+0��-�HC���[QܓDc����
�Z�aη~�G��f7�c������]��Ǩu����G��#�pKC=ћ���χ�9i��br��^Uu�<�Q�K�?�	�Fix�e�yL�W~X�d�ъ<Kv�������>�'-&22<jFj�֮0L�<���M�=0a޹RE4f"���Z�x��U�ҝ\�ɮk:M?:6��}:�b�5��j��a���a�Q���RMIs�Ͱ�F%�KM�֕�����ѽ #&H�+\�y�3�f w)EK�ko0���m�P�A��*x���Q���9D�������i��MJ�y�F��;1�Ŀ��,��6���@bw����w�ѥ�P���O2��t+?��яu��f�������Ё�[�t��N�\\�O �/+?�
+��t�]�v��ܻi�:@���tɺňn��i�;�sz�D�팆s!�!abA��
+��C�7}�s����0�_�4T���.�R��N�����38G�6>�|[Q��(�j�{��p�5�G���<�W���>�FE'{���er������=��	��l}�iٽ�.YK~�#�BN
�ۨ����]8��/a�2qk�r������������� �Wd�9aR��BH	
+Pp4~��`��q%sZ����1sԶu~'.��p{<Y�F-��_��Q��	WH>S$a���w#��KyS��L�ﲄ�#�\������5�rTV��3��O�%��U�#�Y�4?8���C�����&����.4�
+�&`&7o�����n�x�\��6�Ρ�5�"W��r�'�`��^Ӌ�QU��	��_�Cv�I�h�����rPO�F#����H�E�{���5V�������	�Q䩮�L
+�d�B�vU)8(�1
�juƒ�OA�-�&�D�iPW�2W�q�\f!d�V�2K��:�D�Z}�����S~�0�)��6r��|� ����7���4�B%�qzRa�}rYS�
��rh�QT���8.��޼Tc�S�m����w�ހ(��)�6C�Sѳ�ېʇ��`3�WH(8J	T��_G���=Ě5�Ԣ�>��"~��7䟔H�U�!c�@�-�#>�����Zh�Hy�k���`��3�x#����v)1�}�}�����]>o�b��������VԉT�pBM������v5."��A����b���1��,[wP�Ȗ���x��A�lB��we��^I�3�o�w�n�S[y�@(%�{�64�Z�B������ſ�(�4��	�Q�MyR��uF�5��嘼\�7~D���[�)��Gç_U�sn8��E��&�RC�^�F�Ѣ��2��/��g�/&���7Z�x#Q�����Zo����U0Ɏb��@���K��y�"y4YPk�	�s���*tt@���M]L��Gx ����З��8�f:�&4���*�RhY��y|֫���4� �sf4��Pg o$��NY�gΙ���=e�@�K"|m����H@��K����fU�T����ijZw��Ci�&�zܐ���/{��>���l)�-!��=��	�aZ�"�
+=��Xe�E��
�7�
9�ٰ�+N�j��Er�s��1���w<@�2'�
+��o��?�l��v�^Aq�q;�n4+۴*�d0(%�N7+��@�sc�_X�.<�#mrϵ�}��@���%� Yr+�J��3q����}el�+�\�,�������|	���'L�`�:�g������-������]1A�����ȵ���'
ޱJ�
k\����	Z�5���P㒡Yg�$/GZ$Q�A�����u�2Z�<���r�04:�;�\o�+]�D��xt��ׂ�	��׸30��Ň��0��#��t����E�
M�T"�?��#��е�hf��Y'�w���;��:l̒|'�Py��5����Ϝ|6I��aS�c���'FO�!�A~|�Bw	&�đ�ܳ��_vر�)G���ߠD�k*M'z_��\w,Z�B�����k�7��0e���9�	����w��.�_}4�,J�6��&��9��XBvC��'��"~��U*�5eGȫT�[� ������-dfT�?�Oi��:��"���l�Ư�sؕ�ȯO]�+�O�&�Ę��y�t�z�R㚯���G]�C��2���:��O!w�\Q����	���F�s�d,Y�t��{�:���7])���P�
�sE��C�G�}��]c�=C�5�Z,����u�x
+c�R�p���ȃ|>y=,	��ROG�͌ev�v��
�0�JqBf�i��`���O��"�1��\���Jz�:B4�Sv�-�uQ�Lhbe-2��,��{�J��N�)$��2S�V?��y/��?|����}�(D"�ӐK���/kP�|�ra��[�������zz�R���kΚ���o2��ɋ�k�@[��4H�hw��v�ZE�Xp�MK�W�m�9ʹ��՚�Tc��B:�g=�t�0��d3rťdc	����|ҸNk�*;9�o!�0��v�I��p��f���o_Bv0��'ܐ{��U��LW��N��$��چdC�6��|#s��Z��5[Mjwo��?�v����?��B�Z��_Ƽ�'b�0�(���L�#֕xϽ_i���-½��7kF���Z['Ncov[������6���_բ;^xc
r��р�4��{�cGu�tԹ�!Z|��bo�;IQ�w<l�o��WV@��[|��w��>���/��ߛ�H��SI���~�r�Ȓ�r���9<��l�H���B�v������Dži�u�ەoh�Q��8av�^�܄��4#�~,�3
.��>E�I~�\���;��5�����~��?1)[R�����[�s�mN�q:�Ŋ�>2	���5�!��q)Q��w~��GWkQH�O��q�x��
+G�U���<���y3��V��������>�\��+��V��A�^����i�@��Rt#Hz�ņ��9�I���X�g����81#u9���Sq񭁎0;���Q�U���q�2���o^�p�ڭ"��׆�cP��@22�>��Al2hp�h����@32V�3���ϼU��!��[X4�"��}������"X{�ծ*��Pٟ#!��`M�8\��'������4�^h"�����c�yML���&VO�.���Z�	�h��]����C�����2�
�B���?o{Wg< N�\�󝎂6��ƃ�Ԝ	9��#�����=iN+Y{j2�Q�{g5E�:��(��\<ï0�di_�g�l����k������L��[��M��S�7�OO�(Ğ0�"7�#�3O�Ki�.��D�i S�wך����t+��K�1M�U1�M$v�/;�҂���8����{yߨ��������sA�~�V6�+ς�*]�Q��"[�Ljd����t�?������s�mp�	 M%@�A���h���W���Nٹ�P�P3B�F�p�7�MC4*rW��R?H�F���X��L�}�7":�=�M�|��6X'�+��DV�rE9�� &���U�!�R��V�s����^�hh�XGF�JF�Qz�_4�	5T� ��4���ڳ�bO��o̘E�	s�jTf������]�ʰ��b�l��)~nT�R�XߡNݓ.]VI��5�\Nt�N��}���ҳ�PJ	�0��W����~�/��a+�ך[$�N&f�S~9�+�܂�kZ��:�F�X|CL��L�i��I�k)�/��3����������}��]Z��O�y�A���3į�Wh�e4���F���.�~,Y�t0;?� ᱥh�x�8��<��3bJ�����c��u�-�"os_N�+�M�R@�΃�����\=�*]��+37� ��unD�cWMKAӗ�G�FvEFT�/Q�B�s��0h'&O�MR
+1b���-��N�}���7Q�|�Gէ�\"w�Q(r���Xj�cgF����0f���xZ4��u˩�~�p�D��}���%��-[%,L�a�T3��ָRsQ��J��Dgu��&'�x�w��B���Q-f/)�D��c�m�͇wo���]D���I�9�рMpB��|&hs��7p2-��*!P��|j�x:Dr�Jhb��8��w]ޓ(�����ֈ��I���4�"��Zx�W@���������m�E-�ǐ�����`��M_����L9A��b��v�*����o�|�I)��\�X��)M�)�S�k��P�U�(�MX��c���R��{�N�DoKD�r�%j&�����,�����N��sMB�O�/y�[D;	q��.J)�A'�� �,ֈ��������r��2��Η4�l�T�7�#(d��V;
��ޓ�ϑ�o\߿�����;���U�|���5'�a�J�=�Y��������@��F���7�'I�F�6d#���D��I�Hr|P��?DlA{Q8P���e�H��r�͢�YVU;G�`@L��X��C��5,'ĩ�[-k�&�� �k�r��/�rvH�]��c�4Phn~75cA2n���3ڂ��ÝԨ¦�87���
�(L6���|b���c| �@W�h�tp�t�Ya�����F&X��y�=OO:-�d�{�Y*���~w̨�J.Ț`Nz�X8kb
+~T�c&�j'����K~�4��:��&[���w����"A��h�S��wl�gv�o�te��uӗ�����7s
��
Ljў�%�b�]���f����
GV3itEP���ļ��ؽ�������esC0�*��[Y9�Q��a���$h���.�T�zm{a��
���zd�r''��?&��9���&���������3�80lu[GC�X<���.cod{�4�"TO�0���!�U�������{	sw�e�:�DvUV4
+XțoQJ���X�c'��p��D��T�2����⵳5~!qߵ}�GR�HMM��))��cM����ʏƇa����\j�����:���Qtiy:����p@�=��[��شCJ��L�󄫇&��O����s���R�&����eIV��K�k(��n1zn+�hSM�6<y�Mހ�d��E3V,݌	W�ƫ&m
+3�l�9U,��}��&����D�y��Ȕ"��i����N������0���a�R��J�yG�YK�}m��fq##N�F�rF��+���i(}!x)�+cX[kX~��=RݮT�����2����Z{s���ʈ��ң=(;�h �g@8ɟ��HքÓ��4���qw��0��S�
+�<�o�r��t�ڮ֤#�\�e_MV�am�.���Q��ع�+��
+cN���Z[:*0̞�b.���^7J�rL�O�.��e/Q������I|���K�:�ezX�#GƘ�����t���M��
��A�FL��18���|���^�$
����T]mRG�����`V�i/>���
+h)oNY�k��BN҆�X��qةxZez�OK����i��v]p�Mβ�v���Y�d�>���A�����Ҏ7t��D�NSv��52�L=Sy�2d1�<��1�֥
���Y\�v�]�F�Z�k�R��v�mtf��듽OW�Z߹)�3׹t�3H����{���s4���ڜ[�v�9��۞t��Ł�j]=�w��>���]b��ܹ
���曵��`H?�>մ�$a0m��x�7�c��@�nx�?5�r
+�x�Q���e����~�[}ml�$K.�I��N����g��D�B��M�L�"I��Yܲa��O�uW�N�*�9A���U��_���mg��:����6G�����n�Q�G���U�RԼ�yw\������Kփ"���Po���g}�"�\'��D�WND�<g��z‚�;��o�>��pJ�[��(�3P�"�- ��z�Y3�lreb��G�1(��X�X�����r;�֖CJ�J`~d]�e}�4^!2p�{c:%5L�v�!k1�V�_���=��6��dq���i�c����^�<���ŵ�]d4�PJ�\Sn�&�������E6���8��=���V�X[
+!����2bߛ;#Į����P*�W�9˗[X���
+k�ҁ�_�sI�F�R+7�y��qϪ{�;Q��)7i�3Mu�8���&�Ƈ����n������Y�}�p���!�پ���#Qfg�nڄ+r��ZT���Y���ޥ3��#����
+�R�ɐ4C�@��Y����MR-EIl���o�c�ή��Mڔg�/��L��|v��yE5����
�w��͍������Hbf(������1�o�r�׍�(Ԩ��)�4�؈6��y�9�\����8������q\w�v�n�����PתZ
km�^���^�
W؃�/�/��߿�DF'�6�~���+��p�h	/�������/��P�N&���a�[Yd����C�(KA�����U�=���?��0��;���L�5�  O����L���p%���t_�[�Ǜ��!��`Ϛ=&i�!B���վq��!��Q�m��F^TE`E�%B(��IWg'	D�4qd�Y���P����,Q�����uԃ\WNسhE��ßΪ>fH��^JFŁ�׳��M�F�0_Em�PNЍ^3,�>u7�����c9֠���Jc�f�����9�^eN��M���I��텚Jz�[ҳG��)���*�U�\�Z*�����Rx�i��S��$�����]���v��\p�7�N�AI����7�c(�h)��`ƾO'M�œ��k���a��n�z8��%�fW]f],-�$Ū���hϢW�
+�W��tO�O�St-K��hO��0"X���?�:����!�$ag�m][����wZ�
�n<��v��}�+�ŀ��F� �t�b��;կ��."�n��!WdXȬ����<�ee���Ȯq�6�p��da�����\��Ya�9u���ɝ���&EE˲"�,q7fg|��p>�q90l���~y�t��8)�aF�č(�G4FX�7}U]&�g�h�|;r�9ٛ����z����Ҳ�O>��V�
%=��e9�����Q�赵���^�ߥ5��WM���d�h��}���	���C����E�"�-��������F8c.7\��r��}F�y�c�ۭ�h���,
+#2��߭�L�Z�&�tޢMNl������"v?���o�a���݁)F�!˾ ̒
+v���[��w�
+�-RsU�KY��?��ys�$2c@ר�:����ͪG^D������#���9�F��cj��F,�_����%��i�S1�l�:�J�[�e����+���f@*�V.*����jL�C~K�!�F�l/?��3�ֶ9����4
.I�uICM��5��tj�Tޏ�ʽ���W�$�!��Q�)n'4�džh�J�9.��V}�'*�e�
ދWmT
��d`�;�
+���%5��j[�n/��h�w)ә�v�]`M�=����>�)]�ɷt��IjP�� 706�FU���>��!Z9�����%_75r��ܣ�B������Cz	��Ƹ8t�,�&[m��(��D���%3Q�Ѳ��r��ٝ]����!������~��+���u�����2���P$A����"��ۂ����f�悼��m:ͮ":J^�04��i�u<�o�ݤ�|��z0I�f��Uʂq_������L1��r��+o�Mj�ݟ�O�μ_ba(p�"'9.���*2��ˉ0��7MR0��ZNɖˀ?��n#;�N�1�G�Q5����o�'�HV��ԺBux�Cm8 ;�����<o�)�����������m�Ϝ7�30���no���Y������JP����9�XK��W�Z��_.�H�X��Z�B%i�j�r#�o�U��K	��x��%W������ꑶ`FB@7氵D����K̟<%��Y!����b��:NZ��V�sˠ�EA��h4�TW��d$�_0o�ϵF��u�Σ�x���v!v�o�e߱F1���$J��͝s�����k���Ü�V�Y�8Y��� {�!��Z��y�^3�/�H�麵�������k��ε��u,�%�O�d\f����X>��aX;Ũ/Tg�6�NSf���9t7p3,�T�_�����v_�����ٌ��始�؎��\�^�}:1�E҃u6vssYR�.��ڎ7ۯB���ـ1]tSe���51�~�Q�����6��}�j6�גb������������Y	
+�i�
�Lw`;�ҕҠ���'߀+Be<�I&	���~�n��Sq.�Jj�	����SԐ�>�׾��̪�B�k&OB�
+_��hA�2A�iC�#\J�"L��UXY^gso%��F�R�	��"��3[�0Ij��L��">]_���^I�\�$�}>Z�8>��GG��ʚrY�??�z�Wq��Ż�_q4�!�d\w~
+3�cm)�k�-* I�MnJ�7䞳"+��b1|�~=fG]z��Ԓ�I�	A�-D��X���RI�z�d�Apbט^��"%I�,g�	�p�w���H��M5�뉏������@���Mm�8m���F�tƲ_�=e��4�`�W2�"���K^[�c�?�,,����8���\���co"���{�b��L#If�'e�$g�|��9wj����Gj��^�����j^��0����wiX$<��+u86�O�nƷL���SDPS�l}t�0�c`E'UR��t��MKw�JC�c��Qz�b|�c�HZ/ɗ��MA��Ó)װc�s�x}���"���i�(��ni�h�YY�sg�]�΀e�w���ٳب~U̿�4�E��,�WD
+��(lU��sc���;�P����M���E��
���!�U`%�$oz&
+Yɳ�	r���3��t+���V,W �QG׵LV�~\���"�>\��Uj��o�ݝ��5��Z�>:���i�<�!
̬�Icw�g‡��y��77f�u�4�|�����	}lB�&�g�1?
�D�����:_Q��W]\�!1�z )#�Q�ٮ�0]
+�jd��<C������V*/qAr&�L�11��d�+�[�C=�<߯g��&i�4HW�.�\�B�����R���f�	���
t-º ��y����F��h�c�������l>�
+�������6�G�M�vT�XK�ṵѦ��kԒCp+|6O��K≪O=o
+��F9-eIZۃ�&x�t��&���/��荺�)N9ԈS�ܫn�[�4�J:`Fy4&��cü|Ic]!0E�B'Y�$:1��QF/oTgcA�V)�3 I%��͙�?�xEX�
+�%�]0�k�b�$1x������G4Ո-T���S~�{�`�F[�
�gx�N8����e�1Q��Dt�ف"�o��/��;��4��e�O1�ƾ8�9��n�No ۝^�p�!K���г��h�^%����qJ��9�) t�kU��oڤ�Ęg��^ׯHs�¨$~�6VS��k�˗Ś>lY^�H{��)v��L*��+�mK�����8����O?�8���-��V���Q�U)��o�#��7A��������H����Gä��M�'�M�p���wz���1�If>K���ε�B�zA7���[�[X�����q�嗛�utϜ;U�����Q2���j�����b"g��K��.���&�IF���Cvr[��Խџ,���b�t�L&٧�8ű����g��t4Fob�%M/Iێ��ؕ3�)Ǽ��-����!;{���y�v����ؖI�t�\�ζ(Qi�gǗ�v|W=T	�<�H�(��f�KA2
+�I�Ơ�F)�O7����̆I"S6��_K��sߩ���o��|r�TbU��O�T��*���e$,������'5�	����G?��1\P%�\EV�ЯJT��?XX���ٰ���Q�Qj�M?&�b��-�_%yw+�1�(�	��p`���ql��G{.�;s�hzӽ=A���_L���ȯZ���qZy~>��d�}3�a�P���K�����H�Q{��v;��
+ݍ�r��Z��TE���n�h�,ܪ��K��?)��@-ߖ�X�GǦ�<�C7�X+>��ƃ��p����<4"���遲	n8��Y拵��ӯXY�R��{4�g��)V�4e>��q�Y[IV����f�!6�`���1C:�$���Gγ�W���c�(e(\�
+^�9̧UV�@in~�D��5���/6�{����8�G�$��Z]��MK��1�@�n݆U�5J�a�F��HT�~~�G�����V/m]�e�T�+I;�4�6T�7.��fzÀ�+B83������oլ�pp�]X�k��=��鈿r�Ns�+a�2̈�bͩ��@�F������(b�ܥ�]���X�'��̼�R�\�6�H�fS#���n���,r�H�"�k��wO\��F��2۝&�c½��<KWt�6��Џ�P�7F��WA�F�-��	��o¹�<�A�qw��+4��3aH�Ƙ�!쮘;�~3W��"ƣy�ޭ��sCo}�v�m�)8��wa��[A;��da�Z�țP`P�4��>��scQ�ɉ#>���q�MzY��Zն�y�D���|я�&�ͬ��~-�Ѥ�1��|w�6�(��s�N�D�(�4{hj���D�NB�����	��|2�U|s���E�QU?k˒ *�-�������WTW�F�Ҍ���?i��)��|i7O�[�㭂)��|��A��nf����������@����5�f=��
->V>ժ`9MT�|6��w!�!oNuR�UC6�7���ӑ+����:�rNޝ���ֹT�39�T0C�?��y�W�I�sK[�H�/�c����
+}���&�݃b����\��)c��e�����Gh��w��_m��~��R�/�>?0KV�taP$��ML����a
�H�܁kF�Q��6�k�=�Yl7��Vd�}�	c+���,F��%�TH��9�"g��;��Wna
	��M'��؀n�Ǒ�ʹL���M�ɺ�]�"`-�"�C���+�|X�4�y;?)=��kr�Eu;F	@ܽ���&� �A�#c�b]��~af���1+�(�������#n����������h-өʆl���S�Q>�A
�"Ž_w��u5��Ɉ{����
ۙ-����µ�;l�eZ���<��iл&c�j_�UU�_tQ��`M_+g��+��i�(��,6�FGhK¸��p�
�bg{3U��=st��$��]�u0H
��n��IYvc~�F%l<�P�V���p���h	��w����5�A�Ě>�A���{Qr��rŇ�d�ܳD&j�����tY�w��V��P3_�%��p
��a%
���-��4Q/2p~�ۓġ?�\��%a7K��ř�5�t��A��P~
+��T�$�}���rs����Lmy�OY��;o-Ha������i��LS8���_G�m����0�ɛX�,'�j��{ƨhNP��ť��Ϲ�fe���R�'�0�vi������~�W��k�b��
+[�r�!�������	�ȅq�&1F	�	F�SY�s;K���N���Fh�2V���Y��r( ����#<��1�,3��7�}�
h,�kc��6cRtI��{^��H	��I؆�Th�ؔ3Cv״�5O�v$��_���f�8�NJ#pzP���rq���Y��Z� �-�/�f`m���~uC��*.�yԽ;g��#�{��5_���*i�l�2Ѷ�������$%4�F��7O5c��ֈj�%9
,Sk,Q���O�f��9�>��e�:��*x)�'c3
+�DY���*�rL�8�?aR��.�:|&�Ø���V����%���t�Ȅ�����'�,�����CF��޲g~N�f^.C�+��O��dG�������ްq1&Dg�Һ�͒�Œ8\�fP�d�?�PA ���ڎ�����:wY�){R�B��Bx���!$(#u����r���gP��S�u�G���d�>v�SVl�	L���B����w[7�
�o�����I���Ưw���g ��mB>�.W7+��Uz
�w�6�Y����JFAu��}�u4���R�q��:���B�Nc)���g�$�ەH^�'���28p�
+(^9��4	��&�,��T�$[n��~%oD��r�}GH&�����
�wp�y����Ü0�1҆�&z�]�Q��l����]���L���</��8:�Q�iSk���ȳ�����Y>��n�
���E��08(W@���P)t׬��2�;��u����pܔ��	n��ׅ7����S�V������R3o=5�w3���Re�!�/ӾJ�Ғ����;i��ЫPÆ�p�Y�-�M����P��9}�<����h���ƭ�LB +�6����wj��8r~\��#!<��l�X?���	��Q�}YL�H_�k���&}Y�?/=�^LSd��]��dNPlu�Q�)��t���cjB���#l[L�D�@�7��/�p]�F��Mn�p��#�[/G0"y����k͏�OR)N���g�����w8`���e�/w��+����lF�J�S|K���4�h�����*N��rMȸ
+�8�ݎ'����羚s.!xXy�٧�'eB$M�+v��m�\��]JR�%��G6!�	��4��jEF�4/>J$��k?���� ,q���o��c���嚕��h��U�+a/c*��;V~;�J���]�p���?�j�8)�Bd$qY��q��ՉhJ���[9>��l^{�W�rهj	Ex6�`����X�����W�!D���d@���`���:ŀ����ISЀW�ͱ�I������p�aASb�Sy��;M�u��|�޸?o1٘@�*D��K^�2�M+�� �OԵ�l���t��q��՗���� �s��V����W����������!�S�R������H�Q��������'?J��3��7gy��}.B!�)ۊ3�I������9|����V
��qẴ�7f�w~H�%��}��HD��?F����.�a��<�e��AxOwt�
+�c��T1ŝx���t�r�qć��TW@��z�r���_T!ɪ2���^-�F�{�O�/EO�O��mՒ&˴�)���&֍5�(`D5����>��	̮鎤1޾OR�����rfRFz"����8��h�~�;dX��P��H��f�/Iۖ]���Uc�xv4'�!��ݼz_�'i�S��5�0�n�E�g㺕S����ݍ-{�X[՟3�d0l�?�Pl�`Ce鲊0n"s&j���m9��-XV1pu�Y���zI�%�)��p�W�bP�5a�T'ϯ��W�		
+��QԶ��]��xl�Cm}����YA�7GK��}!�I-��
)&�W���լ}�_CՇi�`#[)��mF�
���.s3+I<�Ь�;��%Z g���"�/���L�)뗜��T�T]w�.Ac���')BintzD(�~e��Dq��N����:e�[�jmfD��pke�9�eډf���wnj޵��&"}�2�b�3��S\4���t�8
W0i\��/��'I�+5:��ؘ�2k��z
��I�����lmR�!�uT̘��TYP+f�@�����U�*+K靴εڜ�{�D�e_��H��6�wW��ؘ��W��g�K�P�� C�k��娾�yWHc�u5����N�T	�L���(iVt���%V���i�t�rg��O�j����A�~
��_��~�2�C��#r�I�U��Gl��G�E�N��E!�L�m;e��i?GI]O�a��Ք#�IL�>x���*ӷ���e�S��1�ݕ���8S�R�$�~K��j˸�a���"�E���|m������]E���$^m�Ca�B����im��c�Kn��p��ƧWi#��Q*�>���@_��N�-MFJ=2�\"�9*�4s���/�(/����z/��q+�s:������Q�����A�ե�
�9hA��ۍ1�^���
9�Y��}&J�}~�����S�?��;C���Od�5"Ro��oa�-ȩ���W�������@���Y�:�:*ǩ2�p���	���������5���x�dendstream
 endobj
 2636 0 obj <<
 /Type /Font
@@ -22674,14 +22673,14 @@ endobj
 /FirstChar 38
 /LastChar 122
 /Widths 5375 0 R
-/BaseFont /ZUEJMK+NimbusMonL-Bold
+/BaseFont /BIMSWH+NimbusMonL-Bold
 /FontDescriptor 2634 0 R
 >> endobj
 2634 0 obj <<
 /Ascent 623
 /CapHeight 552
 /Descent -126
-/FontName /ZUEJMK+NimbusMonL-Bold
+/FontName /BIMSWH+NimbusMonL-Bold
 /ItalicAngle 0
 /StemV 101
 /XHeight 439
@@ -22706,7 +22705,7 @@ x
 �w��zؽb�d�'g'3G��3�5�����u:[�8���z��WOs��˟���^i^Qg�	�tw���09�ۚx��~%�w�U��l��
 �@KGs[���+�+����g���ҽ�����_ѐ�������ւ���5���knK��ϰȀ- �6ֿ��.���\��mퟙ�{-������-�X!ί)��3���}"�$���o��'�j�_���<�+�����������}��^o@�瞱5q��k\��W�����	�WG-����߿�2�&��"
 �|������o3�I
-�4W9�Y,Ll_��/���h_��k[_�XY�S��ـ����7��k��r�U<������&�w����:	���@���R������������`b����px��|���Ѱ�s�`��r�2���^������_h$�f�?���l6��4���\_5����6���_c�͐� f��S�S�k𲿍J��v���l_\�^��_����Wn�T��0����1{h��-K�3ԍkK�5	x�K�CAד��B��ð�bX��z��u�C~
F��UsgcTEհ�	�x�����Ο�5���=��Yr���(����#����[����o_/`{�	�� R	� RG�;d
+�4W9�Y,Ll_��/���h_��k[_�XY�S��ـ����7��k��r�U<�������w����:	���@���R������������`b����px��|���Ѱ�s�`��r�2���^������_h$�f�?���l6��4���\_5����6���_c�͐� f��S�S�k𲿍J��v���l_\�^��_����Wn�T��0����1{h��-K�3ԍkK�5	x�K�CAד��B��ð�bX��z��u�C~
F��UsgcTEհ�	�x�����Ο�5���=��Yr���(����#����[����o_/`{�	�� R	� RG�;d
 �j�{�3lA��F��es�`Y�J=$~�H�Q��b��~��ۑ�!��(�Su���&��=_��s�g�&U�����&[�}���R��ga��>ɿ�6�n2�o�ӟ-˜ڷ"b�$J����T\�y����[9y�
.6��fi���u���}���Z���=�'�؅��jy�"d!���bM|겏���k�C�x�O~*J� ���/J�L4�_U��S��D\Ʃ�Z�^����H��zJP���f�3�˛g xa8n��T'fo/9�MQ�~⥻�/���E6���Ѡ�w=W
l_
"����!LG��#��R�EvK�m��vd7��Y�F�n	I�]�jq�Q/M<a�n��WC��c��P5MHlm���R?2���U^����4"�U"��	*
�����{}8� ���wc�����L�h0��a�u�.ݭ�')�:B�e�EzN?�:5�oׇMf�{|-0ds���~�}�3<�=�2����QBT�k�}��D�mj��I;��:�V4Mگ�Q:))�p�*R�
a�����h�o��ҟn��P�{Ɇ�0�v�q�Z�ĪK���ȳ�e�l.��ɒ����r���a�ş�yI�H��*"D���Q��|����L�t�|���އ���p%������~��n���TD:&[{0.���9���1�]@T�"�<�p�z�}A�/
 ���V�_�4C�Y�';VAG(r@�������6A�m:t����m�Ѳؗ�cF�6.��ղ�o�W��t��#*W��I
 v�u�o� ˌ�R
@@ -22733,7 +22732,7 @@ T
 ��|߭���A�Цba�aq'�i���:jgǔ��ۑɍzb�,����.���P���F���v��,�މ(��@5W|[�Q�p���y��aA8d��#
 ug¿n���gF��9�{+��DW�$<��J_�PL`��K~�+Cyu��;Ds�;S|��K�O�
Tf�6)8蔯}��
����MƕA�E:P'#Y���@�3�,���?�t.d���t�>�����F�d�lK�t���������)�We�a�yZH-��w)��*�M��i.윳���l�ml�%m��?�� �?Qn�o���S9G�I{���v����������c��;Z����)�l�`E䴡"/��b��C�X��Nz(g�����e�e�����!g�nz���x��BHͮׄ�
���<|ܐ>�S'�`uw>��P�>#v�ѩ���T6�<��r(֠_2`>����a\c�O8��mgQ������v�B���X"���ݱ�@��g����H�Ch$<��"���/&}.�H?֟U�c_���<�9D$(A-
�ZS�Ӫ��v��֡4�u�=����)16t����M܊+^�a�ro^��N7�r�"��zV�$|&�� ���q�z\�
 �,���q�%�!u�2�=���k0��me!��3F�^���0a��`��97e	N�	\�H����N��q�� E7L<a���w�c0����)�Y�3����[���H&�J��j�$��8kom�E9k^���0��g9w�.}^s�`�y�!Zy�l֑��븭Cկ���R;�T�\�٦�빟��(��.Cз�{�Te�������S>�{���Y�"�
-*�o*&�����A���O��M�!v&�6H�3���endstream
+*�o*&�����A���O��M�!v&�6H����endstream
 endobj
 2400 0 obj <<
 /Type /Font
@@ -22742,14 +22741,14 @@ endobj
 /FirstChar 36
 /LastChar 121
 /Widths 5376 0 R
-/BaseFont /NNFMSV+NimbusMonL-ReguObli
+/BaseFont /VJIVPO+NimbusMonL-ReguObli
 /FontDescriptor 2398 0 R
 >> endobj
 2398 0 obj <<
 /Ascent 625
 /CapHeight 557
 /Descent -147
-/FontName /NNFMSV+NimbusMonL-ReguObli
+/FontName /VJIVPO+NimbusMonL-ReguObli
 /ItalicAngle -12
 /StemV 43
 /XHeight 426
@@ -22773,7 +22772,7 @@ x
 ������
 �>3@��	���v0���cfee���KPP`��/ v����n`{��lO�`(�T��_
�����˟�L�..�B���s����p2?+���9�!p�����
zj̓��4���ܡ�Al���g����j��
 V��g��	�?6+���

-��N��Ț�OjOG�_ ��9��������;�}m ������w�z�����apq,m@.���ӑ������c�j����9�@.����߫�O�k	��{��]���Ԓ����d�����)%{�e����s��������o���/-��j����V�(�@�-=i�����p�Y0�5�̀�ɯs��L�#c �i��\;^���!��r���)��I�O�8T�T��8���Q�6���ߎz�\���7�vI��=����������R��d�����ܖ]P�����
+��N��Ț�OjOG�_ ��9��������;�}m ������w�z�����apq,m@.���ӑ������c�j����9�@.����߫�O�k	��{��]����R��Q�b�����)%{�e����s��������o���/-��j����V�(�@�-=i�����p�Y0�5�̀�ɯs��L�#c �i��\;^���!��r���)��I�O�8T�T��8���Q�6���ߎz�\���7�vI��=����������R��d�����ܖ]P�����
 ���/L��d;;?�_j�_Ie� ��
�
 ���4��p��� W8�I��N�)�_{��S�`���8	��V������pg���y���ѕ�#�q��[�Ԯ��7�R �ư�X��*2bX,�l4����T>A(>�B�G���Ћ��L���(���]iϯ
 �4%W�bң��a0"����w��Q)�Jr���w��o�����4�Pg�e��A�ɘJ��7�J����em�f�s�RX|�3a�.�'E�B��ܷ��-���A�>%���Kl�5zL��A�R�)��������%�ݹ�ŹG���٣u��\�Tw��X��m�(DO*�xC��O���K�W�OD�V*��[;�"�8�4��"9ՉJ–���@���s���|�����;�^����}���/�/�;�	�h\�I��~b�\�_KYANء��[���:��V��Մ�F`Y�Wצt�z������$���7��a�c��
@@ -22814,7 +22813,7 @@ w
 �&��a��5'RV���3f���I��@�X�����h9�y����J��235��Z\�{�^�Dbyy/L�Ky��v!F��1d�?�������:��~y����MQ�T�����J����-���P6@�3�E�U�Ɋ�s��"�y0�O2o%b�H����*��M�)�ȉzS|��!d8�u�����s��{
 ��FE�Z"r�f#���f���]?߭c��:_ "��3����%��3�������Z�SqKk��$Ҙ�md����,-�h{ٻ}����!�C�O.Ӕ~�x�F:1�X|愎ˋ7��?a�<��dRby7t��N�=�����hSxDn��D�;�Y��;3��d�O����q���[x�g|4��4�q�ӹ�������$�V��BYp'oPB(��g���{���$�$0��K�T��+DZ���*��<Β�?Y�ݭ�^��̱���h��̍9#���6��i�hSa����ʾ[���ڷf�Ւ�$K�܇�������Ղ$�Tj�f�����o6�0�r����S>+�%�~���(� �.��XRk޴����y��nX����l��Z�?6'�,��ɴ6ܱ,=��(=>%[KC8C��@�	�j�U�
 ���Ϫ��nQ��t6���:�I���ؔP�Ɣ��kaQ��kO����g
-�4b�X1p��FgrPʡ�ӫ���9��m�Y����1eu�2;�˟��~D��ۿ�H7m��H�_~��y)BnWXm%x��>�H�y��-N�rZ�UY�>�:���}�
������_~0�?�� {�9��`������]`�?����_��3�endstream
+�4b�X1p��FgrPʡ�ӫ���9��m�Y����1eu�2;�˟��~D��ۿ�H7m��H�_~��y)BnWXm%x��>�H�y��-N�rZ�UY�>�:���}�
������_~0�?�� {�9��`������]`�?����_�3�endstream
 endobj
 2123 0 obj <<
 /Type /Font
@@ -22823,14 +22822,14 @@ endobj
 /FirstChar 2
 /LastChar 122
 /Widths 5377 0 R
-/BaseFont /RBBFQQ+NimbusSanL-ReguItal
+/BaseFont /RLSTIB+NimbusSanL-ReguItal
 /FontDescriptor 2121 0 R
 >> endobj
 2121 0 obj <<
 /Ascent 712
 /CapHeight 712
 /Descent -213
-/FontName /RBBFQQ+NimbusSanL-ReguItal
+/FontName /RLSTIB+NimbusSanL-ReguItal
 /ItalicAngle -12
 /StemV 88
 /XHeight 523
@@ -22850,50 +22849,51 @@ endobj
 /Filter /FlateDecode
 >>
 stream
-x��{U\�_�%�Npwww���N�Vx�`�����	 �'��;���}�{n���y��T=|笵���^g�z+
-5M	+'������.H�t�pw�4)�h�l����<�H44Z@��?�?��+�tI����Z������������<��\�tr$Ws::�����W �%�d����5ݝ���+
�����%�M���Oe���\����hc&����e`bb��!  @n���\�����Yx������GB���)��X5ks+ ��v��m�`gA66gks���͚��1�)Td%������_�I]���f�w��AN� ����� ���d��̦
����+���/��&�a�d`�$���,m��J������l���uvr&�6wp��H�n��r��;���'������
-h	&����9������+��]�^������}��2�s�VN ����;��Ud�$����FIJ:��d���&g����3)x��]�^���j������_�
- k'r��������pu�3���c�����Z���5:F�<����������9d���
-��� ����_�8���G��#���x��u�������h)�q��M@7Y��J
�������e���C����L�����o��-��ps�s�� �K)�t��l�5�������_�����{�v@������@��`����d)�ٮ�s�S��'��w������ɸ�b wY�U��+����Sr��&lEk
���!��db�<�${XᱰC���#	�X��UQ��g�ٿ&D��Ky��_RT=�ӈJMai�9��<����V� �-1�_��;���-��J����!�k�}��h��z��]Ӄe��4$���&�n�� ү����|���~�w.���e��<\Dպl{����d�	�4\c����E���6V+L��5�oeYB[��jO�R�٦fqQ���G�\I[M���QVͱ�d� �u�m-�G�]��ݯ?4��-�~�=�^^/��C5���+6]�#�R�Y�Ġ�A@���5
Y�����ڽN׉l~m��>=�A���I9#�#�y.ڨ}6D��8v�5T]u�X_ͅ��$���#��#r�3��"@0"󔇶�B	"<��UKX��5�7}��wz��4��m���S&J���8<{��UZex�}iTt�I����[�V*e�+�
-r��A���ݷ�u�w�qB�nEP'�ȇ>��¹Y<AT��{$�WT��g��rښ��[�j�������1�*.�Q)�������Q���l��({H]�&sZE��������Q'�W�@p����VƓrz��S�Q�wZ1�&{��ļ&��C�"��`EO<��#7r,���=7 �^�p@w�д��N>L4B��nH`�\LSz{�UR
->����ə6mω�����O�,�'��Z��gS_T�C.�L8�++D�f�%O(ER��uMX�Ed�}B���ﺟV�$�_�'#�#Ά�1'�`̨�������LƮ=>Ɖ��y��P����R��Y��|�'���&߆��M�d�%/J�0_��1���h����T��k��&Yz�yǵPv��8�x���Ӻ���$�+�,[$B�PK�2+�ٿƫ�'Mh�N�X��@���m@�:c�݃C�g�i�@��9�c�_������c� ��+���ОC����������j9�(��lx���cU��p��p���8Nj�ܺ�{	�jK�F��J��4l'㱌�eV���jR?�:^�?���e3��$����
->�Y�$�\c�~�̦�*;��3�[��m�y;�u��Ϗ0���	e��������a��͆�'�Rh���52˕����;6b{ׅ@�<qщ��/u�l�Tڊ^�G!������	�p���I��T�T��P��G}B��W�/υ)D�yu������M�� �	��:;��u<��ׅ�d�g�gϫrz 7��| �D�kɢ+��/VeR:�zLa���FL����S
-4HFUڸ$;�#�3�����|wf<����-���U�����&��Jv؄�(٫�
�y$҆�Ƌ
|>{��	!�$:���+j����GC�x�K2���IJ0�C7w�C���͗��">�R~�C�+�R��1��+m�G�ߚs3�6/�lRoVL�"MC���_�:����,�uh?>���j� <JYPk���/ǭ���'Y�f����}�_a��m�4�,P�V"�+�a+��b��̖�KI~q�O�hé�E0Ra�gP/�@��0���&&��y�I��~�7�����,/��W��M'J�Z/#�7����i�xh4��~f���`���8��L#m�<��s����)�JdT���ĻM���X�2�A��"R�z࡯gv�������ɿѲk$��G<��3��)��)�tC���,h�	E�H�'E����a���8|[�YީDK�@o�92�;h@rIm6�S�#P
�7�HP��xX�py�X\"���v���䭻�6&�V�[�f�*�x!i��6���x�%v��p
"_ᩩ��}�´�019���g��J\b
-O$���L������5�R1�"ኯ�a	�OJ�~���"��F8�Z�s�~��ʉg�F���9yƪ��0�bjV�m�, }cf��׏"f���I$x��A�8i[�'¹�Kc��m�*�	���A��;�����j��+��_:q?w������O�2��3O4���uGV|k��>�n*a>�\A�^�������{Ķf���V�d��e�^���i���vY2�8'��
-�����"a։}�_��;M�A������˓�|�2�������WS�]�(����e��<���}���+u]��M�<�U��|�� �]L���n	��5��L��T���1�m��&��v..ح��\�$�~/,�m�4���G۷�(s��^�\t61���	��&��%��Y��,	M�w�9����]�Y��㕶�>��������Cw�Ru@���F���O_yG5�u�+q�����.)�	�)���UX�K��M�*Vm�
����%ܿe]��&��1*/��~S����k��[�E�&G�5<��� �>f�4'�(?���b"���݅�42`R�Q�T��p����y�r��y}xǹ좉,ڡ@B8F6�җv�•/�.]h�ZS�!#P�H2�Ǩ#�mֹ]�0�b����D\��j��m“���
��'��kO�x�?�{y�g$�����d%Ӹ�gZ�jy�㙹G�2Z=��'�P����9p�8}�B7�/AǍ������?��&/�����״~�;�e���XL���B��py	鶬�=��IQ�F�Wo��CQ��Զ�y��
�3���>Oof��A/R2�<�
�>��kS����;Z����i�C�ֶ�`�����C�0�Ep�yye�o�V��J�0r7�3h�2�����f;��C�HU���$�f�|5��6AL�\6/��c�`�I(;5�}͠j����f�!�Užm���耕�'���
-���yy�W��w��ܘԖC2R�iXq�ޗ�|ƤaЎ/��	�����>��^;b0	H���u���̽j��Q��=��ڿ�Ď5��Z�����������+ �����!:�B�
$��CT�`Bsv^
-h�2�KuZ]ik�OR�Z|�"?D��춼(>�Ϯ���z_V����"�[أ��ƴV�t��8�7�lC7`����;fo�ŨG"H�4����n�h��.£�dDŀP�#�r��K*�G@�F|�d��d�_2��A?������*�I��6�4�6�;�HąnF���� J�&�\�B��B������P��=��Q��
-��!����c�X4�e���>s�I��){����M�0��Y��4�آF��-�z���-������M.���Ҵ}����3���X�m��W$ɩ/2хA��zaL0���"�Gҹ�r�XS"6�3�E���YU-��^����P[b�|��{G�;8�n=c�b�N����<�]��+���Q'R�Z�ɥ//t��%^y��~����J(�c�2��T̠.�n��f�n�[/�\v�� 'i�����w�e�4c&���j���t<+:�H�&�}E\�R��M��]=s���bR|��$����A`��{��i��џH,e(��:�����x��S� V�9 �MB�3g¥�f7��1��W�ی�o�#��k�V�vͧ�N3K�`\)� �񻞒]�H��{^Zh]���	�p:hn����t�������C��1e*�#9�(��
-UO�hG�5�i �O�h��'
-E��jW�R[�U��Zv�`Y$�Y���׸
%Ʌ�t�<���܃����]�>Rl-�𐔚F:��$�Qm��9�
��_�{�v`�u��3���T/|����vġOƪ�l���g�5���X�/'x�3樣!"�+:���ʔ�r��#�7��h�oK�\y�m'��?�8�ɛ��6�u�~�Z�bQM%����·��� ��ҹ{�$�� Kt�%�<�Ё�k�g��XS�3�C_���%�1]���պ/U]L,�!mӇݏ}�;n�W-2	���{ye�8��]��~^�j��D�Y��|�1��r�w6\�z�}��R��na��M^'�dK�v�{`u���U��J���C,A�@�D���-��˛O��1ĥ��{�E��^��+�b�b����8�"���N.?�>gu��J���qW٣iLl�R��� ��F��`�2x����iQz�(
�$y�] cA�-L��V�2�УL���SgsnQnFMh�/�_�R��X��O�
-n�)��9|�6fF�8L�pz���DOؾ�2k��HБ��P�]���+L��i���~ےXw�J5�x�lR����I���>�%���~s��g�(
-L��D�ܽޖ����� G ��=bTJ&NZ�$�����eWAem@ݬɍ�><-������ˡUy�L�lj��c�+&����9ݯ{��Z�S"����4�'��δ9��C�,�XVdH�v#�K�D�K���D�?:Vs$����l!�NF���11�MF�Q{nc��9�k���IqB���x[�}�)륾�w3���ʮ�ĉm��iq�J���ZT��u�p���V?+��Tʉ#���%U�
-�M��:n�
-�=A�ۗO��?�����m��Ӵ/w29P-4x�i^s�FE���k{���F�U�Q
-�LdEJ��WU��iB�{|���D�0��a��I%�~���wC
H1�G�:��X�-�<hĒ�I�-L���Ը���%��S9�?��J;aΧp��|(,���|�=S���+���JS�0�?�x?a��~34̻}��[9���y��<lT�7��Ji>b��'�w2?{8��K������ݦ;
-����$K��
-D���:�!��ў+(�pQ�і]qLD���am��q��N��a����C!�%����90ˢ+*j�@���.R�V��X;�ދ6F�\�z��i�#�w�6�/�w�	���1���������u���6�b��3�$	K�+�k�����#�ؖ�*�W
-�؝�9�5b�Q�k�m�	� [y�/Vq�_�H_����n\�
-P���?Al�;���h�~�*�h��y%0^�_�!�ġ?�f��G:Wf
-s�}+x��X�X,�u4P�ݵ�g~��9��摴�=3���9��h|�1�z�|���Z����{\(&��J*�_��w�l����t���[��m+"����d!6��V�4��ɾ#Dc�U� �t�{��7Ȕ�Z6)��^[��%c�Wip�~:�,r���}�x����ύ�L�Ԏ�3k�(z?@1���Q�5����_����);TK��@K��C�6���<}ە�<�]Z�[	��R���Rn4�-��4G���Max�u��J�T�zۑ�0���E��{���wyې��9�	K��Uy
w�9�N!���
����''����,�j����h�Ӻ���<Y��%p��ۛq�e���`Cӧ��Ӕ�M
.�7i#�l�A�����{�H�˯�m�<j��'�
�U[�dҧ[�	�\�*_��Z�5!�8H����LV%�AyzŐ�sq��t}��1�ߟ}�:q���yO�]�Ȉ�*z����n���K��Κ)�
-�o�9��YV����B�&>n���P@���"�ʄ�ݓ�
-_�D�t؛��G�~ۙ��hrN��%��R"wFC �Wj3����e��f�+�$Te�
-}���4���J�v��%X�Xs������i�t����i
-���.0�Y4dj�3f}ґ��8@�2�c��ۣ�,��*�Aa�\�(z�VM��r�%(K�`����~���W!
[U�u�Yo���W�LT'��[����/��������6< �|b &�m�1b�󲔰j���������!����oF�u�]$Y�VcJ�7h�T��s'ohZ�"bIY��638�$J��ಀ��B�
-Kl���Z�ƹ����g����9��Wz���F� %'�C|~�Ǒ��.M��q���ԓ�t>��A��[�
-��k)UV�h2^�G�K��AC���R�S��!I�Ə�U��k��5Z������X�7�F���/�[ut�:}�2CȹNE�XYz�on0�G��U�4J?��˔�	����Z�F�si��O�L*��H������rz��'@��e�hz�_b��	��/�h�u&Sh�5�+�N���"��ʙ����#\�2%QԈ���y&~����"wp����J�րi3�
2o{5����L|U����ٓ���O%:b()	���y�M�c�)̀my�ؗ>�.�6�A�y1��&0%�(B�tE_A2T�ߜ�
-�58�j�Kf���a�do~��2%^����Io��ۤF�M��ո��A�1f���/����`�0�*�s�xPbtL�@�D&�����Wd4X�5�d��J��4��$Vϑ�EMݻ�vb�!Iy����������ލ���(a����t���v�%)h��1e|�naL��R׶a�P""�t`�c;�6�
�O��5��m-�c�U�"ɯ����X��܀�:��d�nz0��I�!8#4�ߺ08W�ݞ�u�9��P�ۆ���O��_�/
-ƒ��}�o��Kq��)�ۚk�>����q��p���=#��:�	����A�iX\~��^��W�?l���y���{V��lj�1� l�^�00MR�u����1��<~���I-��@��x�UJ�S�AR�Y��u�Pi!m^�H�h�RQ����<P�A�	ߪ�aO6�A�l�uX��J�|�0�1�8���gj�I
-�b���"�l�TS�{�w��Λ����$�꓁|�^HW=�Aa�+\U�?����˥����il��]A���<�#�̝�3��ү���^���S���̖���u�%�z��,|b��x���⣦i{2���'g>�L���Sp-L��D�WI������t|V��_}�(9=}5�@�@��`)Y�����-R�gfp����q��@{��w�'��W~���9��/�4ڰy҈�.Qw��Z��Cd��Sx� ڮ^�(	��<ѧZ�Q�/��м#ˎ��M�x�s�6�??�w¨�a�9����R�v����le��3Q�2o����6�ѝo���
-ڗ��"7n���r�0E�Y��X��t'��Rat���X�"����	G�o����RjQ�m�c�K&�f���N���D�[J���x���o5[�`��KV�3��*��Bs�'�����u��-g�h�W[ܹ��5k
-i�k�����2�kk9
?r����2���C��u�����_�$F�Җ"�����p<'���ލa�풎~�B��!Uk���&otniQ�3�������t홡8D��v�З�)k.Q���v�:ҷ���ָ�p�6v�g���\):�.1A…�9x4Ns�2��l��(�g�娬o����|\��=��ü��m �x����� z�a������ub�T��/p��"g�����e9�dV'�t~�b�~��7���>t|ߡ|ڵ�|��
i���Li�K!����#s
N�Ws��"|l!J	��
ܓycX�!ك{�f+��?	ZT�K���B%�."�t���`�}�uk���D8�V ����ى���z��
�ΑKA��1"P�}��Jd���r�4p��贤):�e���P����PV��r+;��_@YA�Z9���ӳ]�61K�lL-�T&T>��|�1~4�+#5��9{VnO�M���[���"�VKl��^�T0���#w���t�"�a�PA�B=G��"���2��"��t���U�v�ҕ#�J60\ѬD�n�Ha��Ä�F���Ժ�����azI)稅����3�Ǯ|��}��ԛ��\g��I@�8|��M\�pӌ�y-���n&R���ݬ�)O�DOg��49d���J���k{�Ɔ�	e��W�U��5��.&���{��3��vm��&}�Qɠa�0��L�3ڳ�����ۭ��r7�Y����ɫ�D�ȁϗݜ[�|3�T7��%����ݍp�1w�THw��9*�)}l�EM�8b�D�m�>�⭍�YĻ�M�s^H���F:�	'b��'d[ł��/��+C
,e�&ؾW��ڬ��uxbA��Wd����ȗ��]R��~�z3��_4���T�tl]OM�X�ΰ��YA���d���n��vJ:�g�au�x�!�]\�+Q������ڀ+�\�Ǽ{�$���vc)/40�����I���9�d����_��,XE��a-�q�����]�ƴ��u�5�9�C�1����~8�yK�(��n��L�ޯj�M��}[�%3�w2�����
��ƙp��ӹT����uj��.pG�B�CߦQ�˗���'�EjMrB�ȇ�'�a�p4�L͛<L?�aA�t��ߗ���T�H��j�<A9������O��F݅����M�Hy��i.c�{$����o(X���M�F��HF�2��j+
�F|�>�Ȏ~L��X �L��Z:Xe�ٸ�#��S�b�ϻ<G5�����v���c�i��F�i�i�>~<a��&��E��������=�Q$�I�y5ܔӹ��ES&��z~��z��v��r���NW���:��4��L�+���9"Zp��?��܂%VTgN�z7��s��@K�8��{JenX���аZ�)�M(ZZr�6Ԅ�g+7���u�P��=��L�^�*�-�e���l`D��2}��e��ғH��]����3��L�da�0�G��Pa�}j{�$�c�3���h
-2TJ\�BY��1�~������:.�<�r�ٙ�0��=/^UD�����W���B�+� �@B�-��Tօ�zq���s��h�#5�B�n���t(~�}��=�&�]Hw���L���ŗX��Y•�1��}�-`��p��sC����V�qW�������>�x(�&;B�prqO	�t�Vsx�Mȱlykm[�����z}�7��+�޾��0�@J�4[v�� >�:<'�;t\)X�CL�k�:�*�Z�k)���Xp�޸�&�1z @Ƽf���T浥��X���R���e��:�]�J�n�YM�����뚀R;��c��C�����<��c�_��NU�J>e�'#�J 
-�����iw)�з��~?���݊,o���׹tZو�P��!�d醞st�=Ӯ8a�.���#T�zĀa�
-��;��|Q�.b�
Y��3�`_⍧M�k�g��2��[�A�-q�4&����cO�J�fby�zݑ�[�/�/~O���vq�>j��X���}$�8;��ޚIKۑM����iOXY�r	_�|�� *Le�5�,��.UB��_N�6�֭(NW��f[z��A�j�4F�A�΢i|P5N�'rF�u=G�X�9l�aAU-������!�앚ළ�<6���}V<��)9v�w@B�ŧ�ZM���CڕP��M���]�m?��M[��ox�QN3,w���?WfUA����:�n�DLq��G���1ȓ����:q������)`5����ڎ�ɾ�%b�~i.�%����:@F�V�ƴ������� ��7�@�ss���ev;ш�%�3��������<��Xc��ڶ\��N]���xe$�]r|<�M$��1e�&�������M+�E���d?<�"	�����}���m}t҂�]��ݖ��o
��Œ�V݋��J4%��N�F�E�3�x�Ǖ���7�<�MRT�A)���)./�ٍ��E�F��4M伫쭤K�q�9��{^�^��i&�3�3�
���`3�LJ���᧑�ە�F�+�ɖ��L�8�J��/�w���u�asA(:К��g��j�Z�:�w��U�{��@���@�rb��71�.�+c�\��<��sSo<�?�	��@�DԳ���S?4R�t���׎�O�b���p9�/*s)‹�~=����(׋\`�uso�~�&����~<���&j{Gm=���t�>�R�j��(���W�)�7w���ާ�5�#���7���$�_75�,�V���3���{�VcV�Q���lm�K����Ө
2�>u�f��>B�s��������+Z�;|�JlY�_?`�Ǘ�P�70���
-�~�A``����C�3�� ��L{����q� �eې桠`n��!�	
-�m�ew���.*���E�?���~V&�
-ǂ��5���oJ0,Lzin٦Vb%��\�@7���m4���=��W��teήT|;9�L�]�3Xlȱ�Pܨ����8��G�Ө;;ǵ�9Xx8��v��Zʟ���^U@w�ݿTj��^��ƖD�&�y�o��+|m�4�7
za�';Z&V�����E]�/K�,��𹪱�Ķ|�P�����g���_튡H�X�HO)Zl���5� ��~V�1���[�_���Ysi9�� s�"6�.���"0�D�2�mby$�$d=��q��$ӂU�
9����<�Q�ڜo-}c^
�695A�g��+G揞��09 ��WQa�]�_�Y��{��!8 3��{D�e�����Sq�}�,���0_B��О����.J��h�����~�g
h�$��~M�?/
-5�V-Z.%�tH1������ζ�Ѷ�췇���P1��"\�-L|^�����Z
^�zǮ1n�".b�뿢���zs�`�&@�{��Gr�`K���	*�\'�@z]����+�,�,�V�豻#�
ڳ�]�����|r?r�Q�/�{�j(?2�*#L��Z�a���u���~���M��jA�0&�mp�S�����,Y��V^�p~����[5�}�<�]�УE��ǀ_Rc�$^�+�h߯d���.wQ���W8&O�ӕ�6��z9�ux�q��UTrd��u�<-��3~�/Al�4�i�H�l�i�IO�| ,e��~Х[p��3쮟�$oǏ.��}�R�X���v���o��G����Za�PX�Q�9�DB󶚶�����
�`,�֦��R=>��3Q�T��u+��vp��R1����:�@	2�C�L�rZ��i3i��hW4M1Fȇ0�e��b>I���f\-����֎쥐��03��]�x�z:#�z��H��J�7�������?!`��0w;9���#����N����Y!�endstream
+x��{U\�_�%�Npwww� �ݡ�B
++<x���Npww
���2�w���}�i��7U�9k�o���٧ފ�BU�E��� ��p�������\5�@J,��k7�? �
�&l��!�0A�f�?������9';9� ;� ǟ5;�?]�U]�����0���CI;Z�9�@`
7''{ �R����bp$��S�f%�rt�rZۀ���u�����p��{��!���A���{G��2�����.���+V��L���]rz0�I������cu�b�l
+�YJ9:�%����g�@�ş�����7;����?`+ ��o-Y�9�i���n���
+�!����y�9��9����O��Rjz9�Fr���,}}��ȭ��]�@+������;������߉��C�� �Z������_�`�����f`�'�;+;;9�_������#���_�*f�r6i	I
����Q���$Y8���Y8�y�L�E�W�����o����d����ʑ\������-�\\��&9��Ƙ����8���r���!;�������G����`�{Y7{���B�w;����J�D��#�f.�n�����^��@�ߧ�����6�ZH����i�U�	�T�-l�>.�p��o����
+��&��p�p��i��\]����(����Rʀ,-� kr
�4s��'�m����Ǟ�Пw����)��X �,:Z}�����X+A�����k�W���7R�=�+T�
+�]w�r��긍h��24dh�L4����d+<v�|�)k��� �%����a|~jװ�EŽ���$�F�#�?ɣ����'8"Ҋ�*�O����A�������Ǻ��m��R�?�4�<�}�Gn>}����2]X�D���C�_���	vO�p>۔wX=׎9�|�2rZc*$�l^�9h�Z�d��ÄK*��Av�[�"H�i�����س<�,���~��D��h]���zO:���W�f��Vo�ec�	���Z�pK���A��ZG"~g�z$���w�K���Xu��Y�{ɦ�X�9C�8�h ����.�.W���.V���2�ůesnУ���y�3!gh�}(:�%C�dž���κ������1�֜(�U~�'HN�|JV�QBd�t��Q��>v���hEgM�I�`���y&��"p��<���R��=Ϟdz�Zօp[]c������J�J���W��y�ie��~臐�Y�N0��Ok4wj�����ջ�Z((��b��ҩ�*�*D �{k|̡�MsP
+�}��F&���#i�$[:,�T����D�%`.e�cE�A|Ў��%\a����� �����mWP�RL��Z+� 1�J,h�,��C �E��!nˉ
{5���S1��Y&4�t��
�-�"W��o~+��avgO��fGnn��ф?�銪��d��ڠj��s��I��ݖ |7���+�,)���*��"2�6��{S�w�W3[zطԃ�͕g�ڈ�?zDkg�����&c�.�x�R�<�Vz܏=���̭#>��������zƧ�c���P�Ͼ��?B��zP����~���
,�c�c�(ۛA�B���Yk�O���Ye��!��Ń�k�qjc��>�:"��?{��g�*N�w�P��0����F�oY��G��%���(�c;��~"ôg��j����Y��G�j,ʤ@k� _�OJ��T����X��Uh�[�%Uł�#w��߄�m&��dVr��.�R>;\����d1��$o����
+>�Z��$t]b�~}�Ȣ�,9��1�]��i�u;:����K�SV눲C��S��p�p7��b��Y.������J�]��b����@�p?oG�ד:W�`*nF�����Bc�yUy�h�L�?�rҠ}H,J,ʽ/�إ�>���
īғ������<�sYw���.s�����O�����2��Q���f��ؓ�e)=���n.�U����d����A��N�V��SXj��S~p_%���
��ml�-�!ѩr�l:��r���3|r�0�&�J���<Zuc�%[lB�b����:�М3i�~�y�:>��u2�ĸ��X���x�Q�%��J���U�H[�89��;���g���k��=�I1����Q��Qݽ�ͥ��d�Oՙ)L��=E�+�U���@V��7h
���p��*�S~v�N�$��dc�ۇ��N�+壬\#�[����{�h�k.�[s���z�25E�r��Xӥ�b�w.��q-�O��T؃fY�8����)�;ɀI{��R����L~2$~,�
�{O�� �nG�]��`�A�����|�[2
����{�n%He�?�Ӱ@zK;��Z�l�B��zi���L��NC֔8���C`���;�.xp��2cf�'�7ZV���аG�}�`z����e�N��ѫ9mm�h�܄���Y�5�h��]Kە�h�9���A��"{uH.���4j�\�C8*����)	j�)�.�s������v~���5��F���y�Z��T��$u�[��.��L�B�)<6�~��W��$$��V�zY��P�MH所������pS�
+S,fT(\60��������q�*��M�=�9>�x�@�gvc(w%������Ve'�Q&{`��M#e>�+3�^$1�L�+T4��q�Z/�yn*6n��P	��e��A�5~V=<]�w����ػ���a�N�D�\ѐ�Wm�q�q#��x:)�ylr�����s7��B�[}����Y�l_��
�)fM}
++�f7�%�u�#-��m
+.f�Î|/�nH����?X��)�cO�ɸ,���F�� �0D1����*����/(��^��nl��ɨ�����q�`��w���XQ��t�u!M&l�\'M�ʯ�gc�\K@{�ߐ���ų�G��μ��h��f�`PӋ����"F�z1&��`׹ �9M���%����:�Vڝw�1��s��Rӣ�m`'(���y�VM��h6Y�W��Z�y�WpD㗭a��(=}_�[���p�r�m�9�Ԯ���b���Њ�._��k�y�I�3�B�т_�wP�n��_��kԧ��кG��dd�������x�{�9L$W���۰�zL�X*��#�h�`��= Ol�:�o84�۔HGȦz�N���������dJIFr�e�L۷������P�z�:���+��QB�Ѵ��x��B2;�w��|���^q����v��\�Oc�����d��#ܵLK�M/�<�wH���+g{o�j��yA0��'�\�?�$�1��W>=;�Mg�����"#��1���Ju�A�3�h~.��l\\@�.�D��ptT���y�PT%'��s��ٚɉ�{Jy��3Q�Y?��')|�u}���+���h�[Z����Q�CV6�`1���P��p�%#�V��ivJ�0r��	�hF2:�g}'��Ƚ�o�H��E$��Y|U7�AL�:\6O��#� �	([U�=��J��h��F�A�Ş-ق&�(��`G���2�}�9y���7��|�蔦2R�IhQ���/|F�����ό��S�v��1������b0�H�fW5w��ݪ�~	���w6]�nZ��Ď��l����z�츌����ۖ�~( ���
��"ڿ@��%��ZATcBs�_h	���8�,���%�m.�]���avZ��g�M�f�-}���� �[Х��ʴ�t�q?�7�hA�g��Ɯ=bo�ŨE"H�0�s����l�h��&£�hHɀP�-�r���K*�G@�J|�h��d�[4��Aߧ�l���*�A��:�8�:�;�@ąnJ1`���%h�n6H�AW!���Y�}p�k���1�0�W��ڠ|w�����l��Uam��u�$�Ť��[ņU(�ˌSY0n�\La�_ܦS-C�L��&�p�J�e�X^Giʮ�\�˼ݩ����
+�5
��K���g����!�
+�0&�җVr��=�LN9�F���Ԟ^�"�_��������Y+H�����f�t
��sK��?�f5mw�l�N������Co��#��A;B�J�ɹ'7d��9Ny��n���9��P@�ly�OmR��~��Ս����^�٬��~N(�bC�y%�ts$�"i��>�Oyof�q��PÙ�we��J!f�4a��`��2�^�q���K��"�;�q��B�!��zoU���,��,�|nZ�]�[v��XQg��&4i0ά1�����|[?_uw#BD��r�y&��d��j�����a�Q� �L��ZJv="�G6�9i��Ovޏx�Ё�#�ߏ��Y��%���G�(Sx�G����+�JG�ڭ`�MaG��&;R(چWj��ޓB�X��T�+��"9���?�Į�(I�g���~��������-��T�I�a���Ob����-Y��._9��ʹ
c���Ȟ^�p���Nψ�t[�x�r��qoo\���a�U�b�g+}�:
+"���
��Di5��"z�h��ۖ���;�p�񳿆C����n]~H[��UF_!�d�K�Ih�\Ȉ�1��
+����!I¡����D�m����3x��Gf�����9p�M�=H�"��$��R�โ���e-�e��G~��\�I&��˦�\Q!����-�����{�P4��#�G���3�~��#�ӡ���s��0ߐk�w�OZ�p�H��Dl�,��V�֞��e-��m���5�w:�2��A.>�z��	C\�9���A�7���V<�0-�-�J����/�_0�m����W&ɩĚPw���F��)Eοr�ά'��g.�׽~n��u��R���G��2���W�d-%�*c�]�D������b���KM�),��+����*VŬ�~7���n�|5%���B8>��Z��o]}����'h�f���*���&n�ѰM�I�eA���A�)�h�tB��P�N�
��6�%���z}��k� 
+���@�عڒ����X'C ��=dTJ"N\��$��
+;�dn�V@%-@�̉�o�&�'ᶓ������?'�b�W�0e�EM���ּTb���hk�x���~gX���U���J�)2$m��%��O�ޤ��L�#�*9d���7�s&"�T�G'�T�=��GM�4NWw%
�	!�L���n?��tS_湁K�߳*�)qb�&d�\#E�`����r����ߕ^kgd��]�9q$`{`S=�j`R@y��pTG��a��h�{�)قs'�ֵQ�u<bv�����
+���@�W�����@�ꮚ��E�����B���aec�P��8�ԱG���lA�؃��R�ͥ{]�P��M�ǐ7��~�} �`h�r֋&	��[�_jq��	��.���K�7�S��d�:���gE>��)@�x��?��%��K�+ڋ_��	�j]&�^��lV�4	Y��'�R����2ˉ������\g����e����v.�ҸI�B�~��L��q|��J��ğ�q�d}?"	�~z㰎����U�pi�C�0���FԦ�y��m���iޑ��/��_�U-��s����U�I-y�k�I����q��W�[���5���js�(=ř��;�Z�=1�iP����֕��Y�}��$l�z�K� �v��*�$u�ȗս�xh����W��R���W���<e�k��|�L����(�8���E.��Z�d^�j�AH�����Oՙ#9AN��ܫ���(�
+���aw�vǘ_���N&��x$-nN��ԷO@Ɇ��k��7 ��03��Cd1��	�;���b��a��-��d�-3]q4�V���n�a�7��	~|��3ɱ�m�kV�f����F7�|��
4!��ML/�ג�qNB��U@���
+0�X):�t۸/�fa{�q�.�>(����\�2���Q��ޫrͅj܇,�Ug��o�
+����T?q���=�8G�ri ~���V��+�T#���	y�38�@�uU�C���$��r�1D�{x^l�x7�C�&x�b�x\�³x��D^�Mz�E���x�����!&>y���_OZ�S4㧳IML\o�,o�"8X��ըI�2�h����s0��I��:��̫�!}��d?�ta����_
+����UK:�M>����qL]�~������&~|?��W���!��CҚp
+��7���<�b�����g�Y_�2����3�����/�p�8��l�i���.d���e]�%��7��Y�C������c7S�lw,�GzL`�Fco�j�(�erX!ky|���G���"5��JG	#R�mM��58����>Q"�GA :��ӧ���d�J�����$>ɮx6�m8��%~O۲��!X]_u������n�p�S��n����7�Y8hb�+zm���G�<�e��ӥ�,��*�Fa�\�(z�VI��r�)(K7o�S�~��
�[&
[Q;0ܨ;��^e@%��#�F8Z(}�k;�
'j����{$��Ĥ9-<�����2x3P|^ޔ]�v�mz���w؅�5�B�L�t�͐��xn��
L�PD,(k�BǢ���D*���_�3��kV`�ͰQ+B^;u���8�b��}?+��BQ������hq�����0<��`ס�b<�QМ|���C�֏v
\f4w)�ʌM�g�hw�p�o`��\LyB�:(i^��/�B�j�{�=�J��"VC�/�i��Hd|I�yV��^�7TF09׉+K���5��H�J�z�|g~�� <�S����9�H�Z�@���I�	%�d)��9x=�N��٢x(S�,M��s�P����)-��D2͐�Yy�I��cxY)��e!q�A�$�*߽<:���|�����6��j�)�*0m��~z�M��ҏa�����̮]i���C�o�"A�=��
+|2$��)M���ӁЂ�o='&�����EH�.��O�����W��Wly�̷t�o�έS�'ǩ���B5<��yW���55��z�޹b�K.�f�?G��},0!*�J ~<{�c�ևK2,���82y%�'���+g���&n���1?_�����`j�Aw���o�ʂ��_�0�	U�R�ۜwr�N����?o5�
+&�g�iY��+}�7ٶF�ւƧ��~�����H��`�hE5�'-�g�h1����qv�J	�*Ʒ*ʑo�#y�B��1���t������YA�?L�g_����u}1V�(YvKc���
^��:�����M�kU� ����,��>��wGҳ������a-O�W�J|��BU���3�O�	��y:9fQ���z2)�=^�胰#/�JI5
+0H
+0K9�*M���kIm�_�
+��z����S}Ʒ쀸ߕ
��'��k!��)�6����a�`��o�5��(�s>��sJ�J���#��^g����]g��ӣ�|�n:HG-�Aay�����xt{��\�yi�U�7i�.#KOy��p�L�Q@�UG�T.����)]zb�B@��	��9�y>���N	8�Hg�Vհ9���A�3E&�	us�ɿ&�C"��-�y�}|x>:��ի<x�����W�F�}������P����5�?�ҳ������@�����;�3��?C�ڬ��y��C*m�ixM������Z5h�پ2�{�	�v mG7e��vo��s�����7pH�E[~�k�]_����/��ad�^�Q�EN�E+����\��n@���A���@�c^�������}�J�swN�+7�Pm��/��5��rf,H�c����>�b�,I�by��C�W�;�)�Ƞ�Q��[��};i�WC��
%u��V�o���M{5�J���)�n~D��#X^`F�*�Q����Z4s�wv�j�
+�B犯<ibY�D�ʊAFNݗa�����@�{M���7�Đ@C�Bd�=9��c"����V�6����W��R��/���FfWe��ި�Z�I� �OU��C��m5~}�����y���o�v�-}�>7�ʭw���.�?�/���B�>x�	.���k��q�E�qg��@�?(Gf~���k[�������	�f
������x9d��%�,�x���7x��B9]���,�'�*8���3������%M
�����Ѯ���4��H�O�秂H
+i���m�pz��1(ߠ������s���I���S֛I���Т����|*�5��ś���o�͛3=l���i�ϴN����V�E�hȷ\
+����j���"����ž��E
�)M�����D���
+,��k���<�2���i�����|��ie}J��2�����у��h	��E��rk��Hw�$܊�FV ��jBC&�򘶠����ì����5Ӹ
+ʠ'�rXoŮ�9}֦��'ѯ�s����Ի��h�<�dT����F%*t;��b��l&\U��wPb���G:4r��E���&bS�o��?w�s�j�&_U�f�k�I����Ǯc���M̪1��;�H�/�|t��\�<��=���	�����()N�k���+�&��1[a�UP`�V�9˶��*OC+۶�P����F$��B�.3�OiO����W��o6�Je\Ig���z'.� #��\trnZ�MC@,Q]�\}a��(﬇c��ݣB����V�K�a�-j,��%bf3��oux�r?�nŒ�\��7���t��A��
+���x�\	j@1��w���J��Fͥ���yu�n���:�C�CvI��r�Q̫�??р7�b
���5]U�#m:�ʖFQ�G�
f�Z���I��_����c���T���/TD탿/Jc��/�sD�r�y��R[��<��\�GΆ�&����f��H�ޗ��Y�
+�N@C��c�?!��XK;J�h�%�j����k3�q5��8}q� rQ���]���н^�U-V�{6'�MÚ�ʌi=���7�c��K��4TiǮ]5�z��;�,��:��V�4�H=�X/Rmҗ�D>�5^㊣n*`b��n�ĈB�����g���`��qʉ5���u�=:�o��DX�N�{�3Oc	���S?���;��xs_��mn�XU��z2��نi`�%0B���)EV�C-�<�DR�@q��G�B����ąf�7y�J%$/_��U�Xѓ�������C��=�8��!LV	V�}�=g���;^���n1�J�I�3=��;�Q���Y�,����@�	��Xc�5d�KuhF�B��a�3D��=?�h���y����ĵN���r���	p�����&̠|���n��m&�pq�U��@.Ԕ���:���[,�� *1�'R�,w8��i���W��a�N������"=
+���w��N=~�0������]@�����.�����.M����)�P)q	e"0�E��NA�`
+��k�Ds�J�Bde��<$t={V%�WZ]�
+�,��P�6MQY��ƪ�ޑ�2�Ǣ��X�E;Iv�!��wI�v�����5�&ӡZ��_c��g��G�8�|�����{ĺϹ��uybSS6��]V*J�V%�s,�p��lx�������{RX���<��st\�ek�Ks�jD,md��cP�]1��
�aRf�钓,�Q��	ށ�jp��(bRn��~f��bnS�x��eۼ���1��=:0�%����<�%�bB�k)��'���A��'p3�r���f�&^�8�������l�-G���.���gǠ0�
+�I[>VQ6�-vN�SHр��5w��/v{�Ex�8o��d�+<�N�Sʆbm��Nj���#�o�E�s?qaW���Z���z�Q�Ye� �Y���yp���Ȳ����{�<-J��+��P�����9�6T�S�L(��g]	*�	��k5�b���_}_�lc���U](<�>�*xyKr�u��6��"c������T�>/� U@�ϛ��|��Yj�],�e��bmԩYV�*��Ͳ���*n��y��V�E�h�b�N��$4�x�����ߤÂ�X��>:=A��)5��o	[z�j��
��x��Rr�,w���wە�͉���t{�$r��ۂ�^��E�����Ds��FX������0���9��)d|͠���8c��Wc4�'�~���e�X�����J��'�-ѣ]3K�^��l�k��ᕿ���'�6$hhN�NW����E�u�E*Sd���C*�/�>[[�t03Dz����Zb�	ҫ[r
G?9uT�~P═�v����6��iD��S�x�k��7,3��:���tNJ( 08<s��ğ��ޣz���N
�s�Ks]���/e�!�)�1)�h��),�����
�c�v4�-��;k�~��#����I���ں�4�wz'j�+|&�+�F��ӎ�����M�t��9�Z�c��p��td6xl|T�����ooζ�_�r��2�%.��ƛ����c�*��o~>�^��KW����!�@+�W�=�MjQ��!��n9}m.'}�K	Y>�Š;�/� r�su��L����|�ƍ�PtPOσ�O|�H9������G�يI[�KC��>���Ϣ{u�����#\�r�V��{ix��`|D��/���'����mM��x�+���{,�q+��桌�\�_�&o\ߪ-1{��Tu��CT^~J"A�PO5w\6���h�7��Z\�^^C�ڭз��+V�2K���x�yl�� ��y�t+�&�-Q	I�W��[��:��ߴ"���ҋ/�+��_k"`�7��2����K�;V�8kD�A����b�)��^�˦.�]A���g]&6>�r�8v�UT*<1���������D,�e �+��Or,LZqNɆfB9��\�@'���M�Œ�����b�2gG
+�F�,JɎ�),6��}nd[z�K�i��I䭭���,,<bP��/M�φ��/*�[��w����.�����Sn�+���2�}���u�n��񶻦��7�|��GQ{S��o�����\�X�b�ު(?�ּ�҃Tq�/
+w�P$���i�'ͷ��o�t򫿨��PtϮ�/�S�,�97���[����B�A�bo�y�Z��6�<�|��JD	?�� ӄU������{4�V�ژg%}m
+^��2>1F�g�wǖ"�G͊ox������+�0�.��/k����LK������w3P���5Sq���(��X7WL��ߚ��5P)�Ug$m�P�\�գ�4�}A_�*��|�-��^<��]t�L�vkS�`�y�����S��}.�&.7H�����f�癁�K�k�����{��S�}wv.��8(m���P�dlax�7N���H@o��5��rq������E�2=fgx��Nk�C�M'����O�g3#�S�EgZ��G�e#�IgZK�� �i��N�j��^�	�Mg���.�u.x��]��E����W�/�cu*��ϙg�
+�4�1�rp�UY"������~�ѿ�
�]��{����4���Q+E�
+�1
+���L*���*��%��wf��&�ɘb�8)�	c��6l�"�	����lW��;t���������m���D��O�+UJxC��n��~�l� Y�IQ-�k3:C�o�Rղ����E���%��0-W�˧`�*j���f�?z�uR*B1�ŖFǢ���h_�(Ӻ�ڃ.@�H�.�ESā�!�gIu��ORpp�W�#����-k1���-Ԕ�t�8���ΐ�x�'���������A���OX��\��f.vH>.�W���_@�_��endstream
 endobj
 2110 0 obj <<
 /Type /Font
@@ -22902,14 +22902,14 @@ endobj
 /FirstChar 2
 /LastChar 149
 /Widths 5378 0 R
-/BaseFont /IKNFGA+NimbusSanL-Regu
+/BaseFont /DABSEE+NimbusSanL-Regu
 /FontDescriptor 2108 0 R
 >> endobj
 2108 0 obj <<
 /Ascent 712
 /CapHeight 712
 /Descent -213
-/FontName /IKNFGA+NimbusSanL-Regu
+/FontName /DABSEE+NimbusSanL-Regu
 /ItalicAngle 0
 /StemV 85
 /XHeight 523
@@ -22929,7 +22929,7 @@ endobj
 /Filter /FlateDecode
 >>
 stream
-xڬ�S�em�%��m۶m�v�mgV�Ҷ���m۶������>��}�{V��&�Ę�ܱ#9��*��������������H�����E� G�bn�F�W�CN.�ln�j��3v5�!�47#37%ba!b���!'up�r���r%�RWѤ����O�?&D&^�S�����@D��������������Q�ܜ��ʜ���ΜHTQI[ZA��JRA�H�`�llG��fbgmJ$gmjp1�&�pp&����������\�b	��8��Z�u3�45w�GEG�h�lo������څ�������D��S;7��+�p�7!Gg���u��\\]L��]��FU���<]��]���b�WM�`������ퟒ������u5����{���Ĝ��������o�`�������b
���舜�-�����]\������;�Y'��V�����׿��Z���]]��,`�Y��4u������ϠH,����Cn���?u����6�ꟙ�������΋����Q���oH"��;���H�o������z����_9��.�����_�%�������,��ƁH��cg���27�����?8�WCM��H��G���o3��	ab`������������������N�+W��;�Y��2�o3�虙���N�����O���Ce0����%��������Di��N��J�/��j^����;����?""�D>�o =+'�߀\��~��h��0��Y����ړH�o�L���?��<��q����?���j0�;^�K�������/��������nn�in
+xڬ�S�em�%��m۶m�v�mgV�Ҷ���m۶������>��}�{V��&�Ę�ܱ#9��*��������������H�����E� G�bn�F�W�CN.�ln�j��3v5�!�47#37%ba!b���!'up�r���r%�RWѤ����O�?&D&^�S�����@D��������������Q�ܜ��ʜ���ΜHTQI[ZA��JRA�H�`�llG��fbgmJ$gmjp1�&�pp&����������\�b	��8��Z�u3�45w�GEG�h�lo������څ�������D��S;7��+�p�7!Gg���u��\\]L��]��FU���<]��]���b�WM�`������ퟒ������u5����{���Ĝ��������o�`�������b
���舜�-�����]\������;�Y'��V�����׿��Z���]]��,`�Y��4u������ϠH,����Cn���?u����6�ꟙ�������΋����Q���oH"��;���H�o������z����_9��.�����_�%�������,��ƁH��cg���27�����?8�WCM��H��G���o3��	ab`������������������N�+W��;�Y��2�o3�虙���N�����O���Ce0����%���ŕ�e�i��N��J�/��j^����;����?""�D>�o =+'�߀\��~��h��0��Y����ړH�o�L���?��<��q����?���j0�;^�K�������/��������nn�in
 ���`�j�3+õ3odJLw��t$̱�I��0���W���=�*���0���?^����dh���0�(������R�"oStq�3��g\j���.���p0i�O)��~A��t�:CݾR�����8"���7&�w#5��]\R$���P������?¥�M�&�u���	t���Q�򉢆�h�ý��C���c�ON�Cm/��dY���J���K�w�j?��¸[���N�����t#w��k��x��%�͂l$y��p��������G�[�U�.k�h�8"g��r�Fmwt!��[��2�*ω$��,i��w����]ʙ��;�ga)1\�F����p7ߋ
Nˍ����(LJ��\*{u��ĸ��%VxB�0�h����|bl.S�n�[T{M�-�@��]�'��N��$�A��a��=��}1x��@�Yu�}�6�A3�Xdx�H�YY@f'l�U<��EQ�����Z�S�FWW��9:��0��ğ�k�����`�?��[$	p��ԝ�}A��F�������~���k�u"T��u�&����Y�3)
  ���AYe9q9
m�,z8%�H����zS�J�OM�[�X I��k�#}� w��Bၩѿ����ފ
�Ҵ�'�B�As�.�$ݟ7�y�c#��[��K����`��]�7��
x�:�l���x�¹�w5���FX�=RS�}���}��#��#��T�������2=��OջC2]z��"BGWP1z�
�PCa���F3J��z}�_}I����I�,FI��6h10�q1��v����B��0��o���h�Ul/��pjg��i������`p�P�t��7*N�8h����3.��YA��x�FAM���K&��7�#�#�O������C͔���=2�,���
㶢���Q�Ί�l�W�>��vm3rC����Q��e�ۨ�EN
�����̢���,{+u�h�TW[�:�]f���\���,t��|x"����DL�cP=�ʩ{�_2�
��ch	p��[Y�?�r\j���9�a��y �D�p�F���Q���if=����̰��7�m�S���0\r�%�^ަmS֑��!��gV7��v�=��v��%�Ā�#X������2��<��օ�F�
 ��^�M�r:,�^����["w�����Jb]���*��m�@ՄQn|�gbxK�m�U{���-�YlƖ�,�d�㫃������ˉ[�$1\��8��z#�$�J��K��T�-r�Yg2[w�Xᙔ֩e]�.���E"7������ U��S!�9
���T��4}���~O@�}��$���F��6�^��I������=�$=^Z�(ą�"�)d�p��'��MȾ!�oD���+c����ߣ����qo��.�e$[,��.7�3����������B�aé�2R9d��n�ەY���fU�@}r����h:1Z-�s��T�l�:��j�9�{���k�En��01�77$�HWU��P��1�:��5q�r��ж�v�*�u�'-y�QYx�6=�%�F�5�
@@ -22986,7 +22986,7 @@ ep
 �AÜ?
�k|j;*��-�e�&k*.��Wt��F7[[������6y�M�J��k�d{��;������S{�؍s���=��ǻ�|���5��*�P���S�t��-~�O��55��ۃ])��z8��ꬲk�zo'
]�(�>/p<v�S'��Ē)��_0?��ԕ,H6�"�.a�ڍS�B>~��D�20J�m�7L��O:>Y6�N��E�$���kX1I�ң���s��X�wP�&AS4-��[���NcD�d�s����J3l]lf�/�<щ�\FZ)G>��x�<7$/�~��ٔ�d*�,\����i
�1�k�#�x(�>�R��K��J�6	Me�ٔ�Һ�9]�kS��]<�I�����`Tp$��ojO<��eq[Q����io�+�ڪ^M*�����ʴ8-�i[5�|���Ҥ*~/5[�V����Y�Htq�\G��{����#�s!�+��YKu��8�z��-Q�݅�3T������8cw����i��ft�qݴXb�Of���֥�{̅��Bm��E2/L�Orqj��L����c�
�l�UC�y���<4^o����������}2�Adf
��>�5d��*�Δ�odu��Ц�('��Zy�'{��wew�8���2�K$��6�:��o,Oѯ���Ϳ\�Y��'��)6�m�X|�A!�n�Iѧ�_(��|�摸n���!����[��D�g��Ҹ��r��F���)s��?��r>w��>T�l��)|��W뿚R�]��8������%>���
 �ȟ���xF�+щ��{l~��VgP#�i�-���?祔��ҧ�҄D-��j�������F�_exP8%��z���{ڇ"+	��X��ƅ�#Y������g��<]�G�=�I����O�u*z�WҿUI;hM�8qR1���T���R�O�A���|��Ͼ��Z��ɝ���]��XyO��h�|�=��hI���P?p�Z�l}DZ	�.ƨ�_�{t�W���o&�B^�����5[��S{MB�R$q�`{[8��oKa`Y��h���>��a����~����j�&"��t����*4��1s��z,̹Exj�Q�ψ�.�'�v:,��Z]�u�C�b��뻃j�]�6��V+�G�r�ug��D^#g��?��#�V~�tK����W�f��B(xϷ$Z#[L>{Ң%�CF�P���8v�"^��5����
�.(�Eߴ�{z^�DV��\�ے@E��4]`hH�Q���{����4n
 ����K4��O̓@
-�2���O�A-H	[��A�^'�(������+�頹W_9�?���6
��G�!��4��ٱ8/���~a���@����f���i'*�兩4�o���F�{����~Q�:�axb�E�6����+��'���g,��+���nΨ�_�3ʛ�?tH��endstream
+�2���O�A-H	[��A�^'�(������+�頹W_9�?���6
��G�!��4��ٱ8/���~a���@����f���i'*�兩4�o���F�{����~Q�:�axb�E�6����+��'���g,��+���nΨ�_�3ʛ�?[|��endstream
 endobj
 1709 0 obj <<
 /Type /Font
@@ -22995,14 +22995,14 @@ endobj
 /FirstChar 34
 /LastChar 126
 /Widths 5379 0 R
-/BaseFont /QYAPHC+NimbusMonL-Regu
+/BaseFont /EQYOJA+NimbusMonL-Regu
 /FontDescriptor 1707 0 R
 >> endobj
 1707 0 obj <<
 /Ascent 625
 /CapHeight 557
 /Descent -147
-/FontName /QYAPHC+NimbusMonL-Regu
+/FontName /EQYOJA+NimbusMonL-Regu
 /ItalicAngle 0
 /StemV 41
 /XHeight 426
@@ -23023,7 +23023,7 @@ endobj
 >>
 stream
 xڬ�UT�Ͳ%��K�pwwwww�����E�N���P��K����ݧO�so�t���Ɨ13fD䌌1��XI�^���(�`�J����P��3qsQq�Sp���WZ�I���b�p���@cW+{1cW @h�XX�����p��QG/g+KW����&5--�Z��0��䯧���=���;����h������Q�Z�V�@�������$�JRA 	�:�-B����� ge
-�wR����^�L�ͬ�)ͅ�/�����4����4:����vV..�V.�gc{׿g�����7�u3�'��vs�%����w��_�/����������+�oT%1���ji��Ol��0����N3S�J����/�jle�pz���0�rq�5���/���տ�ps��������@cg3[���_�������	�ߪ7vt�����ÿv���\]���p�,c����mae��O�Hۛ;����m7ss��������g��&al�`o�0��1*8��
	���S��O����[�o���M�����v��_����p��U0������3������w�����g�?�����jlge��r���5����r�W��!��-�*D�����o�����'�L����`nl����eW�7:�Z�����������_05K+S��`�7�7��5���_0*k�Ɉ������6+��
+�wR����^�L�ͬ�)ͅ�/�����4����4:����vV..�V.�gc{׿g�����7�u3�'��vs�%����w��_�/����������+�oT%1���ji��Ol��0����N3S�J����/�jle�pz���0�rq�5���/���տ�ps��������@cg3[���_�������	�ߪ7vt�����ÿv���\]���p�,c����mae��O�Hۛ;����m7ss��������g��&al�`o�0��1*8��
	���S��O����[�o���M�����v��_����p��U0������3������w�����g�?�����jlge��r���5����r�W��!��-�*D�����o�����'�L����`nl����eW�7:�Z�����������_05K+S��`�7�7��5���_0j�k��J�����6+��
 W5/G �FҔw0�_��DD<>����zN�����u�fa���	�/"��\��:[yt���������+��B#no�`�O��ۛ�m��e�6usv���������c��K�zM��WLyC�3s�\�
 F��t���G�+��J�kz2#w���ׅ14��|vx-�9~����}���M^���R��nStq�3T f�k��\/�����`�8ܝRV1(�"��bu��~�$u/� ���o�ј�������"��������p�-d�m~,9�;"EL�S>����w�xty���3��#� �Yl��/� T��;Ŀ��J�xe��)�>�ذ�� 
W�5�>Ώ:R��W|�D�5<����Gh��v��ש~����$ݓ�\�1u�bY��y�;Ec����+2y(��o>�{��>�i�z?]_����ڤ	H(�xў�D��eZA��Ĥ�v�1��Ya"׷dV�~��8��D8�T)ѱi^��#������k�E4������Q�T~
 ���\s�Ka�G�o��&�yѰ�xDL`du�A��-W
r��Ц$y��ʑ/I�Q�.N���7^Z\Nν���Г<W��ʰ)�N�G�K���pY>��H*vNF8�q�=�0ܷg�o�q/hӸ��D�l^���r�����I&(�r��2yx�o����������.?�W�zS��.���jR�%�z�H�,Q�.|����Pc�o2�Y"I�4H��o��xdsh���vF�]�۟i�um�Q""F���1�������f���i �l�{ %���ngs��w���WS�%�7$�?-����YM���!$���ěz{�ݍ�����|�v�.5�&�
�b���9��gӣ.82�Rm��\#�W����Y ����}R�"T�
@@ -23079,7 +23079,7 @@ P
 �w�Ya���	���E�9�*��W��
��&�����WTcc����@��X��D�),� �g���:��c�=_@/1h�&_��������d�޵��ij�A
8�ľWfC��ș�&塓�8�J|����HKF�E�}J���z���oc���
 c�,ܣ�-���s���pFeC�����*<�S*O�\�g�/0��%Jw�K١��
 �k�%w��=>Ic����&�Mu{ͯ���#�4口*��"�pЇ�n�9y
-��h֥n��9x�+����بq�MӮC�,�AV��Z�%�]�V�4_�"����L��z^1��D��H(r�J��(ۦ�D�9��Oe;m�I�ֹ�"�n����^�T�.t����R;9��������nx$Sˋz7(S����,ҭ)�
��������B�K'������X"�+}3��DJ�;A�z�������-�l��E�V�������n�%����'"(Z��tUzCjH�����;&�U������bJ{mj��r�����������27S��$����Ɔ�S�/���P�]u_Y����~/�V�,���
�X	ʾvy�^����Nff�%���j�����HzD��)1 ��bk;յ��!ïGފ��e�s��/v��X��*lCWN���Hϼj�K��-��i$�&?������ΨC���0~�]$�T0 �.mn�WG�K����> m��X/*o�b��3f">�.Y�A����_ܬ�����SB������M�4Nړ��S=���uK"Q`�sRse����i�g�lb7�+��W��ys��76tW~	�}�W_�,�8��!V����8FL�_t+foǜ�����v�ɌŸ.itxۆ��7W�u��N�%��ϱs�z@k���5F��!��D��n�褩��UE�����~�GJ��b���;���ui'��ʓ�ϣ��ڵ'�7�#�.�RǸU����7�!0����ų��KG�
�B���S*b��b9��Ѫ��}\u��$�	�W�����a����?\�]���|%!�Z<��:"endstream
+��h֥n��9x�+����بq�MӮC�,�AV��Z�%�]�V�4_�"����L��z^1��D��H(r�J��(ۦ�D�9��Oe;m�I�ֹ�"�n����^�T�.t����R;9��������nx$Sˋz7(S����,ҭ)�
��������B�K'������X"�+}3��DJ�;A�z�������-�l��E�V�������n�%����'"(Z��tUzCjH�����;&�U������bJ{mj��r�����������27S��$����Ɔ�S�/���P�]u_Y����~/�V�,���
�X	ʾvy�^����Nff�%���j�����HzD��)1 ��bk;յ��!ïGފ��e�s��/v��X��*lCWN���Hϼj�K��-��i$�&?������ΨC���0~�]$�T0 �.mn�WG�K����> m��X/*o�b��3f">�.Y�A����_ܬ�����SB������M�4Nړ��S=���uK"Q`�sRse����i�g�lb7�+��W��ys��76tW~	�}�W_�,�8��!V����8FL�_t+foǜ�����v�ɌŸ.itxۆ��7W�u��N�%��ϱs�z@k���5F��!��D��n�褩��UE�����~�GJ��b���;���ui'��ʓ�ϣ��ڵ'�7�#�.�RǸU����7�!0����ų��KG�
�B���S*b��b9��Ѫ��}\u��$�	�W�����a����?\�]���|%!�Z<���!endstream
 endobj
 1358 0 obj <<
 /Type /Font
@@ -23088,14 +23088,14 @@ endobj
 /FirstChar 2
 /LastChar 122
 /Widths 5380 0 R
-/BaseFont /QWTJBB+NimbusRomNo9L-ReguItal
+/BaseFont /WEWCKH+NimbusRomNo9L-ReguItal
 /FontDescriptor 1356 0 R
 >> endobj
 1356 0 obj <<
 /Ascent 669
 /CapHeight 669
 /Descent -193
-/FontName /QWTJBB+NimbusRomNo9L-ReguItal
+/FontName /WEWCKH+NimbusRomNo9L-ReguItal
 /ItalicAngle -15.5
 /StemV 78
 /XHeight 441
@@ -23115,7 +23115,7 @@ endobj
 /Filter /FlateDecode
 >>
 stream
-x��vc�e�fڶ�m۶m۪�mTfUڶ3+m۶QiO}����q���t���q"���g�]{�)��	�:��;ػ�1�3r���\����d���L���l0dd"�fF�V��F�f��
3S���	������Cqp�r���tP�)kP����S�	����5<]�,����l���]�@�_;���\-���V�f�E-)y	����@��������flke��21�w1��;8l�q��8؛Z����,!������ꏛ�����_*Z�������˟g��������O
\�V�&�n��#7w�������?�?`�.�.&�V���?QE����������.V���?��&n����������������X�f�S+G[#�?���9:[�M������h�fFΦ�f..`�`�U��	�O�9:�z�����p�ru1�5��ab����Ol+{��fE������������͜�.�_3C������������A���OH���]�����?����������������������n���Fv�;�g�����,�E�f����Y�z�����Z��l�lM�U'�j��$B���H��������������%����O����ٛ�9�Zٛ����%�112��N���������Cefo������o��r�ڊ�4��r��P����z9���o��9����/aaO�7;'��������C�������7�?�rF��V���?y32������y��1{ӿ�F�����Ϥ���/������}��d���g�����fu���'�:�g�k-f�Є�N_�P�cI�ja~@�C�z�W��{M(}��g����ǁ4��H�-Ew��U�/	Uo>�&y�a�~	|ƹF�����6�6;����~�;�T�3��U��{~��#�����x�N�F �ڂ�s�䓧G������[��\��xh2w0x����l\m�
+x��vc�e�fڶ�m۶m۪�mTfUڶ3+m۶QiO}����q���t���q"���g�]{�)��	�:��;ػ�1�3r���\����d���L���l0dd"�fF�V��F�f��
3S���	������Cqp�r���tP�)kP����S�	����5<]�,����l���]�@�_;���\-���V�f�E-)y	����@��������flke��21�w1��;8l�q��8؛Z����,!������ꏛ�����_*Z�������˟g��������O
\�V�&�n��#7w�������?�?`�.�.&�V���?QE����������.V���?��&n����������������X�f�S+G[#�?���9:[�M������h�fFΦ�f..`�`�U��	�O�9:�z�����p�ru1�5��ab����Ol+{��fE������������͜�.�_3C������������A���OH���]�����?����������������������n���Fv�;�g�����,�E�f����Y�z�����Z��l�lM�U'�j��$B���H��������������%����O����ٛ�9�Zٛ����%�112��N���������Cefo������o��’2"�4��r��P����z9���o��9����/aaO�7;'��������C�������7�?�rF��V���?y32������y��1{ӿ�F�����Ϥ���/������}��d���g�����fu���'�:�g�k-f�Є�N_�P�cI�ja~@�C�z�W��{M(}��g����ǁ4��H�-Ew��U�/	Uo>�&y�a�~	|ƹF�����6�6;����~�;�T�3��U��{~��#�����x�N�F �ڂ�s�䓧G������[��\��xh2w0x����l\m�
 �8�p�*Tb�3��3w�yt�ݎ4�����S0 �x�鰰a�r�ñF>��������qo���(�"���?����>�!Mm�, T�<�[X�KdQ&�aAY�Sc�W�ߌaR2e��������f1��e���wI��RE'��/Pd���*L���2���$q�\����әE�٦3�Z�eo����N����*��'ѭ����iF8�ߗ	�dPZ\��j�դ��t�+:2�P
 $i�C��{��W6�HlJpT��&��0\vOj]�r�kcWfrr�>%�
Tq3���ws%Z�Wɥ�����٢>y��!M�I23qU3l�ҁ~#�*�<Ф���X�f"���~iY�עJ
 �(�}�%N7͞���Qt]�n��擇_8�o��+���Ԣ*(�ؓO��_$
a�^�-(I��o����ԉ�E�Hf6�9`r
�*Y}Q'>T���"}�Ҥ�}^�i���"Eem
8k��qF��;�>:EDl���@+M��>�;1��Y#%��H@>*p�dE�� y򔀢�����������U��=p��q}c!�:2w{H:�����-���i}���
�#��Z}��NRU���0�$&їd~`	�U%���^O,ȑ��������Tb]u�uÝ=$��KV}T�1�3�=@/3���T*Q����r.ْ�R�g+�F!��}�~L�۫+'qJP��H&���6�)d��O�X�vUaO�*��OJ���Q��E:F݌;��S��f����ᔠ-��ꆒ��C�|YĢ���(��=g-��[T�ɮ�MEa
@@ -23172,7 +23172,7 @@ b8
 uC1����Oo��!c����iGnf.�ނ�X���������|n�L�R�����F���ek�{��7P'͚!h��
 I�^��}I�ܕyu���i������ӣ�4|��������6��S��dJ�m��o�Q����n�;��99/����0g���d�7s��8�j/-%ύ��2`0��"��f�Pik&m�����Q>U�]�^T��B���E[�5iP;F����H��W5ռg0զ(���w�ߧM�����3Y
 #�Ʈ	�M�ц<��N�,�W���h!��3_c_&�`�:�&�B��hM�X[��ẕ����Tg���o�\��5�͜9����s3��SY�nW༾bڅ�.?���-m���iBȿ��\kv8]NdS��x�Z'��zT�8��’g�[pط�b������P)���}�:�:4s矕�
-�V�܄d#�h͐�0�}�0�急@����W��`�)�&h�z=�5em���۰cXv��I����P`cc�z�(�3�70���	�[3#gW;#g����'endstream
+�V�܄d#�h͐�0�}�0�急@����W��`�)�&h�z=�5em���۰cXv��I����P`cc�z�(�3�70���	�[3#gW;#g��;��endstream
 endobj
 1266 0 obj <<
 /Type /Font
@@ -23181,14 +23181,14 @@ endobj
 /FirstChar 2
 /LastChar 125
 /Widths 5381 0 R
-/BaseFont /PMTZPX+NimbusRomNo9L-Medi
+/BaseFont /BBHKCD+NimbusRomNo9L-Medi
 /FontDescriptor 1264 0 R
 >> endobj
 1264 0 obj <<
 /Ascent 690
 /CapHeight 690
 /Descent -209
-/FontName /PMTZPX+NimbusRomNo9L-Medi
+/FontName /BBHKCD+NimbusRomNo9L-Medi
 /ItalicAngle 0
 /StemV 140
 /XHeight 461
@@ -23210,7 +23210,7 @@ endobj
 stream
 xڬ�ctf]�&��b۸c۶m���b۶�m���Q����z޷O�����}~�1���&���؛�XI�^����\��H����P��7qsUq�Wp䖣W1�t���Ò�����Č��<�Ms3���)������
Kut�r�����U4�ii��S�	���?4=]�-�_�������!��U��@+s����9@TQI[ZA@%���4w0w1�(���Y��M�\ͩ�.�����f������K�`pu27���f�ij���d�bo����`�
 �t1v����`�`j�f�O���J�����_�_0%GW������7���Ŀ�Z���j�W
p��ki�h��OI������[;����b��̬]�쌽�����b��4�\�,�3:�����������_����t�?��/�;9�y����_V�3k����,3�ߘ����-�`��iG�3ӿ�fnN��s7w�W�����I�9:�y��-`�C���Xf��#�������[��#��r��\�����_�%��������w��1v���3�9�?�������clom�����֚��N���&
4��a˿�010�[h�*a�in�d
4�X���ٿ��f�.v����W[��LL�E�femj��	��V�;���
-������5U��uh�7�_�J����7��Q�����<�#"��	�g��гp1���fa���	�/ ��<�]�=��fb�W����ϓ��w0u4�gtT��f��
+������%t�h�7�_�J����7��Q�����<�#"��	�g��гp1���fa���	�/ ��<�]�=��fb�W����ϓ��w0u4�gtT��f��
 �Q�����%�_�o��q��ܛ�{��®�8���ddg��G��t�����:�7���9��gD�rW�ׇ2���|vx-�9}����c�Q���_�'�(B٢��=b4(G�<׌�^����`�8ܛVV1({�$��bu��~� u/
 @'{rB�3Mo���FnAm(>;�H>y~��黅8��͋�!�uG��p���Q���à:LN��;2��s(�Jf��ڼ8L������D�y�$kg�P�q��Xi�G�I�	=X�Ը6�����O���,P7�."�?]up5�a2u���}�̍.؈�/�u�x��Ӿ�7��G��<
��G7KR*� ��J�+J�k
 �{���ש!y���h}�Wu���r�pI�
@@ -23286,7 +23286,7 @@ Y
 K�rt�zU�?��M����s�k����,Sp	�*���Mf�Ol.��
 ��I�:���x�$���:����*����E5��B�+�ctCg�&]�����	$ת�s��%	ޛ���c{�Q�,�jc����3'�E� מ�U_d�2hi����z�c�}:6�L�-Z�XC$�~���?iD�ȣ���P���¥��	����᳂��x��H�8i�����Oy�޲@e�}�%U޼��,$�䱚'�;�NK����}�驑�Bs�j�Wgzi/�pq�Q
�]�NN��L\w,�`[qs��k쥫B6�BF�P`2�<������`.�zߴ	�������6ԅԲ+�OQׅCd3�F��Nf�0C�Q�>��6�8Qρ%5���,�Ϗ��b?YVNR�u/�sfY'�}*P����?�=d�I���0;Ջ��K�D\ZXL"<^�J^s	Jיw!!7%�]�zk����EV&�W�������<N��9e��@�fPt��L֛�yC4�5��6/��?X�R�WT�ٝ�!^8�0n��9���bf�-��Wkx���gbW��3Yu���x�
Ζ/j���H��Fe�G������G������������{�,����mYݰ���߷͈��:��Y.CD��9r��m�L�+�>R5��ʧ���Z�q�+�~��������@g���_]�"GqA�/���?4�n}�k�'��|�oH�Gs��F�������GƇC)Qa4ߏ����<,��],�eu��:�_�t�(���^u�ʯ$WM�ʒ�М���,�(D5U P����g���4�l�5�L��7��t�0��[��(����t'��5��G�k׽�!NB��Z��L��i�]
>�~ݏ'�[	���X��Kv�4�&��(���h��}����B�=��8H8f�����A��o���4/�:�`_���@s�x��o6WAc�۫����~����7i�, ����3��>_�q�.%�DG�cH���lczѶjVP_1�y��aj��Pl��2�$�#H��Epo)�(�8[����,�g�2Q��6�>�Gt="t32*7�x2�n�:V�F��f��+ds���.���?&�V>"�Ա(�^�4��`'va�*�[\���=���˞�@w��,Lآ�A���v�V>��f�g2,q�	jj-��diƜϿL���$8��`&���y�� �6ן���=f1b��u>�O��O-��`��RJ�������B�=/G��ʲ+.^�hs�ă����Z-/��np�4�� �����e�65������C�
 Y��a��!����ԌG��	��
-"��i�v������1�Oǩ&��D��Rw��X�ϸ;�����\%�e�A����T�<�ETe-�zq:L	��v^@��sl����>�wx7Au�"�lfҨ�S��/	[��Hi]������X���Pt'�}u	�C��ߒ�xN�<��&-�B�*81Me܂����k�Q����i�$���R���e����M9�RBL���ݰ��P��"������X������5����H5D�Tlň����4�SN;R�r��sa9�()~18^��k�'����>Ǖ������Y��.�N���L���þc����H%����{�[<��P<���t�����ך�{3��B�/�_�st���n*����6>�h��笚i(���8J�5��S|�G$�:�!�D��=i8���$d+3�#F#�U[�FS��T��-]�3\2�C���5P�d�J����hj��#1�h)ppK	�|/��/]�L��<[����s���˭�F�R�>�ƩK�I����k`����d�M�<"�m�F���p��5S��X�q�Њ(��+��<�c�����}�RH�,��M�ϷF�'��P�6Lp�-X�6��w��V�qk�u;�M�Џ�<�^����ҚHb>��,�E�%]�n�8ʻb!��A�z������+�
�P�`k)�ח��@L8fn������t~��󾟀F;���k3���;ru�ݛ����2\���O���&�t|"��h�~�Lխ���>`��72I�[P���w��1$��^�BG��!���	���O,��\ݝ�\����`�endstream
+"��i�v������1�Oǩ&��D��Rw��X�ϸ;�����\%�e�A����T�<�ETe-�zq:L	��v^@��sl����>�wx7Au�"�lfҨ�S��/	[��Hi]������X���Pt'�}u	�C��ߒ�xN�<��&-�B�*81Me܂����k�Q����i�$���R���e����M9�RBL���ݰ��P��"������X������5����H5D�Tlň����4�SN;R�r��sa9�()~18^��k�'����>Ǖ������Y��.�N���L���þc����H%����{�[<��P<���t�����ך�{3��B�/�_�st���n*����6>�h��笚i(���8J�5��S|�G$�:�!�D��=i8���$d+3�#F#�U[�FS��T��-]�3\2�C���5P�d�J����hj��#1�h)ppK	�|/��/]�L��<[����s���˭�F�R�>�ƩK�I����k`����d�M�<"�m�F���p��5S��X�q�Њ(��+��<�c�����}�RH�,��M�ϷF�'��P�6Lp�-X�6��w��V�qk�u;�M�Џ�<�^����ҚHb>��,�E�%]�n�8ʻb!��A�z������+�
�P�`k)�ח��@L8fn������t~��󾟀F;���k3���;ru�ݛ����2\���O���&�t|"��h�~�Lխ���>`��72I�[P���w��1$��^�BG��!���	���O,��\ݝ�\������endstream
 endobj
 1258 0 obj <<
 /Type /Font
@@ -23295,14 +23295,14 @@ endobj
 /FirstChar 2
 /LastChar 151
 /Widths 5382 0 R
-/BaseFont /IWSDMZ+NimbusRomNo9L-Regu
+/BaseFont /QOGNZD+NimbusRomNo9L-Regu
 /FontDescriptor 1256 0 R
 >> endobj
 1256 0 obj <<
 /Ascent 678
 /CapHeight 651
 /Descent -216
-/FontName /IWSDMZ+NimbusRomNo9L-Regu
+/FontName /QOGNZD+NimbusRomNo9L-Regu
 /ItalicAngle 0
 /StemV 85
 /XHeight 450
@@ -23325,8 +23325,8 @@ stream
 x��teP�ݖ.��N������и���!�w�`�=8	������9S�ί��u�vUW�K������7
������P�������]�
 ��pw�2wPf�t[ޝ<H44R.@s7�����P��H-���$��������
@��������O�_)�����t�8�h�?<�`G'{���;���p��A` @JM�@AU@/���:�]���uw0���:��֎.��?������\Y߱$\��W'�%������W��t����@��s���9@�`w������&�����a�{Swtus�t9�ޫ�K��������_�]A�a���{�����_-�{�y����\n@/��jY�V W'���{�w0'��4�]A6�d�pژ�X�����0��M�}�S��NN`�O;���@n�@�5+�{MK���6 $��E���������ӿ�<�.����ax'an����X���T��K��{*����� �����+�����W���%������u�U�������q(�zc��\s{������D=�?�W 
 n��c�p�y�����N��,�h�r��X���g��_��
-�9�ߵ�{����iۂ,��:���!��տ2��o�lj�z
-R�L�������������;��C���?��0$%���,|\�.v��������/��
��O[�������4;�߭��������8X:Z��'Zn�V����–�..��}��[�w��%���Hˋ��B�ӳ2�j��ƥ?��r@�9�6hU;��G��4{�	cm�|k�^8rz�Qd������Ͼ��S1�`��v�1톰���f�E���+o�������4)y�#���rA8�g��(¡�sB�L�����h���-<:�M:����1<4�s	۷C̔�H#��J�%�9�X�P��7Ƣ�#i�:�7�O��k}��i�`���Pa��{\lv	�6Y=��Z��6���R�h_!�~NK�Π�$ٹ�����WP<�Z��/	'�m��Pd۪�N?���*��΅�5�b�T��4����4.R��(����j��,FWy��`�8�Tj(�3u8S�Q�]�D�v�Z�V?q|O�<��5�3I�]�R��@]h]���G��6����f���r�{�-K8:�2Y�Z\�]-^NN΄�cK�������G&�m��hHn�В�f
+�9�ߵ�{����iۂ,��:���!��տ2��o�l�ښZ�
+L�������������;��C���?��0$%���,|\�.v��������/��
��O[�������4;�߭��������8X:Z��'Zn�V����–�..��}��[�w��%���Hˋ��B�ӳ2�j��ƥ?��r@�9�6hU;��G��4{�	cm�|k�^8rz�Qd������Ͼ��S1�`��v�1톰���f�E���+o�������4)y�#���rA8�g��(¡�sB�L�����h���-<:�M:����1<4�s	۷C̔�H#��J�%�9�X�P��7Ƣ�#i�:�7�O��k}��i�`���Pa��{\lv	�6Y=��Z��6���R�h_!�~NK�Π�$ٹ�����WP<�Z��/	'�m��Pd۪�N?���*��΅�5�b�T��4����4.R��(����j��,FWy��`�8�Tj(�3u8S�Q�]�D�v�Z�V?q|O�<��5�3I�]�R��@]h]���G��6����f���r�{�-K8:�2Y�Z\�]-^NN΄�cK�������G&�m��hHn�В�f
 �kW<ǚB�6��~��(p}�#��<��x�F��]��IUb����г"zDC�C����z�o9�7�lP�5�(�lܾ��؞!V�Vq�����yGt�\b ��K��/�F���W�3�S�����
 e���)O-�:�݄���*g4x)Y�[ˮ��!i��	w?��~��Z���T��#sJs���oѐ�|��w ��Ltl)� qQ��32�]J.C��ʪWI�P��$w>V�Fos��v2�Tb�T� �t�Z�k�ϯ�iK��)��}Pk��R9	{d[ZysC��l�B]�jZ��BW{�,�P�K��YL%�)�Lh�A6ᯝ���}�m�Q|�l�(��*��5���\Y��{VPX��$��;��O,���a�K��u8����k�ƭ���ˇqL��
�9�o�R�|>����a�E���߾��L9�0�3Qs$���؎Ck���@�<��.cיQ���Adѐ���Dd�X����^�(f��������\Ǥ�GƟ��zܻ�I�=Jz~I��w@����Nv��c����iB�T����(ma�϶Vb�v�U
 ��?�7�P�n�����D5Ěw�ޡ�
@@ -23370,7 +23370,7 @@ t
 ���2V%]��F���iaʯo�48��|�M�p:,e�����Y`v��/;<sP�"�s���|���w�V�N�Rց�9!qؓ���)��8V�'@��k��Dz��	�+=d[!*�R�;%�;���I߷MQs���X����c��?�.n�Ӂ�g-T��7�#O�Ŵ���wX!�۰�)��yA��:���<fL��L��i�����=[)q���;-��+�b&�<;�^����o�=�y`�,om(��C�%H=�+~�n��*/�נ�ǧ5��
��OW����B7��?|�xb^̖&�9��58
 ĥ������k�U`�@d��cxЏN���G_���R�;��+ob�a�p�vDSD%��H�^2�2F�+m��k/��K��|�ƉO�M:e���8�Əس:z,P�T�������y���: =�!8i��r�9*q��fʠc`�Ce:ԥ�
 �9�LMkF�66��X�~x�{tHx�����BK�ψ8�l�0��8��[�2�ƾ�J�zmO�jUm��6�VuHNj���+�F��r�E��m��t�A�3�u�me�K�?���������E���te���s���d[�Vk]�*I_$��\�t�%%J7��$RB�Ρ�W��"/�I�H�yڈ�m(T����ޒ`��kȣ��Z1���f�a!�4�� y�I�&�3=H��� ���>2���5A�X��x�R��d����~�h͡p��
-�q�/J�y�0��'�1�B�H=g�y�t��=��MH	��V��1wPE����ӝ����JIQ��>b.������������]���]������endstream
+�q�/J�y�0��'�1�B�H=g�y�t��=��MH	��V��1wPE����ӝ����JIQ��>b.������������]���]������endstream
 endobj
 1250 0 obj <<
 /Type /Font
@@ -23379,14 +23379,14 @@ endobj
 /FirstChar 2
 /LastChar 122
 /Widths 5383 0 R
-/BaseFont /ORWICT+NimbusSanL-Bold
+/BaseFont /LTRSDI+NimbusSanL-Bold
 /FontDescriptor 1248 0 R
 >> endobj
 1248 0 obj <<
 /Ascent 722
 /CapHeight 722
 /Descent -217
-/FontName /ORWICT+NimbusSanL-Bold
+/FontName /LTRSDI+NimbusSanL-Bold
 /ItalicAngle 0
 /StemV 141
 /XHeight 532
@@ -25829,7 +25829,7 @@ endobj
 >> endobj
 5394 0 obj <<
 /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords()
-/CreationDate (D:20091105044451-08'00')
+/CreationDate (D:20091118182338-08'00')
 /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4)
 >> endobj
 xref
@@ -25837,1243 +25837,1243 @@ xref
 0000000000 65535 f 
 0000000009 00000 n 
 0000029229 00000 n 
-0001179769 00000 n 
+0001179771 00000 n 
 0000000048 00000 n 
 0000000110 00000 n 
 0000103832 00000 n 
-0001179684 00000 n 
+0001179686 00000 n 
 0000000149 00000 n 
 0000000184 00000 n 
 0000417243 00000 n 
-0001179597 00000 n 
+0001179599 00000 n 
 0000000223 00000 n 
 0000000257 00000 n 
 0000420361 00000 n 
-0001179471 00000 n 
+0001179473 00000 n 
 0000000297 00000 n 
 0000000343 00000 n 
 0000420487 00000 n 
-0001179397 00000 n 
+0001179399 00000 n 
 0000000385 00000 n 
 0000000430 00000 n 
 0000420871 00000 n 
-0001179310 00000 n 
+0001179312 00000 n 
 0000000472 00000 n 
 0000000506 00000 n 
 0000421188 00000 n 
-0001179223 00000 n 
+0001179225 00000 n 
 0000000548 00000 n 
 0000000584 00000 n 
 0000425288 00000 n 
-0001179136 00000 n 
+0001179138 00000 n 
 0000000626 00000 n 
 0000000657 00000 n 
 0000430174 00000 n 
-0001179062 00000 n 
+0001179064 00000 n 
 0000000699 00000 n 
 0000000743 00000 n 
 0000434637 00000 n 
-0001178934 00000 n 
+0001178936 00000 n 
 0000000783 00000 n 
 0000000832 00000 n 
 0000434764 00000 n 
-0001178821 00000 n 
+0001178823 00000 n 
 0000000874 00000 n 
 0000000910 00000 n 
 0000435980 00000 n 
-0001178747 00000 n 
+0001178749 00000 n 
 0000000954 00000 n 
 0000000984 00000 n 
 0000438236 00000 n 
-0001178623 00000 n 
+0001178625 00000 n 
 0000001028 00000 n 
 0000001069 00000 n 
 0000438426 00000 n 
-0001178549 00000 n 
+0001178551 00000 n 
 0000001115 00000 n 
 0000001148 00000 n 
 0000439136 00000 n 
-0001178462 00000 n 
+0001178464 00000 n 
 0000001194 00000 n 
 0000001232 00000 n 
 0000439586 00000 n 
-0001178388 00000 n 
+0001178390 00000 n 
 0000001278 00000 n 
 0000001312 00000 n 
 0000443312 00000 n 
-0001178301 00000 n 
+0001178303 00000 n 
 0000001356 00000 n 
 0000001392 00000 n 
 0000443764 00000 n 
-0001178214 00000 n 
+0001178216 00000 n 
 0000001436 00000 n 
 0000001470 00000 n 
 0000444606 00000 n 
-0001178088 00000 n 
+0001178090 00000 n 
 0000001514 00000 n 
 0000001552 00000 n 
 0000457091 00000 n 
-0001178014 00000 n 
+0001178016 00000 n 
 0000001598 00000 n 
 0000001636 00000 n 
 0000457347 00000 n 
-0001177927 00000 n 
+0001177929 00000 n 
 0000001682 00000 n 
 0000001735 00000 n 
 0000457538 00000 n 
-0001177840 00000 n 
+0001177842 00000 n 
 0000001781 00000 n 
 0000001820 00000 n 
 0000460689 00000 n 
-0001177753 00000 n 
+0001177755 00000 n 
 0000001866 00000 n 
 0000001914 00000 n 
 0000460881 00000 n 
-0001177666 00000 n 
+0001177668 00000 n 
 0000001960 00000 n 
 0000002005 00000 n 
 0000461073 00000 n 
-0001177577 00000 n 
+0001177579 00000 n 
 0000002051 00000 n 
 0000002096 00000 n 
 0000461265 00000 n 
-0001177486 00000 n 
+0001177488 00000 n 
 0000002144 00000 n 
 0000002190 00000 n 
 0000461524 00000 n 
-0001177394 00000 n 
+0001177396 00000 n 
 0000002238 00000 n 
 0000002290 00000 n 
 0000461717 00000 n 
-0001177316 00000 n 
+0001177318 00000 n 
 0000002338 00000 n 
 0000002388 00000 n 
 0000461910 00000 n 
-0001177225 00000 n 
+0001177227 00000 n 
 0000002433 00000 n 
 0000002487 00000 n 
 0000465784 00000 n 
-0001177147 00000 n 
+0001177149 00000 n 
 0000002532 00000 n 
 0000002589 00000 n 
 0000466369 00000 n 
-0001177017 00000 n 
+0001177019 00000 n 
 0000002632 00000 n 
 0000002670 00000 n 
 0000466627 00000 n 
-0001176938 00000 n 
+0001176940 00000 n 
 0000002715 00000 n 
 0000002753 00000 n 
 0000472001 00000 n 
-0001176806 00000 n 
+0001176808 00000 n 
 0000002798 00000 n 
 0000002840 00000 n 
 0000472194 00000 n 
-0001176727 00000 n 
+0001176729 00000 n 
 0000002888 00000 n 
 0000002941 00000 n 
 0000472453 00000 n 
-0001176595 00000 n 
+0001176597 00000 n 
 0000002989 00000 n 
 0000003023 00000 n 
 0000473236 00000 n 
-0001176516 00000 n 
+0001176518 00000 n 
 0000003073 00000 n 
 0000003145 00000 n 
 0000476494 00000 n 
-0001176423 00000 n 
+0001176425 00000 n 
 0000003195 00000 n 
 0000003263 00000 n 
 0000477011 00000 n 
-0001176330 00000 n 
+0001176332 00000 n 
 0000003313 00000 n 
 0000003363 00000 n 
 0000478184 00000 n 
-0001176251 00000 n 
+0001176253 00000 n 
 0000003413 00000 n 
 0000003487 00000 n 
 0000481759 00000 n 
-0001176119 00000 n 
+0001176121 00000 n 
 0000003535 00000 n 
 0000003574 00000 n 
 0000481887 00000 n 
-0001176040 00000 n 
+0001176042 00000 n 
 0000003624 00000 n 
 0000003679 00000 n 
 0000482859 00000 n 
-0001175961 00000 n 
+0001175963 00000 n 
 0000003729 00000 n 
 0000003780 00000 n 
 0000483768 00000 n 
-0001175843 00000 n 
+0001175845 00000 n 
 0000003828 00000 n 
 0000003863 00000 n 
 0000483896 00000 n 
-0001175764 00000 n 
+0001175766 00000 n 
 0000003913 00000 n 
 0000003967 00000 n 
 0000486829 00000 n 
-0001175671 00000 n 
+0001175673 00000 n 
 0000004017 00000 n 
 0000004068 00000 n 
 0000487349 00000 n 
-0001175592 00000 n 
+0001175594 00000 n 
 0000004118 00000 n 
 0000004173 00000 n 
 0000487736 00000 n 
-0001175499 00000 n 
+0001175501 00000 n 
 0000004219 00000 n 
 0000004259 00000 n 
 0000491949 00000 n 
-0001175367 00000 n 
+0001175369 00000 n 
 0000004305 00000 n 
 0000004342 00000 n 
 0000492271 00000 n 
-0001175249 00000 n 
+0001175251 00000 n 
 0000004391 00000 n 
 0000004441 00000 n 
 0000492464 00000 n 
-0001175170 00000 n 
+0001175172 00000 n 
 0000004493 00000 n 
 0000004548 00000 n 
 0000497757 00000 n 
-0001175091 00000 n 
+0001175093 00000 n 
 0000004600 00000 n 
 0000004656 00000 n 
 0000503933 00000 n 
-0001175012 00000 n 
+0001175014 00000 n 
 0000004705 00000 n 
 0000004773 00000 n 
 0000509160 00000 n 
-0001174933 00000 n 
+0001174935 00000 n 
 0000004819 00000 n 
 0000004854 00000 n 
 0000510197 00000 n 
-0001174802 00000 n 
+0001174804 00000 n 
 0000004897 00000 n 
 0000004955 00000 n 
 0000510390 00000 n 
-0001174723 00000 n 
+0001174725 00000 n 
 0000005001 00000 n 
 0000005038 00000 n 
 0000511225 00000 n 
-0001174630 00000 n 
+0001174632 00000 n 
 0000005084 00000 n 
 0000005127 00000 n 
 0000514320 00000 n 
-0001174537 00000 n 
+0001174539 00000 n 
 0000005173 00000 n 
 0000005207 00000 n 
 0000514963 00000 n 
-0001174458 00000 n 
+0001174460 00000 n 
 0000005253 00000 n 
 0000005330 00000 n 
 0000519008 00000 n 
-0001174366 00000 n 
+0001174368 00000 n 
 0000005373 00000 n 
 0000005452 00000 n 
 0000520115 00000 n 
-0001174235 00000 n 
+0001174237 00000 n 
 0000005496 00000 n 
 0000005550 00000 n 
 0000520436 00000 n 
-0001174117 00000 n 
+0001174119 00000 n 
 0000005597 00000 n 
 0000005641 00000 n 
 0000520694 00000 n 
-0001174038 00000 n 
+0001174040 00000 n 
 0000005691 00000 n 
 0000005730 00000 n 
 0000523637 00000 n 
-0001173945 00000 n 
+0001173947 00000 n 
 0000005780 00000 n 
 0000005830 00000 n 
 0000528173 00000 n 
-0001173852 00000 n 
+0001173854 00000 n 
 0000005880 00000 n 
 0000005930 00000 n 
 0000528883 00000 n 
-0001173773 00000 n 
+0001173775 00000 n 
 0000005980 00000 n 
 0000006022 00000 n 
 0000529076 00000 n 
-0001173641 00000 n 
+0001173643 00000 n 
 0000006069 00000 n 
 0000006104 00000 n 
 0000529269 00000 n 
-0001173562 00000 n 
+0001173564 00000 n 
 0000006154 00000 n 
 0000006191 00000 n 
 0000529592 00000 n 
-0001173483 00000 n 
+0001173485 00000 n 
 0000006241 00000 n 
 0000006309 00000 n 
 0000534625 00000 n 
-0001173404 00000 n 
+0001173406 00000 n 
 0000006356 00000 n 
 0000006402 00000 n 
 0000534947 00000 n 
-0001173273 00000 n 
+0001173275 00000 n 
 0000006446 00000 n 
 0000006506 00000 n 
 0000535076 00000 n 
-0001173194 00000 n 
+0001173196 00000 n 
 0000006553 00000 n 
 0000006592 00000 n 
 0000537375 00000 n 
-0001173062 00000 n 
+0001173064 00000 n 
 0000006639 00000 n 
 0000006671 00000 n 
 0000537893 00000 n 
-0001172958 00000 n 
+0001172960 00000 n 
 0000006721 00000 n 
 0000006774 00000 n 
 0000538022 00000 n 
-0001172879 00000 n 
+0001172881 00000 n 
 0000006827 00000 n 
 0000006889 00000 n 
 0000538278 00000 n 
-0001172786 00000 n 
+0001172788 00000 n 
 0000006942 00000 n 
 0000006996 00000 n 
 0000540712 00000 n 
-0001172707 00000 n 
+0001172709 00000 n 
 0000007049 00000 n 
 0000007099 00000 n 
 0000541749 00000 n 
-0001172614 00000 n 
+0001172616 00000 n 
 0000007146 00000 n 
 0000007177 00000 n 
 0000546020 00000 n 
-0001172521 00000 n 
+0001172523 00000 n 
 0000007224 00000 n 
 0000007263 00000 n 
 0000546409 00000 n 
-0001172389 00000 n 
+0001172391 00000 n 
 0000007310 00000 n 
 0000007348 00000 n 
 0000546602 00000 n 
-0001172324 00000 n 
+0001172326 00000 n 
 0000007398 00000 n 
 0000007452 00000 n 
 0000547182 00000 n 
-0001172206 00000 n 
+0001172208 00000 n 
 0000007499 00000 n 
 0000007534 00000 n 
 0000551472 00000 n 
-0001172141 00000 n 
+0001172143 00000 n 
 0000007584 00000 n 
 0000007637 00000 n 
 0000551991 00000 n 
-0001172024 00000 n 
+0001172026 00000 n 
 0000007681 00000 n 
 0000007731 00000 n 
 0000552443 00000 n 
-0001171945 00000 n 
+0001171947 00000 n 
 0000007778 00000 n 
 0000007823 00000 n 
 0000557623 00000 n 
-0001171813 00000 n 
+0001171815 00000 n 
 0000007870 00000 n 
 0000007921 00000 n 
 0000558588 00000 n 
-0001171734 00000 n 
+0001171736 00000 n 
 0000007971 00000 n 
 0000008034 00000 n 
 0000561286 00000 n 
-0001171641 00000 n 
+0001171643 00000 n 
 0000008084 00000 n 
 0000008132 00000 n 
 0000562196 00000 n 
-0001171548 00000 n 
+0001171550 00000 n 
 0000008182 00000 n 
 0000008238 00000 n 
 0000566782 00000 n 
-0001171469 00000 n 
+0001171471 00000 n 
 0000008288 00000 n 
 0000008340 00000 n 
 0000567817 00000 n 
-0001171376 00000 n 
+0001171378 00000 n 
 0000008387 00000 n 
 0000008437 00000 n 
 0000572345 00000 n 
-0001171297 00000 n 
+0001171299 00000 n 
 0000008484 00000 n 
 0000008550 00000 n 
 0000575133 00000 n 
-0001171164 00000 n 
+0001171166 00000 n 
 0000008591 00000 n 
 0000008644 00000 n 
 0000575261 00000 n 
-0001171045 00000 n 
+0001171047 00000 n 
 0000008688 00000 n 
 0000008735 00000 n 
 0000575452 00000 n 
-0001170966 00000 n 
+0001170968 00000 n 
 0000008782 00000 n 
 0000008826 00000 n 
 0000585768 00000 n 
-0001170873 00000 n 
+0001170875 00000 n 
 0000008873 00000 n 
 0000008923 00000 n 
 0000585961 00000 n 
-0001170780 00000 n 
+0001170782 00000 n 
 0000008970 00000 n 
 0000009016 00000 n 
 0000586735 00000 n 
-0001170687 00000 n 
+0001170689 00000 n 
 0000009063 00000 n 
 0000009101 00000 n 
 0000586928 00000 n 
-0001170594 00000 n 
+0001170596 00000 n 
 0000009148 00000 n 
 0000009194 00000 n 
 0000590189 00000 n 
-0001170501 00000 n 
+0001170503 00000 n 
 0000009241 00000 n 
 0000009278 00000 n 
 0000590829 00000 n 
-0001170408 00000 n 
+0001170410 00000 n 
 0000009325 00000 n 
 0000009362 00000 n 
 0000591087 00000 n 
-0001170315 00000 n 
+0001170317 00000 n 
 0000009409 00000 n 
 0000009453 00000 n 
 0000595447 00000 n 
-0001170222 00000 n 
+0001170224 00000 n 
 0000009500 00000 n 
 0000009541 00000 n 
 0000596283 00000 n 
-0001170129 00000 n 
+0001170131 00000 n 
 0000009588 00000 n 
 0000009635 00000 n 
 0000604426 00000 n 
-0001170036 00000 n 
+0001170038 00000 n 
 0000009682 00000 n 
 0000009731 00000 n 
 0000605972 00000 n 
-0001169943 00000 n 
+0001169945 00000 n 
 0000009778 00000 n 
 0000009811 00000 n 
 0000610006 00000 n 
-0001169850 00000 n 
+0001169852 00000 n 
 0000009858 00000 n 
 0000009898 00000 n 
 0000610198 00000 n 
-0001169757 00000 n 
+0001169759 00000 n 
 0000009945 00000 n 
 0000009987 00000 n 
 0000610390 00000 n 
-0001169664 00000 n 
+0001169666 00000 n 
 0000010034 00000 n 
 0000010077 00000 n 
 0000613547 00000 n 
-0001169585 00000 n 
+0001169587 00000 n 
 0000010124 00000 n 
 0000010165 00000 n 
 0000613740 00000 n 
-0001169453 00000 n 
+0001169455 00000 n 
 0000010209 00000 n 
 0000010253 00000 n 
 0000613869 00000 n 
-0001169374 00000 n 
+0001169376 00000 n 
 0000010300 00000 n 
 0000010352 00000 n 
 0000614190 00000 n 
-0001169256 00000 n 
+0001169258 00000 n 
 0000010399 00000 n 
 0000010446 00000 n 
 0000614318 00000 n 
-0001169177 00000 n 
+0001169179 00000 n 
 0000010496 00000 n 
 0000010553 00000 n 
 0000618138 00000 n 
-0001169045 00000 n 
+0001169047 00000 n 
 0000010603 00000 n 
 0000010650 00000 n 
 0000618267 00000 n 
-0001168966 00000 n 
+0001168968 00000 n 
 0000010703 00000 n 
 0000010750 00000 n 
 0000618655 00000 n 
-0001168887 00000 n 
+0001168889 00000 n 
 0000010803 00000 n 
 0000010870 00000 n 
 0000619495 00000 n 
-0001168794 00000 n 
+0001168796 00000 n 
 0000010920 00000 n 
 0000010964 00000 n 
 0000626970 00000 n 
-0001168701 00000 n 
+0001168703 00000 n 
 0000011014 00000 n 
 0000011057 00000 n 
 0000627228 00000 n 
-0001168622 00000 n 
+0001168624 00000 n 
 0000011107 00000 n 
 0000011155 00000 n 
 0000631117 00000 n 
-0001168529 00000 n 
+0001168531 00000 n 
 0000011199 00000 n 
 0000011239 00000 n 
 0000631630 00000 n 
-0001168397 00000 n 
+0001168399 00000 n 
 0000011283 00000 n 
 0000011316 00000 n 
 0000636365 00000 n 
-0001168318 00000 n 
+0001168320 00000 n 
 0000011363 00000 n 
 0000011411 00000 n 
 0000641175 00000 n 
-0001168225 00000 n 
+0001168227 00000 n 
 0000011458 00000 n 
 0000011501 00000 n 
 0000641368 00000 n 
-0001168132 00000 n 
+0001168134 00000 n 
 0000011548 00000 n 
 0000011635 00000 n 
 0000641751 00000 n 
-0001168014 00000 n 
+0001168016 00000 n 
 0000011682 00000 n 
 0000011745 00000 n 
 0000646787 00000 n 
-0001167949 00000 n 
+0001167951 00000 n 
 0000011795 00000 n 
 0000011861 00000 n 
 0000653521 00000 n 
-0001167856 00000 n 
+0001167858 00000 n 
 0000011905 00000 n 
 0000011940 00000 n 
 0000655011 00000 n 
-0001167763 00000 n 
+0001167765 00000 n 
 0000011984 00000 n 
 0000012017 00000 n 
 0000658334 00000 n 
-0001167670 00000 n 
+0001167672 00000 n 
 0000012061 00000 n 
 0000012096 00000 n 
 0000659295 00000 n 
-0001167538 00000 n 
+0001167540 00000 n 
 0000012140 00000 n 
 0000012170 00000 n 
 0000659680 00000 n 
-0001167459 00000 n 
+0001167461 00000 n 
 0000012217 00000 n 
 0000012260 00000 n 
 0000663847 00000 n 
-0001167327 00000 n 
+0001167329 00000 n 
 0000012307 00000 n 
 0000012345 00000 n 
 0000663976 00000 n 
-0001167262 00000 n 
+0001167264 00000 n 
 0000012395 00000 n 
 0000012430 00000 n 
 0000665265 00000 n 
-0001167169 00000 n 
+0001167171 00000 n 
 0000012477 00000 n 
 0000012523 00000 n 
 0000666112 00000 n 
-0001167037 00000 n 
+0001167039 00000 n 
 0000012570 00000 n 
 0000012615 00000 n 
 0000669003 00000 n 
-0001166958 00000 n 
+0001166960 00000 n 
 0000012665 00000 n 
 0000012710 00000 n 
 0000670235 00000 n 
-0001166879 00000 n 
+0001166881 00000 n 
 0000012760 00000 n 
 0000012798 00000 n 
 0000670689 00000 n 
-0001166761 00000 n 
+0001166763 00000 n 
 0000012845 00000 n 
 0000012891 00000 n 
 0000671143 00000 n 
-0001166682 00000 n 
+0001166684 00000 n 
 0000012941 00000 n 
 0000012984 00000 n 
 0000671402 00000 n 
-0001166549 00000 n 
+0001166551 00000 n 
 0000013034 00000 n 
 0000013078 00000 n 
 0000674637 00000 n 
-0001166470 00000 n 
+0001166472 00000 n 
 0000013131 00000 n 
 0000013166 00000 n 
 0000674829 00000 n 
-0001166377 00000 n 
+0001166379 00000 n 
 0000013219 00000 n 
 0000013261 00000 n 
 0000675154 00000 n 
-0001166284 00000 n 
+0001166286 00000 n 
 0000013314 00000 n 
 0000013353 00000 n 
 0000677300 00000 n 
-0001166191 00000 n 
+0001166193 00000 n 
 0000013406 00000 n 
 0000013445 00000 n 
 0000680056 00000 n 
-0001166098 00000 n 
+0001166100 00000 n 
 0000013498 00000 n 
 0000013535 00000 n 
 0000680315 00000 n 
-0001166005 00000 n 
+0001166007 00000 n 
 0000013588 00000 n 
 0000013630 00000 n 
 0000680838 00000 n 
-0001165912 00000 n 
+0001165914 00000 n 
 0000013683 00000 n 
 0000013738 00000 n 
 0000681094 00000 n 
-0001165819 00000 n 
+0001165821 00000 n 
 0000013791 00000 n 
 0000013835 00000 n 
 0000681485 00000 n 
-0001165726 00000 n 
+0001165728 00000 n 
 0000013888 00000 n 
 0000013926 00000 n 
 0000681678 00000 n 
-0001165633 00000 n 
+0001165635 00000 n 
 0000013979 00000 n 
 0000014022 00000 n 
 0000682068 00000 n 
-0001165554 00000 n 
+0001165556 00000 n 
 0000014075 00000 n 
 0000014120 00000 n 
 0000685274 00000 n 
-0001165475 00000 n 
+0001165477 00000 n 
 0000014170 00000 n 
 0000014214 00000 n 
 0000685795 00000 n 
-0001165382 00000 n 
+0001165384 00000 n 
 0000014258 00000 n 
 0000014291 00000 n 
 0000686115 00000 n 
-0001165250 00000 n 
+0001165252 00000 n 
 0000014335 00000 n 
 0000014374 00000 n 
 0000690235 00000 n 
-0001165171 00000 n 
+0001165173 00000 n 
 0000014421 00000 n 
 0000014469 00000 n 
 0000691788 00000 n 
-0001165078 00000 n 
+0001165080 00000 n 
 0000014516 00000 n 
 0000014565 00000 n 
 0000691979 00000 n 
-0001164999 00000 n 
+0001165001 00000 n 
 0000014612 00000 n 
 0000014662 00000 n 
 0000692172 00000 n 
-0001164867 00000 n 
+0001164869 00000 n 
 0000014706 00000 n 
 0000014744 00000 n 
 0000695006 00000 n 
-0001164788 00000 n 
+0001164790 00000 n 
 0000014791 00000 n 
 0000014847 00000 n 
 0000695329 00000 n 
-0001164709 00000 n 
+0001164711 00000 n 
 0000014894 00000 n 
 0000014943 00000 n 
 0000695904 00000 n 
-0001164616 00000 n 
+0001164618 00000 n 
 0000014987 00000 n 
 0000015032 00000 n 
 0000696161 00000 n 
-0001164523 00000 n 
+0001164525 00000 n 
 0000015076 00000 n 
 0000015108 00000 n 
 0000700507 00000 n 
-0001164430 00000 n 
+0001164432 00000 n 
 0000015152 00000 n 
 0000015183 00000 n 
 0000701020 00000 n 
-0001164298 00000 n 
+0001164300 00000 n 
 0000015227 00000 n 
 0000015278 00000 n 
 0000706559 00000 n 
-0001164219 00000 n 
+0001164221 00000 n 
 0000015325 00000 n 
 0000015368 00000 n 
 0000711204 00000 n 
-0001164126 00000 n 
+0001164128 00000 n 
 0000015415 00000 n 
 0000015489 00000 n 
 0000717216 00000 n 
-0001164033 00000 n 
+0001164035 00000 n 
 0000015536 00000 n 
 0000015589 00000 n 
 0000717858 00000 n 
-0001163954 00000 n 
+0001163956 00000 n 
 0000015636 00000 n 
 0000015700 00000 n 
 0000718051 00000 n 
-0001163875 00000 n 
+0001163877 00000 n 
 0000015744 00000 n 
 0000015813 00000 n 
 0000722790 00000 n 
-0001163742 00000 n 
+0001163744 00000 n 
 0000015854 00000 n 
 0000015902 00000 n 
 0000723110 00000 n 
-0001163624 00000 n 
+0001163626 00000 n 
 0000015946 00000 n 
 0000015987 00000 n 
 0000723239 00000 n 
-0001163545 00000 n 
+0001163547 00000 n 
 0000016034 00000 n 
 0000016073 00000 n 
 0000723432 00000 n 
-0001163452 00000 n 
+0001163454 00000 n 
 0000016120 00000 n 
 0000016167 00000 n 
 0000724604 00000 n 
-0001163373 00000 n 
+0001163375 00000 n 
 0000016214 00000 n 
 0000016256 00000 n 
 0000727728 00000 n 
-0001163241 00000 n 
+0001163243 00000 n 
 0000016300 00000 n 
 0000016335 00000 n 
 0000727857 00000 n 
-0001163176 00000 n 
+0001163178 00000 n 
 0000016382 00000 n 
 0000016464 00000 n 
 0000734523 00000 n 
-0001163058 00000 n 
+0001163060 00000 n 
 0000016508 00000 n 
 0000016541 00000 n 
 0000734652 00000 n 
-0001162993 00000 n 
+0001162995 00000 n 
 0000016588 00000 n 
 0000016659 00000 n 
 0000737963 00000 n 
-0001162859 00000 n 
+0001162861 00000 n 
 0000016700 00000 n 
 0000016745 00000 n 
 0000738091 00000 n 
-0001162780 00000 n 
+0001162782 00000 n 
 0000016789 00000 n 
 0000016826 00000 n 
 0000738480 00000 n 
-0001162687 00000 n 
+0001162689 00000 n 
 0000016870 00000 n 
 0000016920 00000 n 
 0000743819 00000 n 
-0001162594 00000 n 
+0001162596 00000 n 
 0000016964 00000 n 
 0000017005 00000 n 
 0000751243 00000 n 
-0001162501 00000 n 
+0001162503 00000 n 
 0000017049 00000 n 
 0000017093 00000 n 
 0000802720 00000 n 
-0001162369 00000 n 
+0001162371 00000 n 
 0000017137 00000 n 
 0000017180 00000 n 
 0000805806 00000 n 
-0001162251 00000 n 
+0001162253 00000 n 
 0000017227 00000 n 
 0000017268 00000 n 
 0000806970 00000 n 
-0001162172 00000 n 
+0001162174 00000 n 
 0000017318 00000 n 
 0000017367 00000 n 
 0000807227 00000 n 
-0001162079 00000 n 
+0001162081 00000 n 
 0000017417 00000 n 
 0000017454 00000 n 
 0000811123 00000 n 
-0001162000 00000 n 
+0001162002 00000 n 
 0000017504 00000 n 
 0000017548 00000 n 
 0000811639 00000 n 
-0001161907 00000 n 
+0001161909 00000 n 
 0000017595 00000 n 
 0000017633 00000 n 
 0000812094 00000 n 
-0001161814 00000 n 
+0001161816 00000 n 
 0000017680 00000 n 
 0000017735 00000 n 
 0000812286 00000 n 
-0001161721 00000 n 
+0001161723 00000 n 
 0000017782 00000 n 
 0000017818 00000 n 
 0000816177 00000 n 
-0001161642 00000 n 
+0001161644 00000 n 
 0000017865 00000 n 
 0000017925 00000 n 
 0000816694 00000 n 
-0001161510 00000 n 
+0001161512 00000 n 
 0000017969 00000 n 
 0000018005 00000 n 
 0000816823 00000 n 
-0001161431 00000 n 
+0001161433 00000 n 
 0000018052 00000 n 
 0000018098 00000 n 
 0000822190 00000 n 
-0001161352 00000 n 
+0001161354 00000 n 
 0000018145 00000 n 
 0000018193 00000 n 
 0000825357 00000 n 
-0001161220 00000 n 
+0001161222 00000 n 
 0000018237 00000 n 
 0000018273 00000 n 
 0000826130 00000 n 
-0001161116 00000 n 
+0001161118 00000 n 
 0000018320 00000 n 
 0000018359 00000 n 
 0000826514 00000 n 
-0001161037 00000 n 
+0001161039 00000 n 
 0000018409 00000 n 
 0000018469 00000 n 
 0000829063 00000 n 
-0001160944 00000 n 
+0001160946 00000 n 
 0000018519 00000 n 
 0000018589 00000 n 
 0000829256 00000 n 
-0001160851 00000 n 
+0001160853 00000 n 
 0000018639 00000 n 
 0000018699 00000 n 
 0000829447 00000 n 
-0001160758 00000 n 
+0001160760 00000 n 
 0000018749 00000 n 
 0000018822 00000 n 
 0000829639 00000 n 
-0001160665 00000 n 
+0001160667 00000 n 
 0000018872 00000 n 
 0000018932 00000 n 
 0000829832 00000 n 
-0001160572 00000 n 
+0001160574 00000 n 
 0000018982 00000 n 
 0000019034 00000 n 
 0000830089 00000 n 
-0001160493 00000 n 
+0001160495 00000 n 
 0000019084 00000 n 
 0000019136 00000 n 
 0000830282 00000 n 
-0001160361 00000 n 
+0001160363 00000 n 
 0000019180 00000 n 
 0000019219 00000 n 
 0000832844 00000 n 
-0001160282 00000 n 
+0001160284 00000 n 
 0000019266 00000 n 
 0000019310 00000 n 
 0000833231 00000 n 
-0001160189 00000 n 
+0001160191 00000 n 
 0000019357 00000 n 
 0000019392 00000 n 
 0000833488 00000 n 
-0001160096 00000 n 
+0001160098 00000 n 
 0000019439 00000 n 
 0000019493 00000 n 
 0000833681 00000 n 
-0001160017 00000 n 
+0001160019 00000 n 
 0000019540 00000 n 
 0000019582 00000 n 
 0000837119 00000 n 
-0001159924 00000 n 
+0001159926 00000 n 
 0000019626 00000 n 
 0000019676 00000 n 
 0000837573 00000 n 
-0001159792 00000 n 
+0001159794 00000 n 
 0000019720 00000 n 
 0000019762 00000 n 
 0000837766 00000 n 
-0001159713 00000 n 
+0001159715 00000 n 
 0000019809 00000 n 
 0000019856 00000 n 
 0000839308 00000 n 
-0001159620 00000 n 
+0001159622 00000 n 
 0000019903 00000 n 
 0000019948 00000 n 
 0000848114 00000 n 
-0001159527 00000 n 
+0001159529 00000 n 
 0000019995 00000 n 
 0000020037 00000 n 
 0000848307 00000 n 
-0001159434 00000 n 
+0001159436 00000 n 
 0000020084 00000 n 
 0000020129 00000 n 
 0000848632 00000 n 
-0001159355 00000 n 
+0001159357 00000 n 
 0000020176 00000 n 
 0000020215 00000 n 
 0000854023 00000 n 
-0001159223 00000 n 
+0001159225 00000 n 
 0000020259 00000 n 
 0000020303 00000 n 
 0000854214 00000 n 
-0001159144 00000 n 
+0001159146 00000 n 
 0000020350 00000 n 
 0000020385 00000 n 
 0000857598 00000 n 
-0001159026 00000 n 
+0001159028 00000 n 
 0000020432 00000 n 
 0000020466 00000 n 
 0000858111 00000 n 
-0001158947 00000 n 
+0001158949 00000 n 
 0000020516 00000 n 
 0000020561 00000 n 
 0000858559 00000 n 
-0001158868 00000 n 
+0001158870 00000 n 
 0000020611 00000 n 
 0000020663 00000 n 
 0000861339 00000 n 
-0001158775 00000 n 
+0001158777 00000 n 
 0000020707 00000 n 
 0000020738 00000 n 
 0000861979 00000 n 
-0001158657 00000 n 
+0001158659 00000 n 
 0000020782 00000 n 
 0000020815 00000 n 
 0000865826 00000 n 
-0001158578 00000 n 
+0001158580 00000 n 
 0000020862 00000 n 
 0000020899 00000 n 
 0000866146 00000 n 
-0001158485 00000 n 
+0001158487 00000 n 
 0000020946 00000 n 
 0000020990 00000 n 
 0000870097 00000 n 
-0001158392 00000 n 
+0001158394 00000 n 
 0000021037 00000 n 
 0000021081 00000 n 
 0000871864 00000 n 
-0001158313 00000 n 
+0001158315 00000 n 
 0000021128 00000 n 
 0000021175 00000 n 
 0000874951 00000 n 
-0001158180 00000 n 
+0001158182 00000 n 
 0000021216 00000 n 
 0000021267 00000 n 
 0000875079 00000 n 
-0001158101 00000 n 
+0001158103 00000 n 
 0000021311 00000 n 
 0000021348 00000 n 
 0000875921 00000 n 
-0001157969 00000 n 
+0001157971 00000 n 
 0000021392 00000 n 
 0000021439 00000 n 
 0000876177 00000 n 
-0001157890 00000 n 
+0001157892 00000 n 
 0000021486 00000 n 
 0000021541 00000 n 
 0000880092 00000 n 
-0001157797 00000 n 
+0001157799 00000 n 
 0000021588 00000 n 
 0000021646 00000 n 
 0000881775 00000 n 
-0001157704 00000 n 
+0001157706 00000 n 
 0000021693 00000 n 
 0000021741 00000 n 
 0000885926 00000 n 
-0001157611 00000 n 
+0001157613 00000 n 
 0000021788 00000 n 
 0000021841 00000 n 
 0000890940 00000 n 
-0001157518 00000 n 
+0001157520 00000 n 
 0000021888 00000 n 
 0000021935 00000 n 
 0000896304 00000 n 
-0001157439 00000 n 
+0001157441 00000 n 
 0000021982 00000 n 
 0000022059 00000 n 
 0000896561 00000 n 
-0001157346 00000 n 
+0001157348 00000 n 
 0000022103 00000 n 
 0000022160 00000 n 
 0000910478 00000 n 
-0001157253 00000 n 
+0001157255 00000 n 
 0000022204 00000 n 
 0000022260 00000 n 
 0000913794 00000 n 
-0001157174 00000 n 
+0001157176 00000 n 
 0000022304 00000 n 
 0000022371 00000 n 
 0000917244 00000 n 
-0001157041 00000 n 
+0001157043 00000 n 
 0000022413 00000 n 
 0000022460 00000 n 
 0000917436 00000 n 
-0001156962 00000 n 
+0001156964 00000 n 
 0000022505 00000 n 
 0000022544 00000 n 
 0000918150 00000 n 
-0001156869 00000 n 
+0001156871 00000 n 
 0000022589 00000 n 
 0000022665 00000 n 
 0000918599 00000 n 
-0001156776 00000 n 
+0001156778 00000 n 
 0000022710 00000 n 
 0000022806 00000 n 
 0000921332 00000 n 
-0001156683 00000 n 
+0001156685 00000 n 
 0000022851 00000 n 
 0000022906 00000 n 
 0000921974 00000 n 
-0001156590 00000 n 
+0001156592 00000 n 
 0000022951 00000 n 
 0000023009 00000 n 
 0000922752 00000 n 
-0001156497 00000 n 
+0001156499 00000 n 
 0000023054 00000 n 
 0000023126 00000 n 
 0000926863 00000 n 
-0001156404 00000 n 
+0001156406 00000 n 
 0000023171 00000 n 
 0000023249 00000 n 
 0000928548 00000 n 
-0001156325 00000 n 
+0001156327 00000 n 
 0000023294 00000 n 
 0000023413 00000 n 
 0000932343 00000 n 
-0001156190 00000 n 
+0001156192 00000 n 
 0000023455 00000 n 
 0000023494 00000 n 
 0000932600 00000 n 
-0001156109 00000 n 
+0001156111 00000 n 
 0000023539 00000 n 
 0000023593 00000 n 
 0000934618 00000 n 
-0001156027 00000 n 
+0001156029 00000 n 
 0000023639 00000 n 
 0000023703 00000 n 
 0000937525 00000 n 
-0001155888 00000 n 
+0001155890 00000 n 
 0000023746 00000 n 
 0000023814 00000 n 
 0000937655 00000 n 
-0001155804 00000 n 
+0001155806 00000 n 
 0000023860 00000 n 
 0000023898 00000 n 
 0000938685 00000 n 
-0001155705 00000 n 
+0001155707 00000 n 
 0000023944 00000 n 
 0000023988 00000 n 
 0000943667 00000 n 
-0001155621 00000 n 
+0001155623 00000 n 
 0000024034 00000 n 
 0000024076 00000 n 
 0000948604 00000 n 
-0001155480 00000 n 
+0001155482 00000 n 
 0000024119 00000 n 
 0000024182 00000 n 
 0000948923 00000 n 
-0001155396 00000 n 
+0001155398 00000 n 
 0000024228 00000 n 
 0000024260 00000 n 
 0000949241 00000 n 
-0001155297 00000 n 
+0001155299 00000 n 
 0000024306 00000 n 
 0000024358 00000 n 
 0000953239 00000 n 
-0001155198 00000 n 
+0001155200 00000 n 
 0000024404 00000 n 
 0000024444 00000 n 
 0000953496 00000 n 
-0001155099 00000 n 
+0001155101 00000 n 
 0000024490 00000 n 
 0000024533 00000 n 
 0000957414 00000 n 
-0001155000 00000 n 
+0001155002 00000 n 
 0000024579 00000 n 
 0000024616 00000 n 
 0000962609 00000 n 
-0001154901 00000 n 
+0001154903 00000 n 
 0000024662 00000 n 
 0000024705 00000 n 
 0000962931 00000 n 
-0001154802 00000 n 
+0001154804 00000 n 
 0000024751 00000 n 
 0000024799 00000 n 
 0000963188 00000 n 
-0001154703 00000 n 
+0001154705 00000 n 
 0000024845 00000 n 
 0000024903 00000 n 
 0000966244 00000 n 
-0001154604 00000 n 
+0001154606 00000 n 
 0000024949 00000 n 
 0000024984 00000 n 
 0000966438 00000 n 
-0001154505 00000 n 
+0001154507 00000 n 
 0000025030 00000 n 
 0000025065 00000 n 
 0000966631 00000 n 
-0001154406 00000 n 
+0001154408 00000 n 
 0000025111 00000 n 
 0000025168 00000 n 
 0000966954 00000 n 
-0001154322 00000 n 
+0001154324 00000 n 
 0000025214 00000 n 
 0000025277 00000 n 
 0000970920 00000 n 
-0001154223 00000 n 
+0001154225 00000 n 
 0000025320 00000 n 
 0000025349 00000 n 
 0000971048 00000 n 
-0001154083 00000 n 
+0001154085 00000 n 
 0000025392 00000 n 
 0000025427 00000 n 
 0000971178 00000 n 
-0001154014 00000 n 
+0001154016 00000 n 
 0000025477 00000 n 
 0000025507 00000 n 
 0000971565 00000 n 
-0001153874 00000 n 
+0001153876 00000 n 
 0000025550 00000 n 
 0000025572 00000 n 
 0000971694 00000 n 
-0001153764 00000 n 
+0001153766 00000 n 
 0000025622 00000 n 
 0000025649 00000 n 
 0000972147 00000 n 
-0001153695 00000 n 
+0001153697 00000 n 
 0000025702 00000 n 
 0000025766 00000 n 
 0000976134 00000 n 
-0001153555 00000 n 
+0001153557 00000 n 
 0000025809 00000 n 
 0000025831 00000 n 
 0000976263 00000 n 
-0001153445 00000 n 
+0001153447 00000 n 
 0000025881 00000 n 
 0000025905 00000 n 
 0000976715 00000 n 
-0001153361 00000 n 
+0001153363 00000 n 
 0000025955 00000 n 
 0000025986 00000 n 
 0000976973 00000 n 
-0001153277 00000 n 
+0001153279 00000 n 
 0000026036 00000 n 
 0000026065 00000 n 
 0000977230 00000 n 
-0001153137 00000 n 
+0001153139 00000 n 
 0000026108 00000 n 
 0000026130 00000 n 
 0000977359 00000 n 
-0001153027 00000 n 
+0001153029 00000 n 
 0000026180 00000 n 
 0000026225 00000 n 
 0000977745 00000 n 
-0001152943 00000 n 
+0001152945 00000 n 
 0000026275 00000 n 
 0000026305 00000 n 
 0000978002 00000 n 
-0001152844 00000 n 
+0001152846 00000 n 
 0000026355 00000 n 
 0000026410 00000 n 
 0000978519 00000 n 
-0001152760 00000 n 
+0001152762 00000 n 
 0000026460 00000 n 
 0000026488 00000 n 
 0000980895 00000 n 
-0001152620 00000 n 
+0001152622 00000 n 
 0000026531 00000 n 
 0000026553 00000 n 
 0000981024 00000 n 
-0001152510 00000 n 
+0001152512 00000 n 
 0000026603 00000 n 
 0000026630 00000 n 
 0000981412 00000 n 
-0001152441 00000 n 
+0001152443 00000 n 
 0000026680 00000 n 
 0000026711 00000 n 
 0000981670 00000 n 
-0001152301 00000 n 
+0001152303 00000 n 
 0000026754 00000 n 
 0000026776 00000 n 
 0000981798 00000 n 
-0001152232 00000 n 
+0001152234 00000 n 
 0000026826 00000 n 
 0000026853 00000 n 
 0000982253 00000 n 
-0001152092 00000 n 
+0001152094 00000 n 
 0000026896 00000 n 
 0000026918 00000 n 
 0000982381 00000 n 
-0001152023 00000 n 
+0001152025 00000 n 
 0000026968 00000 n 
 0000026999 00000 n 
 0000984644 00000 n 
-0001151883 00000 n 
+0001151885 00000 n 
 0000027042 00000 n 
 0000027064 00000 n 
 0000984773 00000 n 
-0001151773 00000 n 
+0001151775 00000 n 
 0000027114 00000 n 
 0000027158 00000 n 
 0000985359 00000 n 
-0001151704 00000 n 
+0001151706 00000 n 
 0000027208 00000 n 
 0000027234 00000 n 
 0000986585 00000 n 
-0001151564 00000 n 
+0001151566 00000 n 
 0000027277 00000 n 
 0000027299 00000 n 
 0000986714 00000 n 
-0001151454 00000 n 
+0001151456 00000 n 
 0000027349 00000 n 
 0000027390 00000 n 
 0000987035 00000 n 
-0001151370 00000 n 
+0001151372 00000 n 
 0000027440 00000 n 
 0000027468 00000 n 
 0000988983 00000 n 
-0001151286 00000 n 
+0001151288 00000 n 
 0000027518 00000 n 
 0000027543 00000 n 
 0000989305 00000 n 
-0001151146 00000 n 
+0001151148 00000 n 
 0000027586 00000 n 
 0000027608 00000 n 
 0000989434 00000 n 
-0001151077 00000 n 
+0001151079 00000 n 
 0000027658 00000 n 
 0000027681 00000 n 
 0000990019 00000 n 
-0001150937 00000 n 
+0001150939 00000 n 
 0000027724 00000 n 
 0000027746 00000 n 
 0000990148 00000 n 
-0001150827 00000 n 
+0001150829 00000 n 
 0000027796 00000 n 
 0000027854 00000 n 
 0000990404 00000 n 
-0001150758 00000 n 
+0001150760 00000 n 
 0000027904 00000 n 
 0000027943 00000 n 
 0000990726 00000 n 
-0001150618 00000 n 
+0001150620 00000 n 
 0000027986 00000 n 
 0000028008 00000 n 
 0000990855 00000 n 
-0001150508 00000 n 
+0001150510 00000 n 
 0000028058 00000 n 
 0000028086 00000 n 
 0000993590 00000 n 
-0001150439 00000 n 
+0001150441 00000 n 
 0000028136 00000 n 
 0000028162 00000 n 
 0000994504 00000 n 
-0001150299 00000 n 
+0001150301 00000 n 
 0000028205 00000 n 
 0000028227 00000 n 
 0000994632 00000 n 
-0001150189 00000 n 
+0001150191 00000 n 
 0000028277 00000 n 
 0000028314 00000 n 
 0000994956 00000 n 
-0001150120 00000 n 
+0001150122 00000 n 
 0000028364 00000 n 
 0000028406 00000 n 
 0000995214 00000 n 
-0001149995 00000 n 
+0001149997 00000 n 
 0000028449 00000 n 
 0000028471 00000 n 
 0000995343 00000 n 
-0001149926 00000 n 
+0001149928 00000 n 
 0000028521 00000 n 
 0000028559 00000 n 
 0000028911 00000 n 
@@ -27082,25 +27082,25 @@ xref
 0000029037 00000 n 
 0000029101 00000 n 
 0000029165 00000 n 
-0001145796 00000 n 
-0001132012 00000 n 
-0001145622 00000 n 
-0001146681 00000 n 
+0001145798 00000 n 
+0001132014 00000 n 
+0001145624 00000 n 
+0001146683 00000 n 
 0000030162 00000 n 
 0000029972 00000 n 
 0000029366 00000 n 
 0000030098 00000 n 
-0001130885 00000 n 
-0001109039 00000 n 
-0001130708 00000 n 
+0001130887 00000 n 
+0001109041 00000 n 
+0001130710 00000 n 
 0000103894 00000 n 
 0000088232 00000 n 
 0000030250 00000 n 
 0000103768 00000 n 
 0000089180 00000 n 
-0001108174 00000 n 
-0001091868 00000 n 
-0001107997 00000 n 
+0001108176 00000 n 
+0001091870 00000 n 
+0001107999 00000 n 
 0000089332 00000 n 
 0000089484 00000 n 
 0000089640 00000 n 
@@ -27190,9 +27190,9 @@ xref
 0000103287 00000 n 
 0000103449 00000 n 
 0000103608 00000 n 
-0001091022 00000 n 
-0001072797 00000 n 
-0001090841 00000 n 
+0001091024 00000 n 
+0001072799 00000 n 
+0001090843 00000 n 
 0000420297 00000 n 
 0000420424 00000 n 
 0000420807 00000 n 
@@ -27541,9 +27541,9 @@ xref
 0000313872 00000 n 
 0000314040 00000 n 
 0000314208 00000 n 
-0001071815 00000 n 
-0001051628 00000 n 
-0001071640 00000 n 
+0001071817 00000 n 
+0001051630 00000 n 
+0001071642 00000 n 
 0000314374 00000 n 
 0000314540 00000 n 
 0000314705 00000 n 
@@ -27772,7 +27772,7 @@ xref
 0000401243 00000 n 
 0000401397 00000 n 
 0000401549 00000 n 
-0001146806 00000 n 
+0001146808 00000 n 
 0000853959 00000 n 
 0000854151 00000 n 
 0000852677 00000 n 
@@ -27942,9 +27942,9 @@ xref
 0000430366 00000 n 
 0000430430 00000 n 
 0000430494 00000 n 
-0001050564 00000 n 
-0001038351 00000 n 
-0001050390 00000 n 
+0001050566 00000 n 
+0001038353 00000 n 
+0001050392 00000 n 
 0000430014 00000 n 
 0000430558 00000 n 
 0000430622 00000 n 
@@ -27955,9 +27955,9 @@ xref
 0000434828 00000 n 
 0000434892 00000 n 
 0000434956 00000 n 
-0001037591 00000 n 
-0001027572 00000 n 
-0001037413 00000 n 
+0001037593 00000 n 
+0001027574 00000 n 
+0001037415 00000 n 
 0000435022 00000 n 
 0000433291 00000 n 
 0000433450 00000 n 
@@ -27984,7 +27984,7 @@ xref
 0000436108 00000 n 
 0000436172 00000 n 
 0000436236 00000 n 
-0001146931 00000 n 
+0001146933 00000 n 
 0000439906 00000 n 
 0000438046 00000 n 
 0000436446 00000 n 
@@ -28183,7 +28183,7 @@ xref
 0000467466 00000 n 
 0000467532 00000 n 
 0000467596 00000 n 
-0001147056 00000 n 
+0001147058 00000 n 
 0000473557 00000 n 
 0000470624 00000 n 
 0000467792 00000 n 
@@ -28232,9 +28232,9 @@ xref
 0000477076 00000 n 
 0000477140 00000 n 
 0000477206 00000 n 
-0001026994 00000 n 
-0001017012 00000 n 
-0001026815 00000 n 
+0001026996 00000 n 
+0001017014 00000 n 
+0001026817 00000 n 
 0000477271 00000 n 
 0000476207 00000 n 
 0000477336 00000 n 
@@ -28403,7 +28403,7 @@ xref
 0000499707 00000 n 
 0000499773 00000 n 
 0000499839 00000 n 
-0001147181 00000 n 
+0001147183 00000 n 
 0000505754 00000 n 
 0000503095 00000 n 
 0000500061 00000 n 
@@ -28468,9 +28468,9 @@ xref
 0000510517 00000 n 
 0000510580 00000 n 
 0000510643 00000 n 
-0001016333 00000 n 
-0001000621 00000 n 
-0001016158 00000 n 
+0001016335 00000 n 
+0001000622 00000 n 
+0001016160 00000 n 
 0000510709 00000 n 
 0000510773 00000 n 
 0000510839 00000 n 
@@ -28590,7 +28590,7 @@ xref
 0000529850 00000 n 
 0000529916 00000 n 
 0000529980 00000 n 
-0001147306 00000 n 
+0001147308 00000 n 
 0000535268 00000 n 
 0000532921 00000 n 
 0000530175 00000 n 
@@ -28609,9 +28609,9 @@ xref
 0000534112 00000 n 
 0000534176 00000 n 
 0000534241 00000 n 
-0000998392 00000 n 
+0000998393 00000 n 
 0000995896 00000 n 
-0000998223 00000 n 
+0000998224 00000 n 
 0000534305 00000 n 
 0000534368 00000 n 
 0000534432 00000 n 
@@ -28763,7 +28763,7 @@ xref
 0000558653 00000 n 
 0000556682 00000 n 
 0000558717 00000 n 
-0001147431 00000 n 
+0001147433 00000 n 
 0000563368 00000 n 
 0000561032 00000 n 
 0000558975 00000 n 
@@ -28960,7 +28960,7 @@ xref
 0000587249 00000 n 
 0000587314 00000 n 
 0000587378 00000 n 
-0001147556 00000 n 
+0001147558 00000 n 
 0000591346 00000 n 
 0000589678 00000 n 
 0000587557 00000 n 
@@ -29122,7 +29122,7 @@ xref
 0000614578 00000 n 
 0000614642 00000 n 
 0000614708 00000 n 
-0001147681 00000 n 
+0001147683 00000 n 
 0000620915 00000 n 
 0000617769 00000 n 
 0000614952 00000 n 
@@ -29341,7 +29341,7 @@ xref
 0000647302 00000 n 
 0000647366 00000 n 
 0000647430 00000 n 
-0001147806 00000 n 
+0001147808 00000 n 
 0000650482 00000 n 
 0000649076 00000 n 
 0000647610 00000 n 
@@ -29569,7 +29569,7 @@ xref
 0000677429 00000 n 
 0000677492 00000 n 
 0000677555 00000 n 
-0001147931 00000 n 
+0001147933 00000 n 
 0000682327 00000 n 
 0000679802 00000 n 
 0000677721 00000 n 
@@ -29739,7 +29739,7 @@ xref
 0000707462 00000 n 
 0000707527 00000 n 
 0000707592 00000 n 
-0001148056 00000 n 
+0001148058 00000 n 
 0000713005 00000 n 
 0000710308 00000 n 
 0000707774 00000 n 
@@ -29929,7 +29929,7 @@ xref
 0000734912 00000 n 
 0000734978 00000 n 
 0000735042 00000 n 
-0001148181 00000 n 
+0001148183 00000 n 
 0000739835 00000 n 
 0000737709 00000 n 
 0000735238 00000 n 
@@ -30109,7 +30109,7 @@ xref
 0000812415 00000 n 
 0000812479 00000 n 
 0000812543 00000 n 
-0001148306 00000 n 
+0001148308 00000 n 
 0000817792 00000 n 
 0000815675 00000 n 
 0000812723 00000 n 
@@ -30243,7 +30243,7 @@ xref
 0000839500 00000 n 
 0000839565 00000 n 
 0000839631 00000 n 
-0001148431 00000 n 
+0001148433 00000 n 
 0000845380 00000 n 
 0000842861 00000 n 
 0000839811 00000 n 
@@ -30403,7 +30403,7 @@ xref
 0000866275 00000 n 
 0000866339 00000 n 
 0000866403 00000 n 
-0001148556 00000 n 
+0001148558 00000 n 
 0000870801 00000 n 
 0000869416 00000 n 
 0000866585 00000 n 
@@ -30554,7 +30554,7 @@ xref
 0000892936 00000 n 
 0000893002 00000 n 
 0000893068 00000 n 
-0001148681 00000 n 
+0001148683 00000 n 
 0000897012 00000 n 
 0000895664 00000 n 
 0000893264 00000 n 
@@ -30698,7 +30698,7 @@ xref
 0000918854 00000 n 
 0000918919 00000 n 
 0000918982 00000 n 
-0001148806 00000 n 
+0001148808 00000 n 
 0000922945 00000 n 
 0000921013 00000 n 
 0000919189 00000 n 
@@ -30864,7 +30864,7 @@ xref
 0000941892 00000 n 
 0000941958 00000 n 
 0000942024 00000 n 
-0001148931 00000 n 
+0001148933 00000 n 
 0000945029 00000 n 
 0000942957 00000 n 
 0000942176 00000 n 
@@ -30976,7 +30976,7 @@ xref
 0000962997 00000 n 
 0000963061 00000 n 
 0000963254 00000 n 
-0001149056 00000 n 
+0001149058 00000 n 
 0000967211 00000 n 
 0000965926 00000 n 
 0000963420 00000 n 
@@ -31142,7 +31142,7 @@ xref
 0000986907 00000 n 
 0000987101 00000 n 
 0000987164 00000 n 
-0001149181 00000 n 
+0001149183 00000 n 
 0000990084 00000 n 
 0000991114 00000 n 
 0000988729 00000 n 
@@ -31206,36 +31206,36 @@ xref
 0000995600 00000 n 
 0000995664 00000 n 
 0000995728 00000 n 
-0000998634 00000 n 
-0000998601 00000 n 
-0000998732 00000 n 
-0001016715 00000 n 
-0001027317 00000 n 
-0001037976 00000 n 
-0001051136 00000 n 
-0001072412 00000 n 
-0001091465 00000 n 
-0001108636 00000 n 
-0001131504 00000 n 
-0001146266 00000 n 
-0001149279 00000 n 
-0001149405 00000 n 
-0001149531 00000 n 
-0001149657 00000 n 
-0001149756 00000 n 
-0001149848 00000 n 
-0001179841 00000 n 
-0001238575 00000 n 
-0001238616 00000 n 
-0001238656 00000 n 
-0001238791 00000 n 
+0000998635 00000 n 
+0000998602 00000 n 
+0000998733 00000 n 
+0001016717 00000 n 
+0001027319 00000 n 
+0001037978 00000 n 
+0001051138 00000 n 
+0001072414 00000 n 
+0001091467 00000 n 
+0001108638 00000 n 
+0001131506 00000 n 
+0001146268 00000 n 
+0001149281 00000 n 
+0001149407 00000 n 
+0001149533 00000 n 
+0001149659 00000 n 
+0001149758 00000 n 
+0001149850 00000 n 
+0001179843 00000 n 
+0001238577 00000 n 
+0001238618 00000 n 
+0001238658 00000 n 
+0001238793 00000 n 
 trailer
 <<
 /Size 5395
 /Root 5393 0 R
 /Info 5394 0 R
-/ID [<31DC317D40E268BCC32289549078B32E> <31DC317D40E268BCC32289549078B32E>]
+/ID [<53BAD8ED1D60E7F0E4D6B5033F709A54> <53BAD8ED1D60E7F0E4D6B5033F709A54>]
 >>
 startxref
-1239055
+1239057
 %%EOF
diff --git a/docs/en/txt/Bugzilla-Guide.txt b/docs/en/txt/Bugzilla-Guide.txt
index 90a2580280fb178edf2032bad6b4392ee64ff27c..740cdbce6726c0946d58c28bde0a3684463ca1e2 100644
--- a/docs/en/txt/Bugzilla-Guide.txt
+++ b/docs/en/txt/Bugzilla-Guide.txt
@@ -1,9 +1,9 @@
 
-The Bugzilla Guide - 3.5.1 Development Release
+The Bugzilla Guide - 3.5.2 Development Release
 
 The Bugzilla Team
 
-   2009-11-05
+   2009-11-18
 
    This is the documentation for Bugzilla, a bug-tracking system from
    mozilla.org. Bugzilla is an enterprise-class piece of software that tracks
@@ -172,7 +172,7 @@ Chapter 1. About This Guide
 
 1.3. New Versions
 
-   This is the 3.5.1 version of The Bugzilla Guide. It is so named to match the
+   This is the 3.5.2 version of The Bugzilla Guide. It is so named to match the
    current version of Bugzilla. This version of the guide, like its associated
    Bugzilla version, is a development version.
 
diff --git a/docs/en/xml/Bugzilla-Guide.xml b/docs/en/xml/Bugzilla-Guide.xml
index de777b4db8b058120d8e0af2ba41002cc21aea4e..3333b7e17410f7113aef73394849c213436addd3 100644
--- a/docs/en/xml/Bugzilla-Guide.xml
+++ b/docs/en/xml/Bugzilla-Guide.xml
@@ -32,9 +32,9 @@
      For a devel release, simple bump bz-ver and bz-date
 -->
 
-<!ENTITY bz-ver "3.5.1">
+<!ENTITY bz-ver "3.5.2">
 <!ENTITY bz-nextver "3.6">
-<!ENTITY bz-date "2009-11-05">
+<!ENTITY bz-date "2009-11-18">
 <!ENTITY current-year "2009">
 
 <!ENTITY landfillbase "http://landfill.bugzilla.org/bugzilla-tip/">
diff --git a/docs/en/xml/CVS/Entries b/docs/en/xml/CVS/Entries
index c01c82974b010eb2f2c7303a2069efaf6182c36e..a9524313bd02a5c0de2795090bead60383b2a60e 100644
--- a/docs/en/xml/CVS/Entries
+++ b/docs/en/xml/CVS/Entries
@@ -1,16 +1,16 @@
-/.cvsignore/1.1/Fri Apr  4 06:48:17 2008//TBUGZILLA-3_5_1
-/Bugzilla-Guide.xml/1.88/Thu Nov  5 12:26:48 2009//TBUGZILLA-3_5_1
-/about.xml/1.26/Fri Apr  4 06:48:18 2008//TBUGZILLA-3_5_1
-/administration.xml/1.96/Fri Oct  9 04:31:12 2009//TBUGZILLA-3_5_1
-/conventions.xml/1.12/Fri Apr  4 06:48:20 2008//TBUGZILLA-3_5_1
-/customization.xml/1.47/Mon Aug 10 11:19:24 2009//TBUGZILLA-3_5_1
-/gfdl.xml/1.11/Fri Apr  4 06:48:21 2008//TBUGZILLA-3_5_1
-/glossary.xml/1.26/Tue Aug 18 11:01:16 2009//TBUGZILLA-3_5_1
-/index.xml/1.6/Fri Apr  4 06:48:21 2008//TBUGZILLA-3_5_1
-/installation.xml/1.172/Sat Oct 24 05:53:12 2009//TBUGZILLA-3_5_1
-/modules.xml/1.16/Sat Oct 24 05:53:12 2009//TBUGZILLA-3_5_1
-/patches.xml/1.25/Fri Apr  4 06:48:25 2008//TBUGZILLA-3_5_1
-/security.xml/1.20/Tue Aug 18 11:01:18 2009//TBUGZILLA-3_5_1
-/troubleshooting.xml/1.14/Sun Oct 18 23:35:00 2009//TBUGZILLA-3_5_1
-/using.xml/1.79/Fri Apr  4 06:48:26 2008//TBUGZILLA-3_5_1
+/.cvsignore/1.1/Fri Apr  4 06:48:17 2008//TBUGZILLA-3_5_2
+/Bugzilla-Guide.xml/1.89/Thu Nov 19 02:14:27 2009//TBUGZILLA-3_5_2
+/about.xml/1.26/Fri Apr  4 06:48:18 2008//TBUGZILLA-3_5_2
+/administration.xml/1.96/Fri Oct  9 04:31:12 2009//TBUGZILLA-3_5_2
+/conventions.xml/1.12/Fri Apr  4 06:48:20 2008//TBUGZILLA-3_5_2
+/customization.xml/1.47/Mon Aug 10 11:19:24 2009//TBUGZILLA-3_5_2
+/gfdl.xml/1.11/Fri Apr  4 06:48:21 2008//TBUGZILLA-3_5_2
+/glossary.xml/1.26/Tue Aug 18 11:01:16 2009//TBUGZILLA-3_5_2
+/index.xml/1.6/Fri Apr  4 06:48:21 2008//TBUGZILLA-3_5_2
+/installation.xml/1.172/Sat Oct 24 05:53:12 2009//TBUGZILLA-3_5_2
+/modules.xml/1.16/Sat Oct 24 05:53:12 2009//TBUGZILLA-3_5_2
+/patches.xml/1.25/Fri Apr  4 06:48:25 2008//TBUGZILLA-3_5_2
+/security.xml/1.20/Tue Aug 18 11:01:18 2009//TBUGZILLA-3_5_2
+/troubleshooting.xml/1.14/Sun Oct 18 23:35:00 2009//TBUGZILLA-3_5_2
+/using.xml/1.79/Fri Apr  4 06:48:26 2008//TBUGZILLA-3_5_2
 D
diff --git a/docs/en/xml/CVS/Tag b/docs/en/xml/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/en/xml/CVS/Tag
+++ b/docs/en/xml/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/en/xml/bugzilla.ent b/docs/en/xml/bugzilla.ent
index dc8d522f2bee9d5c35fc818108ecc6f57baaca30..379703a54a0cf0065213588afa9f3c03189a1d4f 100644
--- a/docs/en/xml/bugzilla.ent
+++ b/docs/en/xml/bugzilla.ent
@@ -27,6 +27,7 @@
 <!ENTITY min-authen-radius-ver "any">
 <!ENTITY min-soap-lite-ver "0.710.06">
 <!ENTITY min-json-rpc-ver "any">
+<!ENTITY min-test-taint-ver "any">
 <!ENTITY min-html-parser-ver "3.40">
 <!ENTITY min-html-scrubber-ver "any">
 <!ENTITY min-email-mime-attachment-stripper-ver "any">
diff --git a/docs/lib/CVS/Tag b/docs/lib/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/docs/lib/CVS/Tag
+++ b/docs/lib/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/docs/lib/Pod/CVS/Tag b/docs/lib/Pod/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/docs/lib/Pod/CVS/Tag
+++ b/docs/lib/Pod/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/docs/lib/Pod/Simple/CVS/Tag b/docs/lib/Pod/Simple/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/docs/lib/Pod/Simple/CVS/Tag
+++ b/docs/lib/Pod/Simple/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/docs/lib/Pod/Simple/HTML/CVS/Entries b/docs/lib/Pod/Simple/HTML/CVS/Entries
index 078ea8fcf92dbb3c6151cc405603ebd1e6bf1b62..5361b7563f01552fb3ff3222216feaab6587fe8c 100644
--- a/docs/lib/Pod/Simple/HTML/CVS/Entries
+++ b/docs/lib/Pod/Simple/HTML/CVS/Entries
@@ -1,2 +1,2 @@
-/Bugzilla.pm/1.1/Tue Sep  5 19:00:56 2006//TBUGZILLA-3_5_1
+/Bugzilla.pm/1.1/Tue Sep  5 19:00:56 2006//TBUGZILLA-3_5_2
 D
diff --git a/docs/lib/Pod/Simple/HTML/CVS/Tag b/docs/lib/Pod/Simple/HTML/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/lib/Pod/Simple/HTML/CVS/Tag
+++ b/docs/lib/Pod/Simple/HTML/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries b/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries
index 58514c8315ee5cf23839677ac6f50926841f6300..15d555f02c4483b411a583e8e910efbbbaea05bb 100644
--- a/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries
+++ b/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries
@@ -1,2 +1,2 @@
-/Bugzilla.pm/1.7/Tue Oct 27 20:56:50 2009//TBUGZILLA-3_5_1
+/Bugzilla.pm/1.7/Tue Oct 27 20:56:50 2009//TBUGZILLA-3_5_2
 D
diff --git a/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag b/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag
+++ b/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/editkeywords.cgi b/editkeywords.cgi
index 76bba4817714ed002715766835c5d5672d5fff49..a9b46fef5650a07398e7a9aee5463d09cfd1c71e 100755
--- a/editkeywords.cgi
+++ b/editkeywords.cgi
@@ -169,8 +169,7 @@ if ($action eq 'delete') {
     my $keyword =  new Bugzilla::Keyword($key_id)
         || ThrowCodeError('invalid_keyword_id', { id => $key_id });
 
-    $dbh->do('DELETE FROM keywords WHERE keywordid = ?', undef, $keyword->id);
-    $dbh->do('DELETE FROM keyworddefs WHERE id = ?', undef, $keyword->id);
+    $keyword->remove_from_db();
 
     delete_token($token);
 
diff --git a/editwhines.cgi b/editwhines.cgi
index 37f52349ed570853f881dccb97b44e452a5844ee..e934376477d85e6e2b5b696a219ad4f0cc1b5b3a 100755
--- a/editwhines.cgi
+++ b/editwhines.cgi
@@ -36,6 +36,7 @@ use Bugzilla::Error;
 use Bugzilla::User;
 use Bugzilla::Group;
 use Bugzilla::Token;
+use Bugzilla::Whine::Schedule;
 
 # require the user to have logged in
 my $user = Bugzilla->login(LOGIN_REQUIRED);
@@ -104,20 +105,11 @@ if ($cgi->param('update')) {
                 # otherwise we could simply delete whatever matched that ID.
                 #
                 # schedules
-                $sth = $dbh->prepare("SELECT whine_schedules.id " .
-                                     "FROM whine_schedules " .
-                                     "LEFT JOIN whine_events " .
-                                     "ON whine_events.id = " .
-                                     "whine_schedules.eventid " .
-                                     "WHERE whine_events.id = ? " .
-                                     "AND whine_events.owner_userid = ?");
-                $sth->execute($eventid, $userid);
-                my @ids = @{$sth->fetchall_arrayref};
+                my $schedules = Bugzilla::Whine::Schedule->match({ eventid => $eventid });
                 $sth = $dbh->prepare("DELETE FROM whine_schedules "
                     . "WHERE id=?");
-                for (@ids) {
-                    my $delete_id = $_->[0];
-                    $sth->execute($delete_id);
+                foreach my $schedule (@$schedules) {                    
+                    $sth->execute($schedule->id);
                 }
 
                 # queries
@@ -129,7 +121,7 @@ if ($cgi->param('update')) {
                                      "WHERE whine_events.id = ? " .
                                      "AND whine_events.owner_userid = ?");
                 $sth->execute($eventid, $userid);
-                @ids = @{$sth->fetchall_arrayref};
+                my @ids = @{$sth->fetchall_arrayref};
                 $sth = $dbh->prepare("DELETE FROM whine_queries " .
                                      "WHERE id=?");
                 for (@ids) {
@@ -183,13 +175,10 @@ if ($cgi->param('update')) {
             # to be altered or deleted
 
             # Check schedules for changes
-            $sth = $dbh->prepare("SELECT id " .
-                                 "FROM whine_schedules " .
-                                 "WHERE eventid=?");
-            $sth->execute($eventid);
+            my $schedules = Bugzilla::Whine::Schedule->match({ eventid => $eventid });
             my @scheduleids = ();
-            while (my ($sid) = $sth->fetchrow_array) {
-                push @scheduleids, $sid;
+            foreach my $schedule (@$schedules) {
+                push @scheduleids, $schedule->id;
             }
 
             # we need to double-check all of the user IDs in mailto to make
@@ -370,30 +359,24 @@ for my $event_id (keys %{$events}) {
     $events->{$event_id}->{'queries'} = [];
 
     # schedules
-    $sth = $dbh->prepare("SELECT run_day, run_time, mailto_type, mailto, id " .
-                         "FROM whine_schedules " .
-                         "WHERE eventid=?");
-    $sth->execute($event_id);
-    for my $row (@{$sth->fetchall_arrayref}) {
-        my $mailto_type = $row->[2];
+    my $schedules = Bugzilla::Whine::Schedule->match({ eventid => $event_id });
+    foreach my $schedule (@$schedules) {
+        my $mailto_type = $schedule->mailto_is_group ? MAILTO_GROUP 
+                                                     : MAILTO_USER;
         my $mailto = '';
         if ($mailto_type == MAILTO_USER) {
-            my $mailto_user = new Bugzilla::User($row->[3]);
-            $mailto = $mailto_user->login;
+            $mailto = $schedule->mailto->login;
         }
         elsif ($mailto_type == MAILTO_GROUP) {
-            $sth = $dbh->prepare("SELECT name FROM groups WHERE id=?");
-            $sth->execute($row->[3]);
-            $mailto = $sth->fetch->[0];
-            $mailto = "" unless Bugzilla::Group::ValidateGroupName(
-                                $mailto, ($user));
+            $mailto = $schedule->mailto->name;
         }
+
         my $this_schedule = {
-            'day'         => $row->[0],
-            'time'        => $row->[1],
+            'day'         => $schedule->run_day,
+            'time'        => $schedule->run_time,
             'mailto_type' => $mailto_type,
             'mailto'      => $mailto,
-            'id'          => $row->[4],
+            'id'          => $schedule->id,
         };
         push @{$events->{$event_id}->{'schedule'}}, $this_schedule;
     }
diff --git a/email_in.pl b/email_in.pl
index 1ec2a19df5621f3595f4f3c8888a91a8faf0682c..2d0ebe571c765ad0a6baaaa2c3cbe33f7074b38f 100755
--- a/email_in.pl
+++ b/email_in.pl
@@ -204,7 +204,7 @@ sub process_bug {
     foreach my $field (keys %fields) {
         $cgi->param(-name => $field, -value => $fields{$field});
     }
-    $cgi->param('longdesclength', scalar $bug->longdescs);
+    $cgi->param('longdesclength', scalar @{ $bug->comments });
     $cgi->param('token', issue_hash_token([$bug->id, $bug->delta_ts]));
 
     require 'process_bug.cgi';
diff --git a/enter_bug.cgi b/enter_bug.cgi
index 071276f1db1abc24017511a49f9cefd5082380c2..ab0108748b92ae75468b3fd6beaf64088c4e9019 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -289,6 +289,7 @@ sub pickos {
             /\(.*VMS.*\)/ && do {push @os, "OpenVMS";};
             /\(.*Win.*\)/ && do {
               /\(.*Windows XP.*\)/ && do {push @os, "Windows XP";};
+              /\(.*Windows NT 6\.1.*\)/ && do {push @os, "Windows 7";};
               /\(.*Windows NT 6\.0.*\)/ && do {push @os, "Windows Vista";};
               /\(.*Windows NT 5\.2.*\)/ && do {push @os, "Windows Server 2003";};
               /\(.*Windows NT 5\.1.*\)/ && do {push @os, "Windows XP";};
@@ -434,17 +435,16 @@ if ($cloned_bug_id) {
     # We need to ensure that we respect the 'insider' status of
     # the first comment, if it has one. Either way, make a note
     # that this bug was cloned from another bug.
-    # We cannot use $cloned_bug->longdescs because this method
-    # depends on the "comment_sort_order" user pref, and we
-    # really want the first comment of the bug.
-    my $bug_desc = Bugzilla::Bug::GetComments($cloned_bug_id, 'oldest_to_newest');
-    my $isprivate = $bug_desc->[0]->{'isprivate'};
+    my $bug_desc = $cloned_bug->comments({ order => 'oldest_to_newest' })->[0];
+    my $isprivate = $bug_desc->is_private;
 
     $vars->{'comment'}        = "";
     $vars->{'commentprivacy'} = 0;
 
     if (!$isprivate || Bugzilla->user->is_insider) {
-        $vars->{'comment'}        = $bug_desc->[0]->{'body'};
+        # We use "body" to avoid any format_comment text, which would be
+        # pointless to clone.
+        $vars->{'comment'}        = $bug_desc->body;
         $vars->{'commentprivacy'} = $isprivate;
     }
 
diff --git a/extensions/CVS/Tag b/extensions/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/extensions/CVS/Tag
+++ b/extensions/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/extensions/bmp_convert/CVS/Entries b/extensions/bmp_convert/CVS/Entries
index d8ce7f79b4176eab5d4ee34b49cd9b773e33b19a..089a2eb5ad902adf48c1cf060d155fada9ecfa4f 100644
--- a/extensions/bmp_convert/CVS/Entries
+++ b/extensions/bmp_convert/CVS/Entries
@@ -1,3 +1,3 @@
-/disabled/1.1/Thu Aug 13 21:32:20 2009//TBUGZILLA-3_5_1
-/info.pl/1.1/Thu Aug 13 21:32:20 2009//TBUGZILLA-3_5_1
+/disabled/1.1/Thu Aug 13 21:32:20 2009//TBUGZILLA-3_5_2
+/info.pl/1.1/Thu Aug 13 21:32:20 2009//TBUGZILLA-3_5_2
 D/code////
diff --git a/extensions/bmp_convert/CVS/Tag b/extensions/bmp_convert/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/bmp_convert/CVS/Tag
+++ b/extensions/bmp_convert/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/bmp_convert/code/CVS/Entries b/extensions/bmp_convert/code/CVS/Entries
index dd77b36dc423fe3883b783128dbb195a73a71c78..833557498d43d68362490ef3fda9989ec2c9e505 100644
--- a/extensions/bmp_convert/code/CVS/Entries
+++ b/extensions/bmp_convert/code/CVS/Entries
@@ -1,2 +1,2 @@
-/attachment-process_data.pl/1.1/Thu Aug 13 21:32:23 2009//TBUGZILLA-3_5_1
+/attachment-process_data.pl/1.1/Thu Aug 13 21:32:23 2009//TBUGZILLA-3_5_2
 D
diff --git a/extensions/bmp_convert/code/CVS/Tag b/extensions/bmp_convert/code/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/bmp_convert/code/CVS/Tag
+++ b/extensions/bmp_convert/code/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/CVS/Entries b/extensions/example/CVS/Entries
index 2efcf2e93eb11613d8266ab207f912b5f0507f8c..288f030e76001b7f70850e9bf1c95a23b3a839df 100644
--- a/extensions/example/CVS/Entries
+++ b/extensions/example/CVS/Entries
@@ -1,5 +1,5 @@
-/disabled/1.1/Fri Oct 19 07:58:49 2007//TBUGZILLA-3_5_1
-/info.pl/1.1/Mon May 19 18:38:27 2008//TBUGZILLA-3_5_1
+/disabled/1.1/Fri Oct 19 07:58:49 2007//TBUGZILLA-3_5_2
+/info.pl/1.1/Mon May 19 18:38:27 2008//TBUGZILLA-3_5_2
 D/code////
 D/lib////
 D/template////
diff --git a/extensions/example/CVS/Tag b/extensions/example/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/CVS/Tag
+++ b/extensions/example/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/code/CVS/Entries b/extensions/example/code/CVS/Entries
index 8bcc4060cfa455e917a852a739ccbaab87fcf02e..b5d3dea8df14664e6b9975f1329837ce80ebb1f5 100644
--- a/extensions/example/code/CVS/Entries
+++ b/extensions/example/code/CVS/Entries
@@ -1,24 +1,28 @@
-/attachment-process_data.pl/1.1/Thu Aug 13 02:25:09 2009//TBUGZILLA-3_5_1
-/auth-login_methods.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_1
-/auth-verify_methods.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_1
-/bug-columns.pl/1.1/Thu Aug 21 22:56:49 2008//TBUGZILLA-3_5_1
-/bug-end_of_create.pl/1.2/Mon Jun 22 08:49:56 2009//TBUGZILLA-3_5_1
-/bug-end_of_update.pl/1.1/Wed Nov  5 19:15:07 2008//TBUGZILLA-3_5_1
-/bug-fields.pl/1.1/Thu Aug 21 22:56:49 2008//TBUGZILLA-3_5_1
-/bug-format_comment.pl/1.1/Wed Sep 30 23:42:59 2009//TBUGZILLA-3_5_1
-/buglist-columns.pl/1.1/Sat Jun 28 18:04:55 2008//TBUGZILLA-3_5_1
-/colchange-columns.pl/1.1/Tue Aug 19 21:28:03 2008//TBUGZILLA-3_5_1
-/config-add_panels.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_1
-/config-modify_panels.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_1
-/config.pl/1.1/Mon May  5 23:01:25 2008//TBUGZILLA-3_5_1
-/flag-end_of_update.pl/1.2/Wed Aug  5 12:36:14 2009//TBUGZILLA-3_5_1
-/install-before_final_checks.pl/1.1/Thu Aug 21 22:58:46 2008//TBUGZILLA-3_5_1
-/mailer-before_send.pl/1.1/Mon Oct 20 00:04:45 2008//TBUGZILLA-3_5_1
-/page-before_template.pl/1.1/Thu Aug  6 15:14:50 2009//TBUGZILLA-3_5_1
-/product-confirm_delete.pl/1.2/Thu Dec 18 17:33:35 2008//TBUGZILLA-3_5_1
-/sanitycheck-check.pl/1.1/Mon Sep 21 22:10:11 2009//TBUGZILLA-3_5_1
-/sanitycheck-repair.pl/1.1/Mon Sep 21 22:10:11 2009//TBUGZILLA-3_5_1
-/template-before_process.pl/1.1/Tue Oct 20 23:08:05 2009//TBUGZILLA-3_5_1
-/webservice-error_codes.pl/1.1/Tue May 27 22:09:05 2008//TBUGZILLA-3_5_1
-/webservice.pl/1.2/Fri Oct 19 08:01:51 2007//TBUGZILLA-3_5_1
+/attachment-process_data.pl/1.1/Thu Aug 13 02:25:09 2009//TBUGZILLA-3_5_2
+/auth-login_methods.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_2
+/auth-verify_methods.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_2
+/bug-columns.pl/1.1/Thu Aug 21 22:56:49 2008//TBUGZILLA-3_5_2
+/bug-end_of_create.pl/1.2/Mon Jun 22 08:49:56 2009//TBUGZILLA-3_5_2
+/bug-end_of_create_validators.pl/1.1/Wed Nov 18 07:15:23 2009//TBUGZILLA-3_5_2
+/bug-end_of_update.pl/1.1/Wed Nov  5 19:15:07 2008//TBUGZILLA-3_5_2
+/bug-fields.pl/1.1/Thu Aug 21 22:56:49 2008//TBUGZILLA-3_5_2
+/bug-format_comment.pl/1.1/Wed Sep 30 23:42:59 2009//TBUGZILLA-3_5_2
+/buglist-columns.pl/1.1/Sat Jun 28 18:04:55 2008//TBUGZILLA-3_5_2
+/colchange-columns.pl/1.1/Tue Aug 19 21:28:03 2008//TBUGZILLA-3_5_2
+/config-add_panels.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_2
+/config-modify_panels.pl/1.1/Wed Aug  6 23:38:29 2008//TBUGZILLA-3_5_2
+/config.pl/1.1/Mon May  5 23:01:25 2008//TBUGZILLA-3_5_2
+/flag-end_of_update.pl/1.2/Wed Aug  5 12:36:14 2009//TBUGZILLA-3_5_2
+/install-before_final_checks.pl/1.1/Thu Aug 21 22:58:46 2008//TBUGZILLA-3_5_2
+/mailer-before_send.pl/1.1/Mon Oct 20 00:04:45 2008//TBUGZILLA-3_5_2
+/object-before_create.pl/1.1/Wed Nov 18 07:11:36 2009//TBUGZILLA-3_5_2
+/object-before_set.pl/1.1/Wed Nov 18 07:17:52 2009//TBUGZILLA-3_5_2
+/object-end_of_create_validators.pl/1.1/Wed Nov 18 07:13:25 2009//TBUGZILLA-3_5_2
+/page-before_template.pl/1.1/Thu Aug  6 15:14:50 2009//TBUGZILLA-3_5_2
+/product-confirm_delete.pl/1.2/Thu Dec 18 17:33:35 2008//TBUGZILLA-3_5_2
+/sanitycheck-check.pl/1.1/Mon Sep 21 22:10:11 2009//TBUGZILLA-3_5_2
+/sanitycheck-repair.pl/1.1/Mon Sep 21 22:10:11 2009//TBUGZILLA-3_5_2
+/template-before_process.pl/1.1/Tue Oct 20 23:08:05 2009//TBUGZILLA-3_5_2
+/webservice-error_codes.pl/1.1/Tue May 27 22:09:05 2008//TBUGZILLA-3_5_2
+/webservice.pl/1.2/Fri Oct 19 08:01:51 2007//TBUGZILLA-3_5_2
 D
diff --git a/extensions/example/code/CVS/Tag b/extensions/example/code/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/code/CVS/Tag
+++ b/extensions/example/code/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/code/bug-end_of_create_validators.pl b/extensions/example/code/bug-end_of_create_validators.pl
new file mode 100644
index 0000000000000000000000000000000000000000..95d64ae85fc51683611b40517a39628f31b9acc6
--- /dev/null
+++ b/extensions/example/code/bug-end_of_create_validators.pl
@@ -0,0 +1,37 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is ITA Software
+# Portions created by the Initial Developer are Copyright (C) 2009 
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s): 
+#   Max Kanat-Alexander <mkanat@bugzilla.org>
+
+use strict;
+use warnings;
+use Bugzilla;
+use Data::Dumper;
+
+# This code doesn't actually *do* anything, it's just here to show you
+# how to use this hook.
+my $params = Bugzilla->hook_args->{'params'};
+
+# Uncomment this line below to see a line in your webserver's error log
+# containing all validated bug field values every time you file a bug.
+# warn Dumper($params);
+
+# This would remove all ccs from the bug, preventing ANY ccs from being
+# added on bug creation.
+# $params->{cc} = [];
diff --git a/extensions/example/code/object-before_create.pl b/extensions/example/code/object-before_create.pl
new file mode 100644
index 0000000000000000000000000000000000000000..5961b618649a6675767f7f585fd6529641164b7e
--- /dev/null
+++ b/extensions/example/code/object-before_create.pl
@@ -0,0 +1,33 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is ITA Software
+# Portions created by the Initial Developer are Copyright (C) 2009 
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+
+use strict;
+use warnings;
+use Bugzilla;
+
+my $args = Bugzilla->hook_args;
+my $class = $args->{'class'};
+my $params = $args->{'params'};
+
+# Note that this is a made-up class, for this example.
+if ($class->isa('Bugzilla::ExampleObject')) {
+    warn "About to create an ExampleObject!";
+    warn "Got the following parameters: " . join(', ', keys(%$params));
+}
diff --git a/extensions/example/code/object-before_set.pl b/extensions/example/code/object-before_set.pl
new file mode 100644
index 0000000000000000000000000000000000000000..43007efdb5f8a2c7aeae561368a7cf03a731e829
--- /dev/null
+++ b/extensions/example/code/object-before_set.pl
@@ -0,0 +1,34 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is ITA Software
+# Portions created by the Initial Developer are Copyright (C) 2009 
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s): 
+#   Max Kanat-Alexander <mkanat@bugzilla.org>
+
+use strict;
+use warnings;
+
+my $args = Bugzilla->hook_args;
+my ($object, $field, $value) = @$args{qw(object field value)};
+
+# Note that this is a made-up class, for this example.
+if ($object->isa('Bugzilla::ExampleObject')) {
+    warn "The field $field is changing from " . $object->{$field} 
+         . " to $value!";
+}
+
+
diff --git a/extensions/example/code/object-end_of_create_validators.pl b/extensions/example/code/object-end_of_create_validators.pl
new file mode 100644
index 0000000000000000000000000000000000000000..42ed6f7761b22f2890f589028b36ea161db60058
--- /dev/null
+++ b/extensions/example/code/object-end_of_create_validators.pl
@@ -0,0 +1,34 @@
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Example Plugin.
+#
+# The Initial Developer of the Original Code is ITA Software
+# Portions created by the Initial Developer are Copyright (C) 2009 
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+
+use strict;
+use warnings;
+use Bugzilla;
+
+my $args = Bugzilla->hook_args;
+my $class = $args->{'class'};
+my $params = $args->{'params'};
+
+# Note that this is a made-up class, for this example.
+if ($class->isa('Bugzilla::ExampleObject')) {
+    # Always set example_field to 1, even if the validators said otherwise.
+    $params->{example_field} = 1;
+}
+
diff --git a/extensions/example/lib/Bugzilla/CVS/Entries b/extensions/example/lib/Bugzilla/CVS/Entries
index 2519df2540e0dae87ffa775ea5da3562c87b1d46..c4b781dba0556c54dadab476ca608d1092454c03 100644
--- a/extensions/example/lib/Bugzilla/CVS/Entries
+++ b/extensions/example/lib/Bugzilla/CVS/Entries
@@ -1,2 +1,2 @@
-/ExampleHook.pm/1.1/Wed Sep 30 23:43:19 2009//TBUGZILLA-3_5_1
+/ExampleHook.pm/1.1/Wed Sep 30 23:43:19 2009//TBUGZILLA-3_5_2
 D
diff --git a/extensions/example/lib/Bugzilla/CVS/Tag b/extensions/example/lib/Bugzilla/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/lib/Bugzilla/CVS/Tag
+++ b/extensions/example/lib/Bugzilla/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/lib/CVS/Entries b/extensions/example/lib/CVS/Entries
index 742af7d80e3d2cee097756436518b4874becf716..c8f42298f6fc74c3fe03472f69acc75b52d8e1c1 100644
--- a/extensions/example/lib/CVS/Entries
+++ b/extensions/example/lib/CVS/Entries
@@ -1,5 +1,5 @@
-/AuthLogin.pm/1.1/Wed Aug  6 23:38:31 2008//TBUGZILLA-3_5_1
-/AuthVerify.pm/1.1/Wed Aug  6 23:38:31 2008//TBUGZILLA-3_5_1
-/ConfigExample.pm/1.1/Mon May  5 23:01:31 2008//TBUGZILLA-3_5_1
-/WSExample.pm/1.4/Tue Mar 31 06:38:01 2009//TBUGZILLA-3_5_1
+/AuthLogin.pm/1.1/Wed Aug  6 23:38:31 2008//TBUGZILLA-3_5_2
+/AuthVerify.pm/1.1/Wed Aug  6 23:38:31 2008//TBUGZILLA-3_5_2
+/ConfigExample.pm/1.1/Mon May  5 23:01:31 2008//TBUGZILLA-3_5_2
+/WSExample.pm/1.4/Tue Mar 31 06:38:01 2009//TBUGZILLA-3_5_2
 D/Bugzilla////
diff --git a/extensions/example/lib/CVS/Tag b/extensions/example/lib/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/lib/CVS/Tag
+++ b/extensions/example/lib/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/template/CVS/Tag b/extensions/example/template/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/extensions/example/template/CVS/Tag
+++ b/extensions/example/template/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/CVS/Tag b/extensions/example/template/en/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/extensions/example/template/en/CVS/Tag
+++ b/extensions/example/template/en/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/admin/CVS/Tag b/extensions/example/template/en/admin/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/extensions/example/template/en/admin/CVS/Tag
+++ b/extensions/example/template/en/admin/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/admin/sanitycheck/CVS/Entries b/extensions/example/template/en/admin/sanitycheck/CVS/Entries
index eaada5ce7e3be90a39b2ed71ad6d5aff6fcbf263..10f9ec8d260faa161de5843be7f8b3b9aa27310b 100644
--- a/extensions/example/template/en/admin/sanitycheck/CVS/Entries
+++ b/extensions/example/template/en/admin/sanitycheck/CVS/Entries
@@ -1,2 +1,2 @@
-/messages-statuses.html.tmpl/1.1/Mon Sep 21 22:10:14 2009//TBUGZILLA-3_5_1
+/messages-statuses.html.tmpl/1.1/Mon Sep 21 22:10:14 2009//TBUGZILLA-3_5_2
 D
diff --git a/extensions/example/template/en/admin/sanitycheck/CVS/Tag b/extensions/example/template/en/admin/sanitycheck/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/template/en/admin/sanitycheck/CVS/Tag
+++ b/extensions/example/template/en/admin/sanitycheck/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/default/CVS/Tag b/extensions/example/template/en/default/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/extensions/example/template/en/default/CVS/Tag
+++ b/extensions/example/template/en/default/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/default/admin/CVS/Tag b/extensions/example/template/en/default/admin/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/extensions/example/template/en/default/admin/CVS/Tag
+++ b/extensions/example/template/en/default/admin/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/default/admin/params/CVS/Entries b/extensions/example/template/en/default/admin/params/CVS/Entries
index 88130a930c0d9235f6cf7ddb9fd98d1783296a87..80dce6fd0b6b7c50e67fb883846e45a42fc5164d 100644
--- a/extensions/example/template/en/default/admin/params/CVS/Entries
+++ b/extensions/example/template/en/default/admin/params/CVS/Entries
@@ -1,2 +1,2 @@
-/example.html.tmpl/1.1/Mon May  5 23:01:33 2008//TBUGZILLA-3_5_1
+/example.html.tmpl/1.1/Mon May  5 23:01:33 2008//TBUGZILLA-3_5_2
 D
diff --git a/extensions/example/template/en/default/admin/params/CVS/Tag b/extensions/example/template/en/default/admin/params/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/template/en/default/admin/params/CVS/Tag
+++ b/extensions/example/template/en/default/admin/params/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/default/pages/CVS/Entries b/extensions/example/template/en/default/pages/CVS/Entries
index 7dc14d90139d6b7669de792189fb958e5f423ac1..d2d64e653572a1c4f3b92a0faf68e5bbd116d6b7 100644
--- a/extensions/example/template/en/default/pages/CVS/Entries
+++ b/extensions/example/template/en/default/pages/CVS/Entries
@@ -1,2 +1,2 @@
-/example.html.tmpl/1.1/Thu Aug  6 15:14:55 2009//TBUGZILLA-3_5_1
+/example.html.tmpl/1.1/Thu Aug  6 15:14:55 2009//TBUGZILLA-3_5_2
 D
diff --git a/extensions/example/template/en/default/pages/CVS/Tag b/extensions/example/template/en/default/pages/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/template/en/default/pages/CVS/Tag
+++ b/extensions/example/template/en/default/pages/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/extensions/example/template/en/global/CVS/Entries b/extensions/example/template/en/global/CVS/Entries
index 099c9c0919bd0d7b04556d625ec55eb117044d6d..1ca520bfbcb27f6a76484b371c29c27f92e8d1af 100644
--- a/extensions/example/template/en/global/CVS/Entries
+++ b/extensions/example/template/en/global/CVS/Entries
@@ -1,2 +1,2 @@
-/user-error-errors.html.tmpl/1.1/Tue May 27 22:09:22 2008//TBUGZILLA-3_5_1
+/user-error-errors.html.tmpl/1.1/Tue May 27 22:09:22 2008//TBUGZILLA-3_5_2
 D
diff --git a/extensions/example/template/en/global/CVS/Tag b/extensions/example/template/en/global/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/extensions/example/template/en/global/CVS/Tag
+++ b/extensions/example/template/en/global/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/images/CVS/Entries b/images/CVS/Entries
index 8b57d80a219d4a296d416d137da09348464d2f3a..758ea17146e5fa09cb2d34321fb6a8b7374a2b17 100644
--- a/images/CVS/Entries
+++ b/images/CVS/Entries
@@ -1,3 +1,3 @@
-/favicon.ico/1.1/Wed Jul 30 11:13:48 2008/-kb/TBUGZILLA-3_5_1
-/padlock.png/1.2/Thu Sep 23 18:08:31 2004/-kb/TBUGZILLA-3_5_1
+/favicon.ico/1.1/Wed Jul 30 11:13:48 2008/-kb/TBUGZILLA-3_5_2
+/padlock.png/1.2/Thu Sep 23 18:08:31 2004/-kb/TBUGZILLA-3_5_2
 D
diff --git a/images/CVS/Tag b/images/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/images/CVS/Tag
+++ b/images/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/importxml.pl b/importxml.pl
index bd4aee186ce10c45ac4c4acf985d38b29c8d4429..c08f5c8b2dae89f5e8cd1832f4a4f863b3d48cf5 100755
--- a/importxml.pl
+++ b/importxml.pl
@@ -512,7 +512,7 @@ sub process_bug {
         $long_desc{'isprivate'} = $comment->{'att'}->{'isprivate'} || 0;
 
         # if one of the comments is private we need to set this flag
-        if ( $long_desc{'isprivate'} && $exporter->in_group($params->{'insidergroup'})) {
+        if ( $long_desc{'isprivate'} && $exporter->is_insider) {
             $private = 1;
         }
         my $data = $comment->field('thetext');
@@ -1198,7 +1198,7 @@ sub process_bug {
             $err .= "No attachment ID specified, dropping attachment\n";
             next;
         }
-        if (!$exporter->in_group($params->{'insidergroup'}) && $att->{'isprivate'}){
+        if (!$exporter->is_insider && $att->{'isprivate'}) {
             $err .= "Exporter not in insidergroup and attachment marked private.\n";
             $err .= "   Marking attachment public\n";
             $att->{'isprivate'} = 0;
@@ -1251,7 +1251,7 @@ sub process_bug {
 
     # Insert longdesc and append any errors
     my $worktime = $bug_fields{'actual_time'} || 0.0;
-    $worktime = 0.0 if (!$exporter->in_group($params->{'timetrackinggroup'}));
+    $worktime = 0.0 if (!$exporter->is_timetracker);
     $long_description .= "\n" . $comments;
     if ($err) {
         $long_description .= "\n$err\n";
diff --git a/js/CVS/Entries b/js/CVS/Entries
index 71649f93adfa8b623e0930d10845b893faf598f3..392eb931b16d546f5702992e210b8ba947a73f42 100644
--- a/js/CVS/Entries
+++ b/js/CVS/Entries
@@ -1,11 +1,11 @@
-/TUI.js/1.2/Wed Feb 11 19:41:14 2009//TBUGZILLA-3_5_1
-/attachment.js/1.7/Mon Sep 21 22:02:28 2009//TBUGZILLA-3_5_1
-/change-columns.js/1.2/Wed Feb 25 22:39:00 2009//TBUGZILLA-3_5_1
-/expanding-tree.js/1.2/Wed Feb 22 22:02:09 2006//TBUGZILLA-3_5_1
-/field.js/1.16/Sun Jun 21 19:33:44 2009//TBUGZILLA-3_5_1
-/global.js/1.3/Fri May 22 00:14:24 2009//TBUGZILLA-3_5_1
-/help.js/1.1/Sun Apr 15 18:43:26 2007//TBUGZILLA-3_5_1
-/params.js/1.1/Thu Aug  2 22:38:44 2007//TBUGZILLA-3_5_1
-/productform.js/1.3/Tue Apr 17 22:08:06 2007//TBUGZILLA-3_5_1
-/util.js/1.8/Wed Feb 11 19:41:14 2009//TBUGZILLA-3_5_1
+/TUI.js/1.2/Wed Feb 11 19:41:14 2009//TBUGZILLA-3_5_2
+/attachment.js/1.7/Mon Sep 21 22:02:28 2009//TBUGZILLA-3_5_2
+/change-columns.js/1.2/Wed Feb 25 22:39:00 2009//TBUGZILLA-3_5_2
+/expanding-tree.js/1.2/Wed Feb 22 22:02:09 2006//TBUGZILLA-3_5_2
+/field.js/1.16/Sun Jun 21 19:33:44 2009//TBUGZILLA-3_5_2
+/global.js/1.4/Wed Nov 18 07:06:46 2009//TBUGZILLA-3_5_2
+/help.js/1.1/Sun Apr 15 18:43:26 2007//TBUGZILLA-3_5_2
+/params.js/1.1/Thu Aug  2 22:38:44 2007//TBUGZILLA-3_5_2
+/productform.js/1.3/Tue Apr 17 22:08:06 2007//TBUGZILLA-3_5_2
+/util.js/1.8/Wed Feb 11 19:41:14 2009//TBUGZILLA-3_5_2
 D/yui////
diff --git a/js/CVS/Tag b/js/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/js/CVS/Tag
+++ b/js/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/js/global.js b/js/global.js
index 77e40d4c8361d804cf8082e8d3d09feae247f7ae..2d397415040780e619b110a80fe1bb7e40ff305c 100644
--- a/js/global.js
+++ b/js/global.js
@@ -110,3 +110,12 @@ function check_mini_login_fields( suffix ) {
     window.alert( mini_login_constants.warning );
     return false;
 }
+
+function set_language( value ) {
+    YAHOO.util.Cookie.set('LANG', value,
+    {
+        expires: new Date('January 1, 2038'),
+        path: BUGZILLA.param.cookie_path
+    });
+    window.location.reload()
+}
diff --git a/js/yui/CVS/Entries b/js/yui/CVS/Entries
index afc1f89afb42d2ba28bd28ac97d7cc1d06b51c54..a425e3614ccc8a0c1185a3524f45c52dafd16764 100644
--- a/js/yui/CVS/Entries
+++ b/js/yui/CVS/Entries
@@ -1,4 +1,4 @@
-/calendar.js/1.2/Thu Jan 15 01:01:24 2009//TBUGZILLA-3_5_1
-/cookie.js/1.1/Wed Feb 11 19:41:15 2009//TBUGZILLA-3_5_1
-/yahoo-dom-event.js/1.2/Thu Jan 15 01:01:24 2009//TBUGZILLA-3_5_1
+/calendar.js/1.2/Thu Jan 15 01:01:24 2009//TBUGZILLA-3_5_2
+/cookie.js/1.1/Wed Feb 11 19:41:15 2009//TBUGZILLA-3_5_2
+/yahoo-dom-event.js/1.2/Thu Jan 15 01:01:24 2009//TBUGZILLA-3_5_2
 D
diff --git a/js/yui/CVS/Tag b/js/yui/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/js/yui/CVS/Tag
+++ b/js/yui/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/jsonrpc.cgi b/jsonrpc.cgi
index 25fb4c1757f06b12188e32744aad2def0449e4c9..ad910e79eb8aae9781f68221870f2322d43dbf6a 100755
--- a/jsonrpc.cgi
+++ b/jsonrpc.cgi
@@ -27,12 +27,12 @@ use Bugzilla;
 use Bugzilla::Constants;
 use Bugzilla::Error;
 use Bugzilla::WebService::Constants;
-if (!Bugzilla->feature('jsonrpc')) {
-    ThrowCodeError('feature_disabled', { feature => 'jsonrpc' });
+BEGIN {
+    if (!Bugzilla->feature('jsonrpc')) {
+        ThrowCodeError('feature_disabled', { feature => 'jsonrpc' });
+    }
 }
-
-# This eval allows runtests.pl to pass.
-eval { require Bugzilla::WebService::Server::JSONRPC; };
+use Bugzilla::WebService::Server::JSONRPC;
 
 Bugzilla->usage_mode(USAGE_MODE_JSON);
 
diff --git a/lib/CVS/Entries b/lib/CVS/Entries
index 0baad04f9028c3bf5b2e22b0394865c7973d9273..4a9b12d8de08124808d17811359443150342eb98 100644
--- a/lib/CVS/Entries
+++ b/lib/CVS/Entries
@@ -1,2 +1,2 @@
-/README/1.1/Fri Oct 19 06:46:19 2007//TBUGZILLA-3_5_1
+/README/1.1/Fri Oct 19 06:46:19 2007//TBUGZILLA-3_5_2
 D
diff --git a/lib/CVS/Tag b/lib/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/lib/CVS/Tag
+++ b/lib/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/mod_perl.pl b/mod_perl.pl
index 1e5c7fc63357a708d2bab357aebb6bc1e9aca5c9..8ca691f9ce1841b94b2598a17421e95f08e4827e 100755
--- a/mod_perl.pl
+++ b/mod_perl.pl
@@ -34,12 +34,14 @@ use ModPerl::RegistryLoader ();
 use CGI ();
 CGI->compile(qw(:cgi -no_xhtml -oldstyle_urls :private_tempfiles
                 :unique_headers SERVER_PUSH :push));
+use File::Basename ();
 use Template::Config ();
 Template::Config->preload();
 
 use Bugzilla ();
 use Bugzilla::Constants ();
 use Bugzilla::CGI ();
+use Bugzilla::Install::Requirements ();
 use Bugzilla::Mailer ();
 use Bugzilla::Template ();
 use Bugzilla::Util ();
@@ -75,9 +77,12 @@ my $rl = new ModPerl::RegistryLoader();
 # If we try to do this in "new" it fails because it looks for a 
 # Bugzilla/ModPerl/ResponseHandler.pm
 $rl->{package} = 'Bugzilla::ModPerl::ResponseHandler';
-# Note that $cgi_path will be wrong if somebody puts the libraries
-# in a different place than the CGIs.
+my $feature_files = Bugzilla::Install::Requirements::map_files_to_features();
 foreach my $file (glob "$cgi_path/*.cgi") {
+    my $base_filename = File::Basename::basename($file);
+    if (my $feature = $feature_files->{$base_filename}) {
+        next if !Bugzilla->feature($feature);
+    }
     Bugzilla::Util::trick_taint($file);
     $rl->handler($file, $file);
 }
diff --git a/post_bug.cgi b/post_bug.cgi
index 323e005f46b13df839d331e12924ce34e06bf080..ed483aec9bd1ff04f54005cacf4b82d2376fd870 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -103,9 +103,6 @@ if (defined $cgi->param('maketemplate')) {
 
 umask 0;
 
-# get current time
-my $timestamp = $dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)');
-
 # Group Validation
 my @selected_groups;
 foreach my $group (grep(/^bit-\d+$/, $cgi->param())) {
@@ -160,7 +157,6 @@ my %bug_params;
 foreach my $field (@bug_fields) {
     $bug_params{$field} = $cgi->param($field);
 }
-$bug_params{'creation_ts'} = $timestamp;
 $bug_params{'cc'}          = [$cgi->param('cc')];
 $bug_params{'groups'}      = \@selected_groups;
 $bug_params{'comment'}     = $comment;
@@ -176,6 +172,10 @@ my $bug = Bugzilla::Bug->create(\%bug_params);
 
 # Get the bug ID back.
 my $id = $bug->bug_id;
+# We do this directly from the DB because $bug->creation_ts has the seconds
+# formatted out of it (which should be fixed some day).
+my $timestamp = $dbh->selectrow_array(
+    'SELECT creation_ts FROM bugs WHERE bug_id = ?', undef, $id);
 
 # Set Version cookie, but only if the user actually selected
 # a version on the page.
@@ -229,13 +229,13 @@ if (defined($cgi->upload('data')) || $cgi->param('attachurl')) {
         # expects to find this exact string.
         my $new_comment = "Created an attachment (id=" . $attachment->id . ")\n" .
                           $attachment->description . "\n";
-        # We can use $bug->longdescs here because we are sure that the bug
+        # We can use $bug->comments here because we are sure that the bug
         # description is of type CMT_NORMAL. No need to include it if it's
         # empty, though.
-        if ($bug->longdescs->[0]->{'body'} !~ /^\s+$/) {
-            $new_comment .= "\n" . $bug->longdescs->[0]->{'body'};
+        if ($bug->comments->[0]->body !~ /^\s+$/) {
+            $new_comment .= "\n" . $bug->comments->[0]->body;
         }
-        $bug->update_comment($bug->longdescs->[0]->{'id'}, $new_comment);
+        $bug->update_comment($bug->comments->[0]->id, $new_comment);
     }
     else {
         $vars->{'message'} = 'attachment_creation_failed';
diff --git a/process_bug.cgi b/process_bug.cgi
index 36091b892a87ee91fa51d7cb2e421c4dbd6ac263..a4547ad6b84cb1c5bd7ddd64705ec9c561f2168f 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -168,8 +168,7 @@ if (defined $cgi->param('delta_ts')
     $vars->{'start_at'} = $cgi->param('longdesclength');
     # Always sort midair collision comments oldest to newest,
     # regardless of the user's personal preference.
-    $vars->{'comments'} = Bugzilla::Bug::GetComments($first_bug->id,
-                                                     "oldest_to_newest");
+    $vars->{'comments'} = $first_bug->comments({ order => "oldest_to_newest" });
     $vars->{'bug'} = $first_bug;
     # The token contains the old delta_ts. We need a new one.
     $cgi->param('token', issue_hash_token([$first_bug->id, $first_bug->delta_ts]));
@@ -553,7 +552,7 @@ foreach my $bug (@bug_objects) {
         # status, so we should inform the user about that.
         if (!is_open_state($new_status) && $changes->{'remaining_time'}) {
             $vars->{'message'} = "remaining_time_zeroed"
-              if Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'});
+              if Bugzilla->user->is_timetracker;
         }
     }
 
diff --git a/query.cgi b/query.cgi
index d07773bde342cfb113157c0349860a2f9bda0c0b..ba8979adc3c5092496fe98868e319eba9156959b 100755
--- a/query.cgi
+++ b/query.cgi
@@ -247,7 +247,7 @@ foreach my $val (editable_bug_fields()) {
     push @chfields, $val;
 }
 
-if (Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) {
+if (Bugzilla->user->is_timetracker) {
     push @chfields, "work_time";
 } else {
     @chfields = grep($_ ne "estimated_time", @chfields);
@@ -266,10 +266,8 @@ $vars->{'resolution'} = Bugzilla::Field->new({name => 'resolution'})->legal_valu
 my @fields = Bugzilla->get_fields({ obsolete => 0 });
 
 # If we're not in the time-tracking group, exclude time-tracking fields.
-if (!Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) {
-    foreach my $tt_field (qw(estimated_time remaining_time work_time
-                             percentage_complete deadline))
-    {
+if (!Bugzilla->user->is_timetracker) {
+    foreach my $tt_field (TIMETRACKING_FIELDS) {
         @fields = grep($_->name ne $tt_field, @fields);
     }
 }
diff --git a/report.cgi b/report.cgi
index ca92fafc6ea76d8fcc7cd5196685653d66bce5bf..9a618c0136e27bbe5ef424c60ecec0b338690f01 100755
--- a/report.cgi
+++ b/report.cgi
@@ -331,15 +331,14 @@ exit;
 
 sub get_names {
     my ($names, $isnumeric, $field) = @_;
-  
-    # These are all the fields we want to preserve the order of in reports.
-    my %fields = ('priority'     => get_legal_field_values('priority'),
-                  'bug_severity' => get_legal_field_values('bug_severity'),
-                  'rep_platform' => get_legal_field_values('rep_platform'),
-                  'op_sys'       => get_legal_field_values('op_sys'),
-                  'bug_status'   => get_legal_field_values('bug_status'),
-                  'resolution'   => [' ', @{get_legal_field_values('resolution')}]);
     
+    # These are all the fields we want to preserve the order of in reports.
+    my %fields;
+    my @select_fields = Bugzilla->get_fields({ is_select => 1 });
+    foreach my $field (@select_fields) {
+        my @names =  map($_->name, @{$field->legal_values});
+        $fields{$field->name} = \@names;
+    } 
     my $field_list = $fields{$field};
     my @sorted;
     
@@ -362,6 +361,6 @@ sub get_names {
         # ...or alphabetically, as appropriate.
         @sorted = sort(keys(%{$names}));
     }
-  
+    
     return \@sorted;
 }
diff --git a/show_bug.cgi b/show_bug.cgi
index ddb41ffec341742cbb9a2cb32ffe7ff9f81b03db..64d2e875fb3e66c033535c1ab6a770cd39008518 100755
--- a/show_bug.cgi
+++ b/show_bug.cgi
@@ -109,7 +109,7 @@ if ($cgi->param("field")) {
     @fieldlist = $cgi->param("field");
 }
 
-unless (Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"})) {
+unless (Bugzilla->user->is_timetracker) {
     @fieldlist = grep($_ !~ /(^deadline|_time)$/, @fieldlist);
 }
 
diff --git a/skins/CVS/Entries b/skins/CVS/Entries
index 73d6bc1fccbb6d406da2a540d3164dbf25bb7b72..680580bb746615dbe78eb7e05bb6583751b6457d 100644
--- a/skins/CVS/Entries
+++ b/skins/CVS/Entries
@@ -1,3 +1,3 @@
-/.cvsignore/1.2/Tue Aug 14 21:54:35 2007//TBUGZILLA-3_5_1
+/.cvsignore/1.2/Tue Aug 14 21:54:35 2007//TBUGZILLA-3_5_2
 D/contrib////
 D/standard////
diff --git a/skins/CVS/Tag b/skins/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/CVS/Tag
+++ b/skins/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/contrib/CVS/Tag b/skins/contrib/CVS/Tag
index 2ce655efdf8b4954e2051f011463ddd14dbc7e72..1cec2e2b3b032f2dd3b9d27d3115cc262074890c 100644
--- a/skins/contrib/CVS/Tag
+++ b/skins/contrib/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-3_5_1
+TBUGZILLA-3_5_2
diff --git a/skins/contrib/Dusk/CVS/Entries b/skins/contrib/Dusk/CVS/Entries
index 3e01342eb455bc203bb24514c09784b193613c52..e4186e6d6040f74cfc0a64953dfae67b067026df 100644
--- a/skins/contrib/Dusk/CVS/Entries
+++ b/skins/contrib/Dusk/CVS/Entries
@@ -1,5 +1,5 @@
-/.cvsignore/1.4/Thu Feb 12 02:17:55 2009//TBUGZILLA-3_5_1
-/buglist.css/1.2/Tue Aug 19 10:03:18 2008//TBUGZILLA-3_5_1
-/global.css/1.8/Wed Sep 30 08:58:49 2009//TBUGZILLA-3_5_1
-/index.css/1.1/Thu Feb 12 02:17:56 2009//TBUGZILLA-3_5_1
+/.cvsignore/1.4/Thu Feb 12 02:17:55 2009//TBUGZILLA-3_5_2
+/buglist.css/1.2/Tue Aug 19 10:03:18 2008//TBUGZILLA-3_5_2
+/global.css/1.8/Wed Sep 30 08:58:49 2009//TBUGZILLA-3_5_2
+/index.css/1.1/Thu Feb 12 02:17:56 2009//TBUGZILLA-3_5_2
 D/index////
diff --git a/skins/contrib/Dusk/CVS/Tag b/skins/contrib/Dusk/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/contrib/Dusk/CVS/Tag
+++ b/skins/contrib/Dusk/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/contrib/Dusk/index/CVS/Entries b/skins/contrib/Dusk/index/CVS/Entries
index c6d924ca2887f632c617934658b9d33365cada8d..9ee173e016fa12819a0f1767cbc6098333a91eeb 100644
--- a/skins/contrib/Dusk/index/CVS/Entries
+++ b/skins/contrib/Dusk/index/CVS/Entries
@@ -1,4 +1,4 @@
-/account.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_5_1
-/bug.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_5_1
-/search.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_5_1
+/account.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_5_2
+/bug.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_5_2
+/search.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_5_2
 D
diff --git a/skins/contrib/Dusk/index/CVS/Tag b/skins/contrib/Dusk/index/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/contrib/Dusk/index/CVS/Tag
+++ b/skins/contrib/Dusk/index/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/standard/CVS/Entries b/skins/standard/CVS/Entries
index 29a8dbdf4772f29c7eaa6b418d634316d2cfdc4a..0934f8a774b90a2d5262a011053cea8ec88a1e63 100644
--- a/skins/standard/CVS/Entries
+++ b/skins/standard/CVS/Entries
@@ -1,20 +1,20 @@
-/IE-fixes.css/1.2/Fri Feb  8 23:18:59 2008//TBUGZILLA-3_5_1
-/admin.css/1.7/Mon Sep  8 20:37:50 2008//TBUGZILLA-3_5_1
-/buglist.css/1.18/Thu Oct 29 04:46:17 2009//TBUGZILLA-3_5_1
-/create_attachment.css/1.3/Fri Oct 23 21:32:06 2009//TBUGZILLA-3_5_1
-/dependency-tree.css/1.3/Sat Jan  6 19:48:10 2007//TBUGZILLA-3_5_1
-/duplicates.css/1.2/Fri Nov 15 22:04:04 2002//TBUGZILLA-3_5_1
-/editusers.css/1.3/Sun May 13 18:58:26 2007//TBUGZILLA-3_5_1
-/global.css/1.68/Fri Oct 23 21:32:06 2009//TBUGZILLA-3_5_1
-/help.css/1.1/Sun Apr 15 18:43:26 2007//TBUGZILLA-3_5_1
-/index.css/1.12/Fri Oct  9 04:38:13 2009//TBUGZILLA-3_5_1
-/panel.css/1.1/Wed Dec 12 22:41:11 2001//TBUGZILLA-3_5_1
-/params.css/1.4/Thu Aug  2 22:38:45 2007//TBUGZILLA-3_5_1
-/release-notes.css/1.1/Thu Feb 22 18:41:29 2007//TBUGZILLA-3_5_1
-/show_bug.css/1.12/Thu Feb 12 19:04:53 2009//TBUGZILLA-3_5_1
-/show_multiple.css/1.4/Sun Jun 18 23:11:59 2006//TBUGZILLA-3_5_1
-/summarize-time.css/1.1/Mon Feb 28 17:52:57 2005//TBUGZILLA-3_5_1
-/voting.css/1.1/Tue Feb  8 15:49:57 2005//TBUGZILLA-3_5_1
+/IE-fixes.css/1.2/Fri Feb  8 23:18:59 2008//TBUGZILLA-3_5_2
+/admin.css/1.7/Mon Sep  8 20:37:50 2008//TBUGZILLA-3_5_2
+/buglist.css/1.18/Thu Oct 29 04:46:17 2009//TBUGZILLA-3_5_2
+/create_attachment.css/1.3/Fri Oct 23 21:32:06 2009//TBUGZILLA-3_5_2
+/dependency-tree.css/1.3/Sat Jan  6 19:48:10 2007//TBUGZILLA-3_5_2
+/duplicates.css/1.2/Fri Nov 15 22:04:04 2002//TBUGZILLA-3_5_2
+/editusers.css/1.3/Sun May 13 18:58:26 2007//TBUGZILLA-3_5_2
+/global.css/1.69/Wed Nov 18 07:06:46 2009//TBUGZILLA-3_5_2
+/help.css/1.1/Sun Apr 15 18:43:26 2007//TBUGZILLA-3_5_2
+/index.css/1.12/Fri Oct  9 04:38:13 2009//TBUGZILLA-3_5_2
+/panel.css/1.1/Wed Dec 12 22:41:11 2001//TBUGZILLA-3_5_2
+/params.css/1.4/Thu Aug  2 22:38:45 2007//TBUGZILLA-3_5_2
+/release-notes.css/1.1/Thu Feb 22 18:41:29 2007//TBUGZILLA-3_5_2
+/show_bug.css/1.12/Thu Feb 12 19:04:53 2009//TBUGZILLA-3_5_2
+/show_multiple.css/1.4/Sun Jun 18 23:11:59 2006//TBUGZILLA-3_5_2
+/summarize-time.css/1.1/Mon Feb 28 17:52:57 2005//TBUGZILLA-3_5_2
+/voting.css/1.1/Tue Feb  8 15:49:57 2005//TBUGZILLA-3_5_2
 D/dependency-tree////
 D/global////
 D/index////
diff --git a/skins/standard/CVS/Tag b/skins/standard/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/standard/CVS/Tag
+++ b/skins/standard/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/standard/dependency-tree/CVS/Entries b/skins/standard/dependency-tree/CVS/Entries
index a01e3de25bfaa69566d1f5669e47727205dfb1c9..0a90960f3b658609579aa409f049a5b29d35f471 100644
--- a/skins/standard/dependency-tree/CVS/Entries
+++ b/skins/standard/dependency-tree/CVS/Entries
@@ -1,5 +1,5 @@
-/bug-item.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_5_1
-/tree-closed.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_5_1
-/tree-open.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_5_1
-/tree.png/1.1/Tue May 23 00:31:35 2006/-kb/TBUGZILLA-3_5_1
+/bug-item.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_5_2
+/tree-closed.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_5_2
+/tree-open.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_5_2
+/tree.png/1.1/Tue May 23 00:31:35 2006/-kb/TBUGZILLA-3_5_2
 D
diff --git a/skins/standard/dependency-tree/CVS/Tag b/skins/standard/dependency-tree/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/standard/dependency-tree/CVS/Tag
+++ b/skins/standard/dependency-tree/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/standard/global.css b/skins/standard/global.css
index 64c73c3d598566bd70d8c93222e4eb82d09f4afb..8eb7cc3b1cfc2443ef3b0c41e68da2f1b45787cd 100644
--- a/skins/standard/global.css
+++ b/skins/standard/global.css
@@ -61,6 +61,18 @@
         padding: 0.5em;
     }
 
+    #lang_links_container {
+        float: right;
+    }
+    #lang_links_container .links {
+        border: none;
+        padding: .5em;
+    }
+
+    .lang_current {
+        font-weight: bold;
+    }
+
     #message {
         border: 1px solid red;
         margin: 0.3em 0em;
diff --git a/skins/standard/global/CVS/Entries b/skins/standard/global/CVS/Entries
index 665e5fb165f385aee480cd0200dda0031f2fd0b1..3bd03342e19f7cc1de3c06ac253931fb1749e75f 100644
--- a/skins/standard/global/CVS/Entries
+++ b/skins/standard/global/CVS/Entries
@@ -1,8 +1,8 @@
-/body-back.gif/1.1/Fri Mar 11 03:07:18 2005/-kb/TBUGZILLA-3_5_1
-/calendar.png/1.1/Thu Nov 29 02:20:30 2007/-kb/TBUGZILLA-3_5_1
-/down.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_1
-/header.png/1.1/Thu Feb  3 19:23:17 2005/-kb/TBUGZILLA-3_5_1
-/left.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_1
-/right.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_1
-/up.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_1
+/body-back.gif/1.1/Fri Mar 11 03:07:18 2005/-kb/TBUGZILLA-3_5_2
+/calendar.png/1.1/Thu Nov 29 02:20:30 2007/-kb/TBUGZILLA-3_5_2
+/down.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_2
+/header.png/1.1/Thu Feb  3 19:23:17 2005/-kb/TBUGZILLA-3_5_2
+/left.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_2
+/right.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_2
+/up.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_5_2
 D
diff --git a/skins/standard/global/CVS/Tag b/skins/standard/global/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/standard/global/CVS/Tag
+++ b/skins/standard/global/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/standard/index/CVS/Entries b/skins/standard/index/CVS/Entries
index 4e05eed86551017bbb0c4e377db0f0d0dc077eb3..e5df3dfd13a7888304cee583bafb31f7ed725067 100644
--- a/skins/standard/index/CVS/Entries
+++ b/skins/standard/index/CVS/Entries
@@ -1,4 +1,4 @@
-/account.gif/1.1/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_5_1
-/bug.gif/1.3/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_5_1
-/search.gif/1.1/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_5_1
+/account.gif/1.1/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_5_2
+/bug.gif/1.3/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_5_2
+/search.gif/1.1/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_5_2
 D
diff --git a/skins/standard/index/CVS/Tag b/skins/standard/index/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/standard/index/CVS/Tag
+++ b/skins/standard/index/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/skins/standard/yui/CVS/Entries b/skins/standard/yui/CVS/Entries
index 7486dde6c91ba37f9fd552dc1489b536fae9e1b7..80073efecdd1629eda0876ba81e07d3d24b2725a 100644
--- a/skins/standard/yui/CVS/Entries
+++ b/skins/standard/yui/CVS/Entries
@@ -1,3 +1,3 @@
-/calendar.css/1.2/Thu Jan 15 01:01:25 2009//TBUGZILLA-3_5_1
-/sprite.png/1.2/Thu Jan 15 01:01:26 2009/-kb/TBUGZILLA-3_5_1
+/calendar.css/1.2/Thu Jan 15 01:01:25 2009//TBUGZILLA-3_5_2
+/sprite.png/1.2/Thu Jan 15 01:01:26 2009/-kb/TBUGZILLA-3_5_2
 D
diff --git a/skins/standard/yui/CVS/Tag b/skins/standard/yui/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/skins/standard/yui/CVS/Tag
+++ b/skins/standard/yui/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/summarize_time.cgi b/summarize_time.cgi
index 35ef5f33f10c01aa7228e080d56dafb105b99f35..6f9580ac29edc94dcf06e24478ee8eec89d53f65 100755
--- a/summarize_time.cgi
+++ b/summarize_time.cgi
@@ -259,7 +259,7 @@ my $vars = {};
 
 Bugzilla->switch_to_shadow_db();
 
-$user->in_group(Bugzilla->params->{"timetrackinggroup"})
+$user->is_timetracker
     || ThrowUserError("auth_failure", {group  => "time-tracking",
                                        action => "access",
                                        object => "timetracking_summaries"});
diff --git a/t/001compile.t b/t/001compile.t
index 07e47160acb59aa0fc141f01c0e12edbd982d710..3e42734921a72207d2c939aa835daa86ab1e1818 100644
--- a/t/001compile.t
+++ b/t/001compile.t
@@ -13,11 +13,11 @@
 # The Original Code are the Bugzilla Tests.
 # 
 # The Initial Developer of the Original Code is Zach Lipton
-# Portions created by Zach Lipton are 
-# Copyright (C) 2001 Zach Lipton.  All
-# Rights Reserved.
+# Portions created by Zach Lipton are Copyright (C) 2001 Zach Lipton.
+# All Rights Reserved.
 # 
 # Contributor(s): Zach Lipton <zach@zachlipton.com>
+#                 Max Kanat-Alexander <mkanat@bugzilla.org>
 
 
 #################
@@ -25,91 +25,77 @@
 ###Compilation###
 
 use strict;
+use 5.008001;
 use lib qw(. lib t);
-use Bugzilla::Constants;
 use Support::Files;
-
 use Test::More tests => scalar(@Support::Files::testitems);
 
-# Need this to get the available driver information
-use DBI;
-my @DBI_drivers = DBI->available_drivers;
-
-# Bugzilla requires Perl 5.8.1 now.  Checksetup will tell you this if you run it, but
-# it tests it in a polite/passive way that won't make it fail at compile time.  We'll
-# slip in a compile-time failure if it's missing here so a tinderbox on < 5.8.1 won't
-# pass and mistakenly let people think Bugzilla works on any perl below 5.8.1.
-require 5.008001;
-
-# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
-# This will handle verbosity for us automatically.
-my $fh;
-{
-    local $^W = 0;  # Don't complain about non-existent filehandles
-    if (-e \*Test::More::TESTOUT) {
-        $fh = \*Test::More::TESTOUT;
-    } elsif (-e \*Test::Builder::TESTOUT) {
-        $fh = \*Test::Builder::TESTOUT;
-    } else {
-        $fh = \*STDOUT;
-    }
+BEGIN { 
+    use_ok('Bugzilla::Constants');
+    use_ok('Bugzilla::Install::Requirements');
+    use_ok('Bugzilla');
 }
 
-my @testitems = @Support::Files::testitems;
-my $perlapp = "\"$^X\"";
-
-# Test the scripts by compiling them
+sub compile_file {
+    my ($file) = @_;
 
-foreach my $file (@testitems) {
-    $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
-    next if (!$file); # skip null entries
+    # Don't allow CPAN.pm to modify the global @INC, which the version
+    # shipped with Perl 5.8.8 does. (It gets loaded by 
+    # Bugzilla::Install::CPAN.)
+    local @INC = @INC;
 
-    # Skip mod_perl.pl in all cases. It doesn't compile correctly from the command line.
-    if ($file eq 'mod_perl.pl') {
-        ok(1, "Skipping mod_perl.pl");
-        next;
+    if ($file =~ s/\.pm$//) {
+        $file =~ s{/}{::}g;
+        use_ok($file);
+        return;
     }
 
-    # Check that we have a DBI module to support the DB, if this is a database
-    # module (but not Schema)
-    if ($file =~ m#Bugzilla/DB/([^/]+)\.pm$# && $file ne "Bugzilla/DB/Schema.pm") {
-        if (!grep(lc($_) =~ /$1/i, @DBI_drivers)) {
-            ok(1,$file." - Skipping, as the DBD module not installed");
-            next;
-        }
-    }
+    open(my $fh, $file);
+    my $bang = <$fh>;
+    close $fh;
 
-    open (FILE,$file);
-    my $bang = <FILE>;
-    close (FILE);
     my $T = "";
     if ($bang =~ m/#!\S*perl\s+-.*T/) {
         $T = "T";
     }
-    my $command = "$perlapp -c$T $file 2>&1";
-    my $loginfo=`$command`;
-    #print '@@'.$loginfo.'##';
-    if ($loginfo =~ /syntax ok$/im) {
-        # Special hack due to CPAN.pm on Windows with Cygwin installed throwing
-        # strings of the form "Set up gcc environment - 3.4.4 (cygming special,
-        # gdc 0.12, using dmd 0.125)". See bug 416047 for details.
-        if (ON_WINDOWS
-            && grep($_ eq $file, 'install-module.pl', 'Bugzilla/Install/CPAN.pm'))
-        {
-            $loginfo =~ s/^Set up gcc environment.*?\n//;
+
+    my $perl = qq{"$^X"};
+    my $output = `$perl -wc$T $file 2>&1`;
+    chomp($output);
+    my $return_val = $?;
+    $output =~ s/^\Q$file\E syntax OK$//ms;
+    diag($output) if $output;
+    ok(!$return_val, $file) or diag('--ERROR');
+}
+
+my @testitems = @Support::Files::testitems;
+my $file_features = map_files_to_features();
+
+# Test the scripts by compiling them
+foreach my $file (@testitems) {
+    # These were already compiled, above.
+    next if ($file eq 'Bugzilla.pm' 
+             or $file eq 'Bugzilla/Constants.pm'
+             or $file eq 'Bugzilla/Install/Requirements.pm');
+    SKIP: {
+        if ($file eq 'mod_perl.pl') {
+            skip 'mod_perl.pl cannot be compiled from the command line', 1;
         }
-        if ($loginfo ne "$file syntax OK\n") {
-            ok(0,$file." --WARNING");
-            print $fh $loginfo;
+        my $feature = $file_features->{$file};
+        if ($feature and !Bugzilla->feature($feature)) {
+            skip "$file: $feature not enabled", 1;
         }
-        else {
-            ok(1,$file);
+
+        # Check that we have a DBI module to support the DB, if this 
+        # is a database module (but not Schema)
+        if ($file =~ m{Bugzilla/DB/([^/]+)\.pm$}
+            and $file ne "Bugzilla/DB/Schema.pm") 
+        {
+            my $module = lc($1);
+            my $dbd = DB_MODULE->{$module}->{dbd}->{module};
+            eval("use $dbd; 1") or skip "$file: $dbd not installed", 1;
         }
-    }
-    else {
-        ok(0,$file." --ERROR");
-        print $fh $loginfo;
+
+        compile_file($file);
     }
 }      
-
-exit 0;
diff --git a/t/CVS/Entries b/t/CVS/Entries
index 7190526eb30962a63a544084fe49cf10cace0522..a78040d2ac1908d76789cca4be3f92e343a2c840 100644
--- a/t/CVS/Entries
+++ b/t/CVS/Entries
@@ -1,13 +1,13 @@
-/001compile.t/1.18/Fri Sep  4 21:08:52 2009//TBUGZILLA-3_5_1
-/002goodperl.t/1.15/Wed Sep  8 22:46:34 2004//TBUGZILLA-3_5_1
-/003safesys.t/1.6/Sun Dec  5 14:13:27 2004//TBUGZILLA-3_5_1
-/004template.t/1.40/Wed Mar  5 17:19:48 2008//TBUGZILLA-3_5_1
-/005whitespace.t/1.15/Mon Mar  2 21:24:28 2009//TBUGZILLA-3_5_1
-/006spellcheck.t/1.6/Wed Jul 25 14:47:20 2007//TBUGZILLA-3_5_1
-/007util.t/1.13/Thu Jul 16 01:30:52 2009//TBUGZILLA-3_5_1
-/008filter.t/1.31/Fri Sep  4 21:08:52 2009//TBUGZILLA-3_5_1
-/009bugwords.t/1.8/Wed Feb 25 19:24:46 2009//TBUGZILLA-3_5_1
-/010dependencies.t/1.1/Tue Sep  5 17:02:45 2006//TBUGZILLA-3_5_1
-/011pod.t/1.1/Tue Jul 26 14:23:50 2005//TBUGZILLA-3_5_1
-/012throwables.t/1.6/Fri Sep  4 21:08:52 2009//TBUGZILLA-3_5_1
+/001compile.t/1.20/Wed Nov 18 07:01:41 2009//TBUGZILLA-3_5_2
+/002goodperl.t/1.15/Wed Sep  8 22:46:34 2004//TBUGZILLA-3_5_2
+/003safesys.t/1.6/Sun Dec  5 14:13:27 2004//TBUGZILLA-3_5_2
+/004template.t/1.40/Wed Mar  5 17:19:48 2008//TBUGZILLA-3_5_2
+/005whitespace.t/1.15/Mon Mar  2 21:24:28 2009//TBUGZILLA-3_5_2
+/006spellcheck.t/1.6/Wed Jul 25 14:47:20 2007//TBUGZILLA-3_5_2
+/007util.t/1.13/Thu Jul 16 01:30:52 2009//TBUGZILLA-3_5_2
+/008filter.t/1.31/Fri Sep  4 21:08:52 2009//TBUGZILLA-3_5_2
+/009bugwords.t/1.8/Wed Feb 25 19:24:46 2009//TBUGZILLA-3_5_2
+/010dependencies.t/1.1/Tue Sep  5 17:02:45 2006//TBUGZILLA-3_5_2
+/011pod.t/1.1/Tue Jul 26 14:23:50 2005//TBUGZILLA-3_5_2
+/012throwables.t/1.6/Fri Sep  4 21:08:52 2009//TBUGZILLA-3_5_2
 D/Support////
diff --git a/t/CVS/Tag b/t/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/t/CVS/Tag
+++ b/t/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/t/Support/CVS/Entries b/t/Support/CVS/Entries
index fab4e586c587d25ca0c46490c3eb9b5e683e480f..279a4e3e64c571644dfbb98478b5d329dd3faeff 100644
--- a/t/Support/CVS/Entries
+++ b/t/Support/CVS/Entries
@@ -1,4 +1,4 @@
-/Files.pm/1.24/Wed Apr  8 08:53:14 2009//TBUGZILLA-3_5_1
-/Systemexec.pm/1.2/Fri Oct 19 22:39:51 2001//TBUGZILLA-3_5_1
-/Templates.pm/1.15/Tue Jul  4 22:25:47 2006//TBUGZILLA-3_5_1
+/Files.pm/1.25/Tue Nov 10 21:19:48 2009//TBUGZILLA-3_5_2
+/Systemexec.pm/1.2/Fri Oct 19 22:39:51 2001//TBUGZILLA-3_5_2
+/Templates.pm/1.15/Tue Jul  4 22:25:47 2006//TBUGZILLA-3_5_2
 D
diff --git a/t/Support/CVS/Tag b/t/Support/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/t/Support/CVS/Tag
+++ b/t/Support/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/t/Support/Files.pm b/t/Support/Files.pm
index 07f1c2f6cb369d62f76f2b5f1d7f485e2b5919a9..d24cc22644c6827a701f60b5747de802ce8b5512 100644
--- a/t/Support/Files.pm
+++ b/t/Support/Files.pm
@@ -25,44 +25,14 @@ package Support::Files;
 
 use File::Find;
 
-# exclude_deps is a hash of arrays listing the files to be excluded
-# if a module is not available
-#
 @additional_files = ();
-%exclude_deps = (
-    'XML::Twig' => ['importxml.pl'],
-    'Net::LDAP' => ['Bugzilla/Auth/Verify/LDAP.pm'],
-    'Authen::Radius' => ['Bugzilla/Auth/Verify/RADIUS.pm'],
-    'Email::Reply' => ['email_in.pl'],
-    'Email::MIME::Attachment::Stripper' => ['email_in.pl'],
-    'JSON::RPC' => ['Bugzilla/WebService/Server/JSONRPC.pm']
-);
-
 
 @files = glob('*');
 find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, 'Bugzilla');
 
-sub have_pkg {
-    my ($pkg) = @_;
-    my ($msg, $vnum, $vstr);
-    no strict 'refs';
-    eval { my $p; ($p = $pkg . ".pm") =~ s!::!/!g; require $p; };
-    return !($@);
-}
-
-@exclude_files    = ();
-foreach $dep (keys(%exclude_deps)) {
-    if (!have_pkg($dep)) {
-        push @exclude_files, @{$exclude_deps{$dep}};
-    }
-}
-
 sub isTestingFile {
     my ($file) = @_;
     my $exclude;
-    foreach $exclude (@exclude_files) {
-        if ($file eq $exclude) { return undef; } # get rid of excluded files.
-    }
 
     if ($file =~ /\.cgi$|\.pl$|\.pm$/) {
         return 1;
diff --git a/template/CVS/Entries b/template/CVS/Entries
index d6529331890c278bb41cff851955ad9918d521ca..9a7fdaf1ed3dbd8c703a7cdafe54302994957814 100644
--- a/template/CVS/Entries
+++ b/template/CVS/Entries
@@ -1,2 +1,2 @@
-/.cvsignore/1.3/Tue May  7 21:33:53 2002//TBUGZILLA-3_5_1
+/.cvsignore/1.3/Tue May  7 21:33:53 2002//TBUGZILLA-3_5_2
 D/en////
diff --git a/template/CVS/Tag b/template/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/CVS/Tag
+++ b/template/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/CVS/Entries b/template/en/CVS/Entries
index 1183572483097846cbd96c22d9dbfac42fd0631d..e3db144a58d219365a1b635573862701dde1af22 100644
--- a/template/en/CVS/Entries
+++ b/template/en/CVS/Entries
@@ -1,3 +1,3 @@
-/.cvsignore/1.1/Wed Apr 24 07:29:49 2002//TBUGZILLA-3_5_1
+/.cvsignore/1.1/Wed Apr 24 07:29:49 2002//TBUGZILLA-3_5_2
 D/default////
 D/extension////
diff --git a/template/en/CVS/Tag b/template/en/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/CVS/Tag
+++ b/template/en/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/CVS/Entries b/template/en/default/CVS/Entries
index 5e0710b1e90db5a85707ff560f09d3ace9186be5..8fd4fefdb6fd28d8268cad0701c71335d73a916b 100644
--- a/template/en/default/CVS/Entries
+++ b/template/en/default/CVS/Entries
@@ -1,9 +1,9 @@
-/config.js.tmpl/1.12/Wed Sep 24 02:55:22 2008//TBUGZILLA-3_5_1
-/config.rdf.tmpl/1.17/Thu Jan 29 21:00:24 2009//TBUGZILLA-3_5_1
-/filterexceptions.pl/1.131/Mon Oct 26 11:28:49 2009//TBUGZILLA-3_5_1
-/index.html.tmpl/1.47/Sat Oct 24 05:21:09 2009//TBUGZILLA-3_5_1
-/sidebar.xul.tmpl/1.27/Sun Mar  1 23:42:53 2009//TBUGZILLA-3_5_1
-/welcome-admin.html.tmpl/1.5/Sun Jan 25 22:41:37 2009//TBUGZILLA-3_5_1
+/config.js.tmpl/1.12/Wed Sep 24 02:55:22 2008//TBUGZILLA-3_5_2
+/config.rdf.tmpl/1.17/Thu Jan 29 21:00:24 2009//TBUGZILLA-3_5_2
+/filterexceptions.pl/1.131/Mon Oct 26 11:28:49 2009//TBUGZILLA-3_5_2
+/index.html.tmpl/1.47/Sat Oct 24 05:21:09 2009//TBUGZILLA-3_5_2
+/sidebar.xul.tmpl/1.27/Sun Mar  1 23:42:53 2009//TBUGZILLA-3_5_2
+/welcome-admin.html.tmpl/1.5/Sun Jan 25 22:41:37 2009//TBUGZILLA-3_5_2
 D/account////
 D/admin////
 D/attachment////
diff --git a/template/en/default/CVS/Tag b/template/en/default/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/CVS/Tag
+++ b/template/en/default/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/account/CVS/Entries b/template/en/default/account/CVS/Entries
index 1a071a2c96e0fcd2cf524ea9d298ae89f19658eb..33b9f63772887e73b2a39709fb794e3329139d02 100644
--- a/template/en/default/account/CVS/Entries
+++ b/template/en/default/account/CVS/Entries
@@ -1,7 +1,7 @@
-/cancel-token.txt.tmpl/1.16/Thu Jan  8 16:09:56 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.13/Tue Oct 28 21:27:20 2008//TBUGZILLA-3_5_1
-/created.html.tmpl/1.9/Mon Aug 20 18:24:40 2007//TBUGZILLA-3_5_1
-/profile-activity.html.tmpl/1.6/Mon Jul 20 04:17:40 2009//TBUGZILLA-3_5_1
+/cancel-token.txt.tmpl/1.16/Thu Jan  8 16:09:56 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.13/Tue Oct 28 21:27:20 2008//TBUGZILLA-3_5_2
+/created.html.tmpl/1.9/Mon Aug 20 18:24:40 2007//TBUGZILLA-3_5_2
+/profile-activity.html.tmpl/1.6/Mon Jul 20 04:17:40 2009//TBUGZILLA-3_5_2
 D/auth////
 D/email////
 D/password////
diff --git a/template/en/default/account/CVS/Tag b/template/en/default/account/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/account/CVS/Tag
+++ b/template/en/default/account/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/account/auth/CVS/Entries b/template/en/default/account/auth/CVS/Entries
index c8499230e8bc8b15994f557f38dd46a602063553..c539b03abb92f83c5fc8b1ad98f181e04a2fa989 100644
--- a/template/en/default/account/auth/CVS/Entries
+++ b/template/en/default/account/auth/CVS/Entries
@@ -1,3 +1,3 @@
-/login-small.html.tmpl/1.21/Fri Oct  9 04:31:12 2009//TBUGZILLA-3_5_1
-/login.html.tmpl/1.23/Sun Oct 18 23:35:01 2009//TBUGZILLA-3_5_1
+/login-small.html.tmpl/1.21/Fri Oct  9 04:31:12 2009//TBUGZILLA-3_5_2
+/login.html.tmpl/1.23/Sun Oct 18 23:35:01 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/account/auth/CVS/Tag b/template/en/default/account/auth/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/account/auth/CVS/Tag
+++ b/template/en/default/account/auth/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/account/email/CVS/Entries b/template/en/default/account/email/CVS/Entries
index 5340486e99b0618ba3a0d6a77890a6778bbc09f6..2464d55ed10ccfb15ef83cb62ce4af1c680d5a75 100644
--- a/template/en/default/account/email/CVS/Entries
+++ b/template/en/default/account/email/CVS/Entries
@@ -1,6 +1,6 @@
-/change-new.txt.tmpl/1.13/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_1
-/change-old.txt.tmpl/1.14/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_1
-/confirm-new.html.tmpl/1.6/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_1
-/confirm.html.tmpl/1.11/Mon Aug 20 18:24:41 2007//TBUGZILLA-3_5_1
-/request-new.txt.tmpl/1.7/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_1
+/change-new.txt.tmpl/1.13/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_2
+/change-old.txt.tmpl/1.14/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_2
+/confirm-new.html.tmpl/1.6/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_2
+/confirm.html.tmpl/1.11/Mon Aug 20 18:24:41 2007//TBUGZILLA-3_5_2
+/request-new.txt.tmpl/1.7/Thu Jan  8 16:10:00 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/account/email/CVS/Tag b/template/en/default/account/email/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/account/email/CVS/Tag
+++ b/template/en/default/account/email/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/account/password/CVS/Entries b/template/en/default/account/password/CVS/Entries
index 1de7d4ce34fde00366af5a432c67eeeb7d4dc9c2..0ff9ee45dc3a0bc47948c2487ed9776960ec86e1 100644
--- a/template/en/default/account/password/CVS/Entries
+++ b/template/en/default/account/password/CVS/Entries
@@ -1,3 +1,3 @@
-/forgotten-password.txt.tmpl/1.11/Thu Jan  8 16:10:04 2009//TBUGZILLA-3_5_1
-/set-forgotten-password.html.tmpl/1.8/Mon Aug 20 18:24:42 2007//TBUGZILLA-3_5_1
+/forgotten-password.txt.tmpl/1.11/Thu Jan  8 16:10:04 2009//TBUGZILLA-3_5_2
+/set-forgotten-password.html.tmpl/1.8/Mon Aug 20 18:24:42 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/account/password/CVS/Tag b/template/en/default/account/password/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/account/password/CVS/Tag
+++ b/template/en/default/account/password/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/account/prefs/CVS/Entries b/template/en/default/account/prefs/CVS/Entries
index d92a4e65bc5c88be7399076d08572b0eae361881..c8243f73360ec051a71a1db29adf2440dadaa594 100644
--- a/template/en/default/account/prefs/CVS/Entries
+++ b/template/en/default/account/prefs/CVS/Entries
@@ -1,7 +1,7 @@
-/account.html.tmpl/1.10/Sat Oct 18 16:33:33 2008//TBUGZILLA-3_5_1
-/email.html.tmpl/1.32/Wed Dec 10 18:26:55 2008//TBUGZILLA-3_5_1
-/permissions.html.tmpl/1.14/Fri Aug  8 01:26:38 2008//TBUGZILLA-3_5_1
-/prefs.html.tmpl/1.31/Mon Feb  2 19:21:10 2009//TBUGZILLA-3_5_1
-/saved-searches.html.tmpl/1.21/Tue Sep 15 16:52:09 2009//TBUGZILLA-3_5_1
-/settings.html.tmpl/1.6/Mon Aug 20 18:24:42 2007//TBUGZILLA-3_5_1
+/account.html.tmpl/1.10/Sat Oct 18 16:33:33 2008//TBUGZILLA-3_5_2
+/email.html.tmpl/1.32/Wed Dec 10 18:26:55 2008//TBUGZILLA-3_5_2
+/permissions.html.tmpl/1.14/Fri Aug  8 01:26:38 2008//TBUGZILLA-3_5_2
+/prefs.html.tmpl/1.31/Mon Feb  2 19:21:10 2009//TBUGZILLA-3_5_2
+/saved-searches.html.tmpl/1.21/Tue Sep 15 16:52:09 2009//TBUGZILLA-3_5_2
+/settings.html.tmpl/1.6/Mon Aug 20 18:24:42 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/account/prefs/CVS/Tag b/template/en/default/account/prefs/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/account/prefs/CVS/Tag
+++ b/template/en/default/account/prefs/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/CVS/Entries b/template/en/default/admin/CVS/Entries
index 2d7a4933c9e64c715c96ea6c786a28bd35a4d4ff..0f614361e942c6a5dcfa19effb52aa1614151981 100644
--- a/template/en/default/admin/CVS/Entries
+++ b/template/en/default/admin/CVS/Entries
@@ -1,7 +1,7 @@
-/admin.html.tmpl/1.7/Fri Aug  8 01:26:51 2008//TBUGZILLA-3_5_1
-/confirm-action.html.tmpl/1.3/Mon Feb  2 18:34:38 2009//TBUGZILLA-3_5_1
-/sudo.html.tmpl/1.8/Wed Nov 19 22:08:09 2008//TBUGZILLA-3_5_1
-/table.html.tmpl/1.11/Thu Jun 25 01:01:18 2009//TBUGZILLA-3_5_1
+/admin.html.tmpl/1.7/Fri Aug  8 01:26:51 2008//TBUGZILLA-3_5_2
+/confirm-action.html.tmpl/1.3/Mon Feb  2 18:34:38 2009//TBUGZILLA-3_5_2
+/sudo.html.tmpl/1.8/Wed Nov 19 22:08:09 2008//TBUGZILLA-3_5_2
+/table.html.tmpl/1.11/Thu Jun 25 01:01:18 2009//TBUGZILLA-3_5_2
 D/classifications////
 D/components////
 D/custom_fields////
diff --git a/template/en/default/admin/CVS/Tag b/template/en/default/admin/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/CVS/Tag
+++ b/template/en/default/admin/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/classifications/CVS/Entries b/template/en/default/admin/classifications/CVS/Entries
index 192fdc86cfc26664016ec11c3ea6fc50998427db..1b414030274dfb2b0a363407e688b652bd8f8b91 100644
--- a/template/en/default/admin/classifications/CVS/Entries
+++ b/template/en/default/admin/classifications/CVS/Entries
@@ -1,7 +1,7 @@
-/add.html.tmpl/1.6/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_1
-/del.html.tmpl/1.9/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.13/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.1/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_1
-/reclassify.html.tmpl/1.10/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_1
-/select.html.tmpl/1.8/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_5_1
+/add.html.tmpl/1.6/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_2
+/del.html.tmpl/1.9/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.13/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.1/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_2
+/reclassify.html.tmpl/1.10/Sat May 30 13:26:12 2009//TBUGZILLA-3_5_2
+/select.html.tmpl/1.8/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/classifications/CVS/Tag b/template/en/default/admin/classifications/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/classifications/CVS/Tag
+++ b/template/en/default/admin/classifications/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/components/CVS/Entries b/template/en/default/admin/components/CVS/Entries
index e32728f20c1dd434d8da1968c85785b5c7974756..3501fee26538b2178980bac76c910ae10dcd1739 100644
--- a/template/en/default/admin/components/CVS/Entries
+++ b/template/en/default/admin/components/CVS/Entries
@@ -1,7 +1,7 @@
-/confirm-delete.html.tmpl/1.13/Mon Jun  1 14:43:18 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.17/Tue Mar 17 16:22:52 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.16/Wed Nov 19 21:01:49 2008//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.4/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.7/Thu Jun 25 01:01:19 2009//TBUGZILLA-3_5_1
-/select-product.html.tmpl/1.4/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.13/Mon Jun  1 14:43:18 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.17/Tue Mar 17 16:22:52 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.16/Wed Nov 19 21:01:49 2008//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.4/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.7/Thu Jun 25 01:01:19 2009//TBUGZILLA-3_5_2
+/select-product.html.tmpl/1.4/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/components/CVS/Tag b/template/en/default/admin/components/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/components/CVS/Tag
+++ b/template/en/default/admin/components/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/custom_fields/CVS/Entries b/template/en/default/admin/custom_fields/CVS/Entries
index eb9610166e2dbb93ccb1bd949475e929171526d8..9bc92aac61054f75a14a3317f064226cddce8cb7 100644
--- a/template/en/default/admin/custom_fields/CVS/Entries
+++ b/template/en/default/admin/custom_fields/CVS/Entries
@@ -1,6 +1,6 @@
-/cf-js.js.tmpl/1.6/Wed Jul  8 09:22:14 2009//TBUGZILLA-3_5_1
-/confirm-delete.html.tmpl/1.1/Wed Feb  6 16:18:13 2008//TBUGZILLA-3_5_1
-/create.html.tmpl/1.12/Fri Nov  7 11:34:49 2008//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.12/Fri Nov  7 11:34:49 2008//TBUGZILLA-3_5_1
-/list.html.tmpl/1.8/Thu Jun 25 01:01:20 2009//TBUGZILLA-3_5_1
+/cf-js.js.tmpl/1.6/Wed Jul  8 09:22:14 2009//TBUGZILLA-3_5_2
+/confirm-delete.html.tmpl/1.1/Wed Feb  6 16:18:13 2008//TBUGZILLA-3_5_2
+/create.html.tmpl/1.12/Fri Nov  7 11:34:49 2008//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.12/Fri Nov  7 11:34:49 2008//TBUGZILLA-3_5_2
+/list.html.tmpl/1.8/Thu Jun 25 01:01:20 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/custom_fields/CVS/Tag b/template/en/default/admin/custom_fields/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/custom_fields/CVS/Tag
+++ b/template/en/default/admin/custom_fields/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/fieldvalues/CVS/Entries b/template/en/default/admin/fieldvalues/CVS/Entries
index db458d48733216428e5a93bb8dcbfa3fc73a6100..643c32e0d6c46b0fe00833d25b94a4544d46e5f6 100644
--- a/template/en/default/admin/fieldvalues/CVS/Entries
+++ b/template/en/default/admin/fieldvalues/CVS/Entries
@@ -1,7 +1,7 @@
-/confirm-delete.html.tmpl/1.14/Sun Jun 21 19:33:47 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.12/Fri Nov  7 11:34:50 2008//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.15/Fri Jul 17 22:40:09 2009//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.7/Fri Oct  3 01:40:18 2008//TBUGZILLA-3_5_1
-/list.html.tmpl/1.11/Fri Jul 17 22:40:10 2009//TBUGZILLA-3_5_1
-/select-field.html.tmpl/1.4/Mon Aug 20 18:24:46 2007//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.14/Sun Jun 21 19:33:47 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.12/Fri Nov  7 11:34:50 2008//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.15/Fri Jul 17 22:40:09 2009//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.7/Fri Oct  3 01:40:18 2008//TBUGZILLA-3_5_2
+/list.html.tmpl/1.11/Fri Jul 17 22:40:10 2009//TBUGZILLA-3_5_2
+/select-field.html.tmpl/1.4/Mon Aug 20 18:24:46 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/fieldvalues/CVS/Tag b/template/en/default/admin/fieldvalues/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/fieldvalues/CVS/Tag
+++ b/template/en/default/admin/fieldvalues/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/flag-type/CVS/Entries b/template/en/default/admin/flag-type/CVS/Entries
index 7eec1b47aa15b38437b68738f08b4133d567a294..3447bb3d867ca1cf7e7375ad1468b87eca8a4945 100644
--- a/template/en/default/admin/flag-type/CVS/Entries
+++ b/template/en/default/admin/flag-type/CVS/Entries
@@ -1,4 +1,4 @@
-/confirm-delete.html.tmpl/1.10/Mon Feb  2 18:59:18 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.26/Mon Oct 22 21:42:00 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.21/Fri Jul 31 15:57:22 2009//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.10/Mon Feb  2 18:59:18 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.26/Mon Oct 22 21:42:00 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.21/Fri Jul 31 15:57:22 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/flag-type/CVS/Tag b/template/en/default/admin/flag-type/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/flag-type/CVS/Tag
+++ b/template/en/default/admin/flag-type/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/groups/CVS/Entries b/template/en/default/admin/groups/CVS/Entries
index 5bcca16f73e0beec48cf86993e9e66e52c8f31a5..9477c68633c0d32a3a5051b4e29f55e485cfb250 100644
--- a/template/en/default/admin/groups/CVS/Entries
+++ b/template/en/default/admin/groups/CVS/Entries
@@ -1,6 +1,6 @@
-/confirm-remove.html.tmpl/1.5/Sun Dec 16 10:32:54 2007//TBUGZILLA-3_5_1
-/create.html.tmpl/1.14/Sat Oct 18 16:33:35 2008//TBUGZILLA-3_5_1
-/delete.html.tmpl/1.14/Tue Aug 18 23:19:57 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.19/Mon Aug 10 11:09:33 2009//TBUGZILLA-3_5_1
-/list.html.tmpl/1.14/Thu Jun 25 01:01:23 2009//TBUGZILLA-3_5_1
+/confirm-remove.html.tmpl/1.5/Sun Dec 16 10:32:54 2007//TBUGZILLA-3_5_2
+/create.html.tmpl/1.14/Sat Oct 18 16:33:35 2008//TBUGZILLA-3_5_2
+/delete.html.tmpl/1.14/Tue Aug 18 23:19:57 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.19/Mon Aug 10 11:09:33 2009//TBUGZILLA-3_5_2
+/list.html.tmpl/1.14/Thu Jun 25 01:01:23 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/groups/CVS/Tag b/template/en/default/admin/groups/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/groups/CVS/Tag
+++ b/template/en/default/admin/groups/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/keywords/CVS/Entries b/template/en/default/admin/keywords/CVS/Entries
index 66a52af5120e9c3d6ca48b3ce09ff2a74ac3d319..3b9fb45b3cdcbf78435bd32e1549c02ebcd39d4f 100644
--- a/template/en/default/admin/keywords/CVS/Entries
+++ b/template/en/default/admin/keywords/CVS/Entries
@@ -1,5 +1,5 @@
-/confirm-delete.html.tmpl/1.8/Mon Feb  2 18:59:19 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.9/Mon Aug 20 18:24:48 2007//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.10/Mon Aug 20 18:24:48 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.12/Mon Feb  2 18:59:20 2009//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.8/Mon Feb  2 18:59:19 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.9/Mon Aug 20 18:24:48 2007//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.10/Mon Aug 20 18:24:48 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.12/Mon Feb  2 18:59:20 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/keywords/CVS/Tag b/template/en/default/admin/keywords/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/keywords/CVS/Tag
+++ b/template/en/default/admin/keywords/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/milestones/CVS/Entries b/template/en/default/admin/milestones/CVS/Entries
index 1c50a0d8dcb415770027b72b4e6a9b5d17d786ed..86f9a77b285ec36c5270665c6a65ed53f7b3d818 100644
--- a/template/en/default/admin/milestones/CVS/Entries
+++ b/template/en/default/admin/milestones/CVS/Entries
@@ -1,7 +1,7 @@
-/confirm-delete.html.tmpl/1.9/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_1
-/create.html.tmpl/1.8/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.9/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.4/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.7/Thu Jun 25 01:01:24 2009//TBUGZILLA-3_5_1
-/select-product.html.tmpl/1.5/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.9/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_2
+/create.html.tmpl/1.8/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.9/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.4/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.7/Thu Jun 25 01:01:24 2009//TBUGZILLA-3_5_2
+/select-product.html.tmpl/1.5/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/milestones/CVS/Tag b/template/en/default/admin/milestones/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/milestones/CVS/Tag
+++ b/template/en/default/admin/milestones/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/params/CVS/Entries b/template/en/default/admin/params/CVS/Entries
index 3c7b322109b19af092e5e68acb8738e35dffd704..f15ecfcfc070387ccd7c1df3d3299f07ad248e16 100644
--- a/template/en/default/admin/params/CVS/Entries
+++ b/template/en/default/admin/params/CVS/Entries
@@ -1,20 +1,20 @@
-/admin.html.tmpl/1.5/Wed Dec 10 18:26:56 2008//TBUGZILLA-3_5_1
-/attachment.html.tmpl/1.8/Thu Aug 13 21:32:26 2009//TBUGZILLA-3_5_1
-/auth.html.tmpl/1.5/Sun Oct 18 23:35:01 2009//TBUGZILLA-3_5_1
-/bugchange.html.tmpl/1.8/Wed Dec 10 18:40:02 2008//TBUGZILLA-3_5_1
-/bugfields.html.tmpl/1.6/Fri Apr 17 22:27:39 2009//TBUGZILLA-3_5_1
-/bugmove.html.tmpl/1.3/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_1
-/common.html.tmpl/1.7/Thu Oct 16 17:12:10 2008//TBUGZILLA-3_5_1
-/core.html.tmpl/1.13/Fri Oct  9 04:31:13 2009//TBUGZILLA-3_5_1
-/dependencygraph.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_1
-/editparams.html.tmpl/1.8/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_1
-/groupsecurity.html.tmpl/1.7/Tue Mar 31 19:17:03 2009//TBUGZILLA-3_5_1
-/index.html.tmpl/1.3/Thu Jan 15 00:53:22 2009//TBUGZILLA-3_5_1
-/ldap.html.tmpl/1.8/Wed May 21 22:59:24 2008//TBUGZILLA-3_5_1
-/mta.html.tmpl/1.13/Wed Dec 24 03:43:48 2008//TBUGZILLA-3_5_1
-/patchviewer.html.tmpl/1.3/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_1
-/query.html.tmpl/1.7/Mon Jul 20 04:17:41 2009//TBUGZILLA-3_5_1
-/radius.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_1
-/shadowdb.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_1
-/usermatch.html.tmpl/1.4/Tue Mar 31 19:24:24 2009//TBUGZILLA-3_5_1
+/admin.html.tmpl/1.5/Wed Dec 10 18:26:56 2008//TBUGZILLA-3_5_2
+/attachment.html.tmpl/1.8/Thu Aug 13 21:32:26 2009//TBUGZILLA-3_5_2
+/auth.html.tmpl/1.5/Sun Oct 18 23:35:01 2009//TBUGZILLA-3_5_2
+/bugchange.html.tmpl/1.8/Wed Dec 10 18:40:02 2008//TBUGZILLA-3_5_2
+/bugfields.html.tmpl/1.6/Fri Apr 17 22:27:39 2009//TBUGZILLA-3_5_2
+/bugmove.html.tmpl/1.3/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_2
+/common.html.tmpl/1.8/Wed Nov 18 07:04:57 2009//TBUGZILLA-3_5_2
+/core.html.tmpl/1.13/Fri Oct  9 04:31:13 2009//TBUGZILLA-3_5_2
+/dependencygraph.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_2
+/editparams.html.tmpl/1.8/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_2
+/groupsecurity.html.tmpl/1.7/Tue Mar 31 19:17:03 2009//TBUGZILLA-3_5_2
+/index.html.tmpl/1.3/Thu Jan 15 00:53:22 2009//TBUGZILLA-3_5_2
+/ldap.html.tmpl/1.8/Wed May 21 22:59:24 2008//TBUGZILLA-3_5_2
+/mta.html.tmpl/1.13/Wed Dec 24 03:43:48 2008//TBUGZILLA-3_5_2
+/patchviewer.html.tmpl/1.3/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_2
+/query.html.tmpl/1.7/Mon Jul 20 04:17:41 2009//TBUGZILLA-3_5_2
+/radius.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_2
+/shadowdb.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_5_2
+/usermatch.html.tmpl/1.4/Tue Mar 31 19:24:24 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/params/CVS/Tag b/template/en/default/admin/params/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/params/CVS/Tag
+++ b/template/en/default/admin/params/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/params/common.html.tmpl b/template/en/default/admin/params/common.html.tmpl
index c23c2ca9a5078fe4ef9bd5bcaeb5a512e9072801..5b0d004295956aa5fd719f9947b0ce68bd88a143 100644
--- a/template/en/default/admin/params/common.html.tmpl
+++ b/template/en/default/admin/params/common.html.tmpl
@@ -22,6 +22,8 @@
   # panel: hash representing the current panel.
   #%]
 
+[% PROCESS "global/field-descs.none.tmpl" %]
+
 [% sortlist_separator = '---' %]
 
 <dl>
@@ -115,7 +117,17 @@
           [% FOREACH item = param.choices %]
             <option value="[% item FILTER html %]"
                     [% " selected=\"selected\"" IF item == Param(param.name) %]>
-              [% item FILTER html %]
+              [% IF param.name == "defaultseverity" %]
+                [% display_value("bug_severity", item) FILTER html %]
+              [% ELSIF param.name == "defaultplatform" %]
+                [% display_value("rep_platform", item) FILTER html %]
+              [% ELSIF param.name == "defaultopsys" %]
+                [% display_value("op_sys", item) FILTER html %]
+              [% ELSIF param.name == "duplicate_or_move_bug_status" %]
+                [% display_value("bug_status", item) FILTER html %]
+              [% ELSE %]
+                [% item FILTER html %]
+              [% END %]
             </option>
           [% END %]
         </select>
diff --git a/template/en/default/admin/products/CVS/Entries b/template/en/default/admin/products/CVS/Entries
index 48199c06626da130aa0d41aa16b1a4f25a483f49..7c4b3c0e03caef9ca67bc1ebf0e0b794b8ab2098 100644
--- a/template/en/default/admin/products/CVS/Entries
+++ b/template/en/default/admin/products/CVS/Entries
@@ -1,9 +1,9 @@
-/confirm-delete.html.tmpl/1.12/Wed May 20 23:10:13 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.8/Wed May 20 23:10:12 2009//TBUGZILLA-3_5_1
-/edit-common.html.tmpl/1.11/Wed Sep 30 22:34:31 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.14/Thu Aug 14 16:36:10 2008//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.13/Tue Nov  3 23:48:32 2009//TBUGZILLA-3_5_1
-/list-classifications.html.tmpl/1.4/Thu Sep 20 21:23:44 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.7/Wed May 20 23:10:12 2009//TBUGZILLA-3_5_1
-/updated.html.tmpl/1.9/Wed May 20 23:10:13 2009//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.12/Wed May 20 23:10:13 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.8/Wed May 20 23:10:12 2009//TBUGZILLA-3_5_2
+/edit-common.html.tmpl/1.11/Wed Sep 30 22:34:31 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.14/Thu Aug 14 16:36:10 2008//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.13/Tue Nov  3 23:48:32 2009//TBUGZILLA-3_5_2
+/list-classifications.html.tmpl/1.4/Thu Sep 20 21:23:44 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.7/Wed May 20 23:10:12 2009//TBUGZILLA-3_5_2
+/updated.html.tmpl/1.9/Wed May 20 23:10:13 2009//TBUGZILLA-3_5_2
 D/groupcontrol////
diff --git a/template/en/default/admin/products/CVS/Tag b/template/en/default/admin/products/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/products/CVS/Tag
+++ b/template/en/default/admin/products/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/products/groupcontrol/CVS/Entries b/template/en/default/admin/products/groupcontrol/CVS/Entries
index 55e278a40876da2222073e2d0fc6ac4acd787974..c8ae32c2f16e868894e0a948d200e84476f71b25 100644
--- a/template/en/default/admin/products/groupcontrol/CVS/Entries
+++ b/template/en/default/admin/products/groupcontrol/CVS/Entries
@@ -1,4 +1,4 @@
-/confirm-edit.html.tmpl/1.9/Mon Aug 20 18:24:52 2007//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.12/Thu Aug 14 16:36:11 2008//TBUGZILLA-3_5_1
-/updated.html.tmpl/1.4/Thu Aug 14 16:36:11 2008//TBUGZILLA-3_5_1
+/confirm-edit.html.tmpl/1.9/Mon Aug 20 18:24:52 2007//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.12/Thu Aug 14 16:36:11 2008//TBUGZILLA-3_5_2
+/updated.html.tmpl/1.4/Thu Aug 14 16:36:11 2008//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/products/groupcontrol/CVS/Tag b/template/en/default/admin/products/groupcontrol/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/products/groupcontrol/CVS/Tag
+++ b/template/en/default/admin/products/groupcontrol/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/sanitycheck/CVS/Entries b/template/en/default/admin/sanitycheck/CVS/Entries
index 7d5a5700e5b5b70ff041a15fb467f81d89f6051c..6a90be1d05aea78edcfa7552c386be31403f630d 100644
--- a/template/en/default/admin/sanitycheck/CVS/Entries
+++ b/template/en/default/admin/sanitycheck/CVS/Entries
@@ -1,3 +1,3 @@
-/list.html.tmpl/1.2/Mon Aug 20 18:24:53 2007//TBUGZILLA-3_5_1
-/messages.html.tmpl/1.11/Mon Sep 21 22:10:18 2009//TBUGZILLA-3_5_1
+/list.html.tmpl/1.2/Mon Aug 20 18:24:53 2007//TBUGZILLA-3_5_2
+/messages.html.tmpl/1.11/Mon Sep 21 22:10:18 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/sanitycheck/CVS/Tag b/template/en/default/admin/sanitycheck/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/sanitycheck/CVS/Tag
+++ b/template/en/default/admin/sanitycheck/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/settings/CVS/Entries b/template/en/default/admin/settings/CVS/Entries
index 49bc9a90fa303567ad71d24e68557c42eada0ff6..79b06f9f85dd8d22ebb4c5a8dd8c4f9c1de313d1 100644
--- a/template/en/default/admin/settings/CVS/Entries
+++ b/template/en/default/admin/settings/CVS/Entries
@@ -1,2 +1,2 @@
-/edit.html.tmpl/1.9/Sun Jan 27 23:14:25 2008//TBUGZILLA-3_5_1
+/edit.html.tmpl/1.9/Sun Jan 27 23:14:25 2008//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/settings/CVS/Tag b/template/en/default/admin/settings/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/settings/CVS/Tag
+++ b/template/en/default/admin/settings/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/users/CVS/Entries b/template/en/default/admin/users/CVS/Entries
index 21d2a41768d9d87e76862f11ee7533af065016a0..746d56bfc4c89f1791d3664c45b75d6d00369661 100644
--- a/template/en/default/admin/users/CVS/Entries
+++ b/template/en/default/admin/users/CVS/Entries
@@ -1,9 +1,9 @@
-/confirm-delete.html.tmpl/1.25/Fri Jan 23 22:22:12 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.5/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.15/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.7/Thu Jun 25 01:01:44 2009//TBUGZILLA-3_5_1
-/listselectvars.html.tmpl/1.2/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_1
-/responsibilities.html.tmpl/1.2/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_1
-/search.html.tmpl/1.6/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_1
-/userdata.html.tmpl/1.13/Fri Aug  8 01:26:58 2008//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.25/Fri Jan 23 22:22:12 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.5/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.15/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.7/Thu Jun 25 01:01:44 2009//TBUGZILLA-3_5_2
+/listselectvars.html.tmpl/1.2/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_2
+/responsibilities.html.tmpl/1.2/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_2
+/search.html.tmpl/1.6/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_5_2
+/userdata.html.tmpl/1.13/Fri Aug  8 01:26:58 2008//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/users/CVS/Tag b/template/en/default/admin/users/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/users/CVS/Tag
+++ b/template/en/default/admin/users/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/versions/CVS/Entries b/template/en/default/admin/versions/CVS/Entries
index f05b66d340000e50a200bdc0064506580fd7df29..dd94d4bc52f24cad10b6601fe9c58852bc5b53e1 100644
--- a/template/en/default/admin/versions/CVS/Entries
+++ b/template/en/default/admin/versions/CVS/Entries
@@ -1,7 +1,7 @@
-/confirm-delete.html.tmpl/1.8/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_1
-/create.html.tmpl/1.7/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.7/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.4/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_1
-/list.html.tmpl/1.5/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_1
-/select-product.html.tmpl/1.4/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_1
+/confirm-delete.html.tmpl/1.8/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_2
+/create.html.tmpl/1.7/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.7/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.4/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_2
+/list.html.tmpl/1.5/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_2
+/select-product.html.tmpl/1.4/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/versions/CVS/Tag b/template/en/default/admin/versions/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/versions/CVS/Tag
+++ b/template/en/default/admin/versions/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/workflow/CVS/Entries b/template/en/default/admin/workflow/CVS/Entries
index 7cc24cb94202679462071f1109fdd67ce0c60a83..a1aca188c89135605488002d8f1bddca1ea09e8a 100644
--- a/template/en/default/admin/workflow/CVS/Entries
+++ b/template/en/default/admin/workflow/CVS/Entries
@@ -1,3 +1,3 @@
-/comment.html.tmpl/1.4/Mon Oct  6 21:09:53 2008//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.7/Wed Sep 30 22:34:50 2009//TBUGZILLA-3_5_1
+/comment.html.tmpl/1.5/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.8/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/admin/workflow/CVS/Tag b/template/en/default/admin/workflow/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/admin/workflow/CVS/Tag
+++ b/template/en/default/admin/workflow/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/admin/workflow/comment.html.tmpl b/template/en/default/admin/workflow/comment.html.tmpl
index 2fa78f00353f182103533d4c9fbc3245bbdaafb2..a7a6a74c23b5096648ff8be7117e70dc97248e86 100644
--- a/template/en/default/admin/workflow/comment.html.tmpl
+++ b/template/en/default/admin/workflow/comment.html.tmpl
@@ -49,7 +49,7 @@
     <th>&nbsp;</th>
     [% FOREACH status = statuses %]
       <th class="col-header[% status.is_open ? " open-status" : " closed-status" %]">
-        [% status.name FILTER html %]
+        [% display_value("bug_status", status.name) FILTER html %]
       </th>
     [% END %]
   </tr>
@@ -59,7 +59,7 @@
   [% FOREACH status = p.merge(statuses) %]
     <tr class="highlight">
       <th align="right" class="[% status.is_open ? "open-status" : "closed-status" %]">
-        [% status.name FILTER html %]
+        [% display_value("bug_status", status.name) FILTER html %]
       </th>
 
       [% FOREACH new_status = statuses %]
diff --git a/template/en/default/admin/workflow/edit.html.tmpl b/template/en/default/admin/workflow/edit.html.tmpl
index 787937989f13b5c5dde70803c6de6526e2d947c7..406c08a210034806ca29766788f1b8bcb9fbea0f 100644
--- a/template/en/default/admin/workflow/edit.html.tmpl
+++ b/template/en/default/admin/workflow/edit.html.tmpl
@@ -54,7 +54,7 @@
     <th>&nbsp;</th>
     [% FOREACH status = statuses %]
       <th class="col-header[% status.is_open ? " open-status" : " closed-status" %]">
-        [% status.name FILTER html %]
+        [% display_value("bug_status", status.name) FILTER html %]
       </th>
     [% END %]
   </tr>
@@ -64,7 +64,7 @@
   [% FOREACH status = p.merge(statuses) %]
     <tr class="highlight">
       <th align="right" class="[% status.is_open ? "open-status" : "closed-status" %]">
-        [% status.name FILTER html %]
+        [% display_value("bug_status", status.name) FILTER html %]
       </th>
 
       [% FOREACH new_status = statuses %]
@@ -89,7 +89,7 @@
 <p>
   When [% terms.abug %] is marked as a duplicate of another one or is moved
   to another installation, the [% terms.bug %] status is automatically set to
-  <b>[% Param("duplicate_or_move_bug_status") FILTER html %]</b>. All transitions to
+  <b>[% display_value("bug_status", Param("duplicate_or_move_bug_status")) FILTER html %]</b>. All transitions to
   this [% terms.bug %] status must then be valid (this is the reason why you cannot edit
   them above).<br>
   Note: you can change this setting by visiting the
diff --git a/template/en/default/attachment/CVS/Entries b/template/en/default/attachment/CVS/Entries
index aa5f8417cad4ab5b37749ac290c62a4b558ae224..00e8117b0a537188b39374cdf7f84d62896d1649 100644
--- a/template/en/default/attachment/CVS/Entries
+++ b/template/en/default/attachment/CVS/Entries
@@ -1,17 +1,17 @@
-/cancel-create-dupe.html.tmpl/1.2/Fri Jun 27 19:56:25 2008//TBUGZILLA-3_5_1
-/choose.html.tmpl/1.6/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_1
-/confirm-delete.html.tmpl/1.7/Mon Mar  9 22:10:17 2009//TBUGZILLA-3_5_1
-/content-types.html.tmpl/1.6/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_1
-/create.html.tmpl/1.43/Wed Sep 30 22:35:15 2009//TBUGZILLA-3_5_1
-/created.html.tmpl/1.24/Mon Oct 19 02:09:39 2009//TBUGZILLA-3_5_1
-/createformcontents.html.tmpl/1.4/Fri May 29 00:59:42 2009//TBUGZILLA-3_5_1
-/delete_reason.txt.tmpl/1.3/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_1
-/diff-file.html.tmpl/1.8/Thu Jul  9 15:46:56 2009//TBUGZILLA-3_5_1
-/diff-footer.html.tmpl/1.4/Sun Sep 27 16:19:02 2009//TBUGZILLA-3_5_1
-/diff-header.html.tmpl/1.23/Sun Sep 27 16:19:02 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.63/Fri Oct 23 21:32:07 2009//TBUGZILLA-3_5_1
-/list.html.tmpl/1.42/Wed Sep 30 22:39:31 2009//TBUGZILLA-3_5_1
-/midair.html.tmpl/1.2/Fri Feb  8 23:19:10 2008//TBUGZILLA-3_5_1
-/show-multiple.html.tmpl/1.27/Fri Oct 23 21:32:07 2009//TBUGZILLA-3_5_1
-/updated.html.tmpl/1.22/Mon Oct 19 02:09:39 2009//TBUGZILLA-3_5_1
+/cancel-create-dupe.html.tmpl/1.2/Fri Jun 27 19:56:25 2008//TBUGZILLA-3_5_2
+/choose.html.tmpl/1.6/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_2
+/confirm-delete.html.tmpl/1.7/Mon Mar  9 22:10:17 2009//TBUGZILLA-3_5_2
+/content-types.html.tmpl/1.6/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_2
+/create.html.tmpl/1.44/Tue Nov 10 16:00:24 2009//TBUGZILLA-3_5_2
+/created.html.tmpl/1.24/Mon Oct 19 02:09:39 2009//TBUGZILLA-3_5_2
+/createformcontents.html.tmpl/1.4/Fri May 29 00:59:42 2009//TBUGZILLA-3_5_2
+/delete_reason.txt.tmpl/1.3/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_2
+/diff-file.html.tmpl/1.8/Thu Jul  9 15:46:56 2009//TBUGZILLA-3_5_2
+/diff-footer.html.tmpl/1.4/Sun Sep 27 16:19:02 2009//TBUGZILLA-3_5_2
+/diff-header.html.tmpl/1.23/Sun Sep 27 16:19:02 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.63/Fri Oct 23 21:32:07 2009//TBUGZILLA-3_5_2
+/list.html.tmpl/1.43/Mon Nov 16 16:33:12 2009//TBUGZILLA-3_5_2
+/midair.html.tmpl/1.2/Fri Feb  8 23:19:10 2008//TBUGZILLA-3_5_2
+/show-multiple.html.tmpl/1.27/Fri Oct 23 21:32:07 2009//TBUGZILLA-3_5_2
+/updated.html.tmpl/1.22/Mon Oct 19 02:09:39 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/attachment/CVS/Tag b/template/en/default/attachment/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/attachment/CVS/Tag
+++ b/template/en/default/attachment/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/attachment/create.html.tmpl b/template/en/default/attachment/create.html.tmpl
index 72844a36e3fd57f9666622233b1a3b06b32a65f2..a6eb038247aa7435697fc3710db148ac6c75487d 100644
--- a/template/en/default/attachment/create.html.tmpl
+++ b/template/en/default/attachment/create.html.tmpl
@@ -55,8 +55,7 @@
         <em>(optional) Check each existing attachment made obsolete by your new attachment.</em><br>
         [% IF attachments.size %]
           [% FOREACH attachment = attachments %]
-            [% IF ((attachment.isprivate == 0) || (Param("insidergroup")
-              && user.in_group(Param("insidergroup")))) %]
+            [% IF ((attachment.isprivate == 0) || user.is_insider) %]
               <input type="checkbox" id="[% attachment.id %]"
                    name="obsolete" value="[% attachment.id %]">
               <a href="attachment.cgi?id=[% attachment.id %]&amp;action=edit">[% attachment.id %]: [% attachment.description FILTER html %]</a><br>
@@ -108,7 +107,7 @@
         %]
       </td>
     </tr>
-    [% IF (Param("insidergroup") && user.in_group(Param("insidergroup"))) %]
+    [% IF user.is_insider %]
       <tr>
         <th>Privacy:</th>
         <td>
diff --git a/template/en/default/attachment/list.html.tmpl b/template/en/default/attachment/list.html.tmpl
index bd597e48b58904fa661cc257f04321a54ac0044e..6453b4e685ac1aa741668c4aa3ac42a2ece93736 100644
--- a/template/en/default/attachment/list.html.tmpl
+++ b/template/en/default/attachment/list.html.tmpl
@@ -65,7 +65,11 @@ function toggle_display(link) {
       [% IF attachment.isobsolete %]
         [% obsolete_attachments = obsolete_attachments + 1 %]
       [% END %]
-      <tr class="[% "bz_private" IF attachment.isprivate %]
+      <tr class="[% "bz_contenttype_" _ attachment.contenttype
+                     FILTER css_class_quote UNLESS attachment.isurl %]
+                 [% " bz_patch" IF attachment.ispatch %]
+                 [% " bz_url" IF attachment.isurl %]
+                 [% " bz_private" IF attachment.isprivate %]
                  [% " bz_tr_obsolete bz_default_hidden" 
                      IF attachment.isobsolete %]">
         <td valign="top">
diff --git a/template/en/default/bug/CVS/Entries b/template/en/default/bug/CVS/Entries
index e81e7817fe9aa9353093a18f082cbb103a011d07..6d9d823cfaab10aedd1362e459943774fbbb0dea 100644
--- a/template/en/default/bug/CVS/Entries
+++ b/template/en/default/bug/CVS/Entries
@@ -1,18 +1,18 @@
-/choose.html.tmpl/1.8/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_1
-/comments.html.tmpl/1.43/Wed Sep 30 23:43:47 2009//TBUGZILLA-3_5_1
-/dependency-graph.html.tmpl/1.14/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_1
-/dependency-tree.html.tmpl/1.32/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_5_1
-/edit.html.tmpl/1.167/Fri Oct  9 04:31:13 2009//TBUGZILLA-3_5_1
-/field-events.js.tmpl/1.2/Sun Jun 21 19:33:48 2009//TBUGZILLA-3_5_1
-/field.html.tmpl/1.32/Wed Sep 30 22:33:18 2009//TBUGZILLA-3_5_1
-/format_comment.txt.tmpl/1.4/Sun Nov  1 20:12:27 2009//TBUGZILLA-3_5_1
-/knob.html.tmpl/1.44/Tue Oct  6 05:38:30 2009//TBUGZILLA-3_5_1
-/navigate.html.tmpl/1.13/Wed Aug 12 01:46:01 2009//TBUGZILLA-3_5_1
-/show-multiple.html.tmpl/1.45/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_5_1
-/show.html.tmpl/1.28/Mon Oct 19 02:09:39 2009//TBUGZILLA-3_5_1
-/show.xml.tmpl/1.33/Mon Oct 26 16:16:25 2009//TBUGZILLA-3_5_1
-/summarize-time.html.tmpl/1.16/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_5_1
-/time.html.tmpl/1.3/Mon Aug 20 18:24:58 2007//TBUGZILLA-3_5_1
+/choose.html.tmpl/1.8/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_2
+/comments.html.tmpl/1.45/Tue Nov 10 16:31:49 2009//TBUGZILLA-3_5_2
+/dependency-graph.html.tmpl/1.14/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_5_2
+/dependency-tree.html.tmpl/1.32/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_5_2
+/edit.html.tmpl/1.170/Tue Nov 10 16:31:49 2009//TBUGZILLA-3_5_2
+/field-events.js.tmpl/1.2/Sun Jun 21 19:33:48 2009//TBUGZILLA-3_5_2
+/field.html.tmpl/1.33/Mon Nov  9 19:12:53 2009//TBUGZILLA-3_5_2
+/format_comment.txt.tmpl/1.5/Tue Nov 10 01:36:05 2009//TBUGZILLA-3_5_2
+/knob.html.tmpl/1.44/Tue Oct  6 05:38:30 2009//TBUGZILLA-3_5_2
+/navigate.html.tmpl/1.13/Wed Aug 12 01:46:01 2009//TBUGZILLA-3_5_2
+/show-multiple.html.tmpl/1.48/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_5_2
+/show.html.tmpl/1.28/Mon Oct 19 02:09:39 2009//TBUGZILLA-3_5_2
+/show.xml.tmpl/1.36/Tue Nov 10 16:31:49 2009//TBUGZILLA-3_5_2
+/summarize-time.html.tmpl/1.16/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_5_2
+/time.html.tmpl/1.3/Mon Aug 20 18:24:58 2007//TBUGZILLA-3_5_2
 D/activity////
 D/create////
 D/process////
diff --git a/template/en/default/bug/CVS/Tag b/template/en/default/bug/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/bug/CVS/Tag
+++ b/template/en/default/bug/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/bug/activity/CVS/Entries b/template/en/default/bug/activity/CVS/Entries
index 8939cbab7722e27e5b9127b7ac547a465bc72f36..78682b096adda58116d3ebde39bd1b247b0b1845 100644
--- a/template/en/default/bug/activity/CVS/Entries
+++ b/template/en/default/bug/activity/CVS/Entries
@@ -1,3 +1,3 @@
-/show.html.tmpl/1.11/Thu Aug  6 15:02:57 2009//TBUGZILLA-3_5_1
-/table.html.tmpl/1.19/Mon Oct 26 11:28:50 2009//TBUGZILLA-3_5_1
+/show.html.tmpl/1.11/Thu Aug  6 15:02:57 2009//TBUGZILLA-3_5_2
+/table.html.tmpl/1.20/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/bug/activity/CVS/Tag b/template/en/default/bug/activity/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/bug/activity/CVS/Tag
+++ b/template/en/default/bug/activity/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/bug/activity/table.html.tmpl b/template/en/default/bug/activity/table.html.tmpl
index a467fe5f2cd9f71c93fae9d3fba055afe5144a3e..ae9dbcb80dc887a07713be8a5d2af480272006a5 100644
--- a/template/en/default/bug/activity/table.html.tmpl
+++ b/template/en/default/bug/activity/table.html.tmpl
@@ -80,15 +80,11 @@
                       change.fieldname == 'remaining_time' ||
                       change.fieldname == 'work_time' %]
                   [% PROCESS formattimeunit time_unit=change.removed %]
-                [% ELSIF change.fieldname == 'bug_status' %]
-                  [% display_value("bug_status", change.removed) FILTER html %]
-                [% ELSIF change.fieldname == 'resolution' %]
-                  [% display_value("resolution", change.removed) FILTER html %]
                 [% ELSIF change.fieldname == 'blocked' ||
                          change.fieldname == 'dependson' %]
                   [% change.removed FILTER bug_list_link FILTER none %]
                 [% ELSE %]
-                  [% change.removed FILTER email FILTER html %]
+                  [% display_value(change.fieldname, change.removed) FILTER email FILTER html %]
                 [% END %]
               [% ELSE %]
                 &nbsp;
@@ -100,15 +96,11 @@
                       change.fieldname == 'remaining_time' ||
                       change.fieldname == 'work_time' %]
                   [% PROCESS formattimeunit time_unit=change.added %]
-                [% ELSIF change.fieldname == 'bug_status' %]
-                  [% display_value("bug_status", change.added) FILTER html %]
-                [% ELSIF change.fieldname == 'resolution' %]
-                  [% display_value("resolution", change.added) FILTER html %]
                 [% ELSIF change.fieldname == 'blocked' ||
                          change.fieldname == 'dependson' %]
                   [% change.added FILTER bug_list_link FILTER none %]
                 [% ELSE %]
-                  [% change.added FILTER email FILTER html %]
+                  [% display_value(change.fieldname, change.added) FILTER email FILTER html %]
                 [% END %]
               [% ELSE %]
                 &nbsp;
diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl
index 2f9eeebf65f913300a97c6b283c41e1ae16127cc..9a04b71470a47a4fd7c84ac455d935c641a54b1f 100644
--- a/template/en/default/bug/comments.html.tmpl
+++ b/template/en/default/bug/comments.html.tmpl
@@ -94,7 +94,6 @@
 
 
 [% DEFAULT start_at = 0 mode = "show" %]
-[% isinsider = Param("insidergroup") && user.in_group(Param("insidergroup")) %]
 [% sort_order = user.settings.comment_sort_order.value %]
 
 [%# NOTE: (start_at > 0) means we came here from a midair collision,
@@ -145,8 +144,9 @@
 [%############################################################################%]
 
 [% BLOCK a_comment %]
-  [% IF NOT comment.isprivate || isinsider %]
-    <div class="bz_comment[% " bz_private" IF comment.isprivate %]
+  [% RETURN IF comment.is_private AND ! user.is_insider %]
+
+    <div class="bz_comment[% " bz_private" IF comment.is_private %]
                 [% " bz_comment_hilite" IF marks.$count %]
                 [% " bz_first_comment" IF count == description %]">
       [% IF count == description %]
@@ -168,7 +168,7 @@
           </span>
         [% END %]
 
-        [% IF mode == "edit" && isinsider %]
+        [% IF mode == "edit" && user.is_insider %]
           <div class="bz_private_checkbox">
             <input type="hidden" value="1"
                    name="defined_isprivate_[% comment.id %]">
@@ -176,7 +176,7 @@
                    name="isprivate_[% comment.id %]" value="1"
                    id="isprivate_[% comment.id %]"
                    onClick="updateCommentPrivacy(this, [% count %])"
-                   [% " checked=\"checked\"" IF comment.isprivate %]>
+                   [% " checked=\"checked\"" IF comment.is_private %]>
             <label for="isprivate_[% comment.id %]">Private</label>
           </div>
         [% END %]
@@ -201,11 +201,11 @@
         </span>
 
         <span class="bz_comment_time">
-          [%+ comment.time FILTER time %]
+          [%+ comment.creation_ts FILTER time %]
         </span>
       </div>
 
-      [% IF user.in_group(Param('timetrackinggroup')) &&
+      [% IF user.is_timetracker &&
             (comment.work_time > 0 || comment.work_time < 0) %]
          <br>
          Additional hours worked: 
@@ -215,15 +215,9 @@
 [%# Don't indent the <pre> block, since then the spaces are displayed in the
   # generated HTML
   #%]
-[% IF comment.already_wrapped %]
-    [% wrapped_comment = comment.body %]
-[% ELSE %]
-    [% wrapped_comment = comment.body FILTER wrap_comment %]
-[% END %]
 <pre class="bz_comment_text" 
      [% ' id="comment_text_' _ count _ '"' IF mode == "edit" %]>
-  [%- wrapped_comment FILTER quoteUrls(bug, comment) -%]
+  [%- comment.body_full({ wrap => 1 }) FILTER quoteUrls(bug, comment) -%]
 </pre>
     </div>
-  [% END %]
 [% END %]
diff --git a/template/en/default/bug/create/CVS/Entries b/template/en/default/bug/create/CVS/Entries
index 9d85f76fb73333679451c0677c0a5caae3d61869..471e9e5bc82392e47072b27389f5815fdb0ed88c 100644
--- a/template/en/default/bug/create/CVS/Entries
+++ b/template/en/default/bug/create/CVS/Entries
@@ -1,9 +1,9 @@
-/comment-guided.txt.tmpl/1.7/Thu Jan  1 23:11:59 2009//TBUGZILLA-3_5_1
-/comment.txt.tmpl/1.5/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_1
-/confirm-create-dupe.html.tmpl/1.4/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_1
-/create-guided.html.tmpl/1.45/Sun Feb  8 14:21:26 2009//TBUGZILLA-3_5_1
-/create.html.tmpl/1.97/Wed Sep 30 22:35:32 2009//TBUGZILLA-3_5_1
-/created.html.tmpl/1.17/Wed Aug 12 01:43:01 2009//TBUGZILLA-3_5_1
-/make-template.html.tmpl/1.10/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_1
-/user-message.html.tmpl/1.5/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_1
+/comment-guided.txt.tmpl/1.7/Thu Jan  1 23:11:59 2009//TBUGZILLA-3_5_2
+/comment.txt.tmpl/1.5/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_2
+/confirm-create-dupe.html.tmpl/1.4/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_2
+/create-guided.html.tmpl/1.45/Sun Feb  8 14:21:26 2009//TBUGZILLA-3_5_2
+/create.html.tmpl/1.100/Wed Nov 18 07:06:47 2009//TBUGZILLA-3_5_2
+/created.html.tmpl/1.17/Wed Aug 12 01:43:01 2009//TBUGZILLA-3_5_2
+/make-template.html.tmpl/1.10/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_2
+/user-message.html.tmpl/1.5/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/bug/create/CVS/Tag b/template/en/default/bug/create/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/bug/create/CVS/Tag
+++ b/template/en/default/bug/create/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl
index 1d31605636846b55a9f897a761ebee226e8abfb9..21f7959a2e0410b7a0532581efce2e5c2c0ff6b5 100644
--- a/template/en/default/bug/create/create.html.tmpl
+++ b/template/en/default/bug/create/create.html.tmpl
@@ -33,7 +33,7 @@
   style_urls = [ 'skins/standard/create_attachment.css',
                  'skins/standard/yui/calendar.css' ]
   javascript_urls = [ "js/attachment.js", "js/util.js", "js/yui/calendar.js",
-                      "js/field.js", "js/yui/cookie.js", "js/TUI.js" ]
+                      "js/field.js", "js/TUI.js" ]
   onload = 'set_assign_to();'
 %]
 
@@ -345,7 +345,7 @@ TUI_hide_default('expert_fields');
     <td>&nbsp;</td>
     [%# Calculate the number of rows we can use for flags %]
     [% num_rows = 6 + (Param("useqacontact") ? 1 : 0) +
-                      (user.in_group(Param('timetrackinggroup')) ? 3 : 0) +
+                      (user.is_timetracker ? 3 : 0) +
                       (Param("usebugaliases") ? 1 : 0)
     %]
 
@@ -427,7 +427,7 @@ TUI_hide_default('expert_fields');
     <td colspan="3">&nbsp;</td>
   </tr>
 
-[% IF user.in_group(Param('timetrackinggroup')) %]
+[% IF user.is_timetracker %]
   <tr>
     <th>Estimated Hours:</th>
     <td colspan="2">
@@ -664,11 +664,8 @@ TUI_hide_default('expert_fields');
     [%- FOREACH x = ${sel.name} %]
       <option value="[% x FILTER html %]"
         [% " selected=\"selected\"" IF x == default.${sel.name} %]>
-        [% IF sel.name == "bug_status" %]
-          [% display_value("bug_status", x) FILTER html %]
-        [% ELSE %]
-          [% x FILTER html %]
-        [% END %]</option>
+        [% display_value(sel.name, x) FILTER html %]
+      </option>
     [% END %]
     </select>
 
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl
index d5a34518271575a715f462f994537d59b958ecf0..813e80cb2c3a47275aa52a0b32dc678d4237d970 100644
--- a/template/en/default/bug/edit.html.tmpl
+++ b/template/en/default/bug/edit.html.tmpl
@@ -75,7 +75,7 @@
         replytext = prefix;
       [% END %]
 
-    [% IF Param("insidergroup") && user.in_group(Param("insidergroup")) %]
+    [% IF user.is_insider %]
       if (document.getElementById('isprivate_' + real_id).checked) {
           document.getElementById('newcommentprivacy').checked = 'checked';
       }
@@ -115,7 +115,7 @@
       return text;
   }
 
-[% IF user.in_group(Param('timetrackinggroup')) %]
+[% IF user.is_timetracker %]
   var fRemainingTime = [% bug.remaining_time %]; // holds the original value
   function adjustRemainingTime() {
       // subtracts time spent from remaining time
@@ -142,7 +142,7 @@
 <form name="changeform" method="post" action="process_bug.cgi">
 
   <input type="hidden" name="delta_ts" value="[% bug.delta_ts %]">
-  <input type="hidden" name="longdesclength" value="[% bug.longdescs.size %]">
+  <input type="hidden" name="longdesclength" value="[% bug.comments.size %]">
   <input type="hidden" name="id" value="[% bug.bug_id %]">
   <input type="hidden" name="token" value="[% issue_hash_token([bug.id, bug.delta_ts]) FILTER html %]">
 
@@ -213,7 +213,7 @@
 
   
   [% PROCESS section_restrict_visibility %]
-  [% IF user.in_group(Param('timetrackinggroup')) %]
+  [% IF user.is_timetracker %]
     <br>
     [% PROCESS section_timetracking %]
   [% END %]
@@ -287,7 +287,7 @@
         <hr>
         <div id="comments">
         [% PROCESS bug/comments.html.tmpl
-           comments = bug.longdescs
+           comments = bug.comments
            mode = user.id ? "edit" : "show"
          %]
         </div>
diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl
index 26735950dd582339ffa179e2fcc31889edc36756..bb678d79dfc97ee35635cf4319c19280a70cb597 100644
--- a/template/en/default/bug/field.html.tmpl
+++ b/template/en/default/bug/field.html.tmpl
@@ -70,6 +70,7 @@
     id="field_container_[% field.name FILTER html %]" 
     [% " colspan=\"$value_span\"" FILTER none IF value_span %]>
 [% END %]
+[% Hook.process('start_field_column') %]
 [% IF editable %]
   [% SWITCH field.type %]
     [% CASE constants.FIELD_TYPE_FREETEXT %]
@@ -210,4 +211,5 @@
 [% ELSE %]
   [% value.join(', ') FILTER html %]
 [% END %]
+[% Hook.process('end_field_column') %]
 [% '</td>' IF NOT no_tds %]
diff --git a/template/en/default/bug/format_comment.txt.tmpl b/template/en/default/bug/format_comment.txt.tmpl
index e0881e4e711057325ac0b81b93529a722d578b96..8e97d4d081b012afdd06fe6922571c2817014d52 100644
--- a/template/en/default/bug/format_comment.txt.tmpl
+++ b/template/en/default/bug/format_comment.txt.tmpl
@@ -23,23 +23,23 @@
   #%]
 
 [%# INTERFACE:
-  #   comment: A hash containing comment information.
-  #              count:           The comment number (on the bug it belongs to)
-  #              author:          The Bugzilla::User object of the comment's
-  #                               author
-  #              time:            The time at which the comment has been
-  #                               committed
-  #              body:            The comment text
-  #              type:            One of the CMT_* constants (not given if none
-  #                               applies)
-  #              extra_data:      Extra data (type specific)
-  #              already_wrapped: Determines whether the comment is pre-wrapped
+  #   comment: A Bugzilla::Comment object.
+  #   is_bugmail: boolean; True if this comment is going into a plain-text
+  #               bugmail.
   #%]
 
-[% PROCESS 'global/field-descs.none.tmpl' %]
+[%# Please don't use field-descs here. It can slow down Bugzilla. %]
+[% PROCESS 'global/variables.none.tmpl' %]
+
+[% SET comment_body = comment.body %]
+[% IF is_bugmail %]
+  [% comment_body = comment_body.replace( '(Created an attachment \(id=([0-9]+)\))',
+                                          '$1' _ "\n" _ ' --> (' _ urlbase 
+                                          _ 'attachment.cgi?id=$2)' ) %]
+[% END %]
 
 [% IF comment.type == constants.CMT_DUPE_OF %]
-X[% comment.body %]
+X[% comment_body %]
 
 *** This [% terms.bug %] has been marked as a duplicate of [% terms.bug %] [%+ comment.extra_data %] ***
 [% ELSIF comment.type == constants.CMT_HAS_DUPE %]
@@ -47,14 +47,13 @@ X[% comment.body %]
 [% ELSIF comment.type == constants.CMT_POPULAR_VOTES %]
 *** This [% terms.bug %] has been confirmed by popular vote. ***
 [% ELSIF comment.type == constants.CMT_MOVED_TO %]
-X[% comment.body %]
+X[% comment_body %]
 
 [%+ terms.Bug %] moved to [% Param("move-to-url") %].
 If the move succeeded, [% comment.extra_data %] will receive a mail containing
 the number of the new [% terms.bug %] in the other database.
-If all went well, please mark this [% terms.bug %]
-[%+ display_value("bug_status", 'VERIFIED') %], and paste in a link to the new [% terms.bug %].
+If all went well, please paste in a link to the new [% terms.bug %].
 Otherwise, reopen this [% terms.bug %].
 [% ELSE %]
-X[% comment.body %]
+X[% comment_body %]
 [% END %]
diff --git a/template/en/default/bug/process/CVS/Entries b/template/en/default/bug/process/CVS/Entries
index bd8f73d60500079d7f106f3f4f9afe03e1965710..b095786c6df035de8fccd72bf747645f1a9942c8 100644
--- a/template/en/default/bug/process/CVS/Entries
+++ b/template/en/default/bug/process/CVS/Entries
@@ -1,7 +1,7 @@
-/bugmail.html.tmpl/1.8/Mon Aug 20 18:25:01 2007//TBUGZILLA-3_5_1
-/confirm-duplicate.html.tmpl/1.12/Mon Aug 20 18:25:01 2007//TBUGZILLA-3_5_1
-/header.html.tmpl/1.14/Mon Oct 19 02:13:03 2009//TBUGZILLA-3_5_1
-/midair.html.tmpl/1.25/Tue Sep 22 19:18:32 2009//TBUGZILLA-3_5_1
-/results.html.tmpl/1.14/Mon Oct 19 02:13:04 2009//TBUGZILLA-3_5_1
-/verify-new-product.html.tmpl/1.27/Fri Oct  3 01:53:09 2008//TBUGZILLA-3_5_1
+/bugmail.html.tmpl/1.8/Mon Aug 20 18:25:01 2007//TBUGZILLA-3_5_2
+/confirm-duplicate.html.tmpl/1.12/Mon Aug 20 18:25:01 2007//TBUGZILLA-3_5_2
+/header.html.tmpl/1.14/Mon Oct 19 02:13:03 2009//TBUGZILLA-3_5_2
+/midair.html.tmpl/1.25/Tue Sep 22 19:18:32 2009//TBUGZILLA-3_5_2
+/results.html.tmpl/1.14/Mon Oct 19 02:13:04 2009//TBUGZILLA-3_5_2
+/verify-new-product.html.tmpl/1.28/Wed Nov 18 07:18:54 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/bug/process/CVS/Tag b/template/en/default/bug/process/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/bug/process/CVS/Tag
+++ b/template/en/default/bug/process/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/bug/process/verify-new-product.html.tmpl b/template/en/default/bug/process/verify-new-product.html.tmpl
index 2eeb9277e3d9ebfee3e1ffeb3bb6c85496776a89..1cc186c449763f6ce82becac7ae8db098a19424e 100644
--- a/template/en/default/bug/process/verify-new-product.html.tmpl
+++ b/template/en/default/bug/process/verify-new-product.html.tmpl
@@ -42,6 +42,7 @@
 [% IF verify_bug_groups %]
   [% exclude_items.push('bit-\d+') %]
 [% END %]
+[% Hook.process('exclude') %]
 
 [% PROCESS "global/hidden-fields.html.tmpl"
      exclude = '^' _ exclude_items.join('|') _ '$' %]
@@ -110,6 +111,7 @@
                  size=10 %]
       </td>
     [% END %]
+    [% Hook.process('field') %]
   </tr>
 </table>
 
diff --git a/template/en/default/bug/show-multiple.html.tmpl b/template/en/default/bug/show-multiple.html.tmpl
index 473453eb56bbb0dfcd642bdd75892a2e1120b41d..177bea14f0c66ce6dddf864f2b65cbbfcfdc8616 100644
--- a/template/en/default/bug/show-multiple.html.tmpl
+++ b/template/en/default/bug/show-multiple.html.tmpl
@@ -139,7 +139,7 @@
     <tr>
       <th>[% field_descs.bug_severity FILTER html %]:</th>
       <td class="bz_[% bug.bug_severity FILTER css_class_quote -%]">
-        [% bug.bug_severity FILTER html %]
+        [% display_value("bug_severity", bug.bug_severity) FILTER html %]
       </td>
 
       [% PROCESS rightcell %]
@@ -195,7 +195,7 @@
       [% PROCESS dependencies name = "blocked"  %]
     [% END %]
 
-    [% IF user.in_group(Param("timetrackinggroup")) %]
+    [% IF user.is_timetracker %]
       <tr>
         <th>Time tracking:</th>
         <td colspan="3">
@@ -289,7 +289,7 @@
   <br>
 
   [% PROCESS bug/comments.html.tmpl
-     comments = bug.longdescs %]
+     comments = bug.comments %]
 
 [% END %]
 
@@ -301,7 +301,7 @@
 [% BLOCK row %]
   <tr>
     <th>[% field_descs.${cell} FILTER html %]:</th>
-    <td[% " colspan=3" IF fullrow %]>[% bug.${cell} FILTER html %]</td>
+    <td[% " colspan=3" IF fullrow %]>[% display_value(cell, bug.${cell}) FILTER html %]</td>
     [% PROCESS rightcell IF !fullrow %]
   </tr>
   [% fullrow = 0 %]
@@ -357,7 +357,7 @@
         </td>
     [% ELSIF name != "" %]
       <th class="rightcell">[% field_descs.${name} FILTER html %]:</th>
-      <td>[% bug.${name} FILTER html %]</td>
+      <td>[% display_value(name, bug.${name}) FILTER html %]</td>
     [% ELSE %]
       <td>&nbsp;</td>
       <td>&nbsp;</td>
diff --git a/template/en/default/bug/show.xml.tmpl b/template/en/default/bug/show.xml.tmpl
index 1db320c4ff4d88d6d20acd020af375ac82897d94..31e56d299dd4369cec7b15496f14983e161099b1 100644
--- a/template/en/default/bug/show.xml.tmpl
+++ b/template/en/default/bug/show.xml.tmpl
@@ -65,23 +65,23 @@
       [% PROCESS section_flags obj => bug %]
 
       [% IF displayfields.long_desc %]
-        [% FOREACH c = bug.longdescs %]
-          [% NEXT IF c.isprivate && !user.in_group(Param("insidergroup")) %]
-          <long_desc isprivate="[% c.isprivate FILTER xml %]">
+        [% FOREACH c = bug.comments %]
+          [% NEXT IF c.is_private && !user.is_insider %]
+          <long_desc isprivate="[% c.is_private FILTER xml %]">
             <commentid>[% c.id FILTER xml %]</commentid>
             <who name="[% c.author.name FILTER xml %]">[% c.author.email FILTER email FILTER xml %]</who>
-            <bug_when>[% c.time FILTER time("%Y-%m-%d %T %z") FILTER xml %]</bug_when>
-            [% IF user.in_group(Param('timetrackinggroup')) && (c.work_time - 0 != 0) %]
+            <bug_when>[% c.creation_ts FILTER time("%Y-%m-%d %T %z") FILTER xml %]</bug_when>
+            [% IF user.is_timetracker && (c.work_time - 0 != 0) %]
               <work_time>[% PROCESS formattimeunit time_unit = c.work_time FILTER xml %]</work_time>
             [% END %]
-            <thetext>[% c.body FILTER xml %]</thetext>
+            <thetext>[% c.body_full FILTER xml %]</thetext>
           </long_desc>
         [% END %]
       [% END %]
       
       [% IF displayfields.attachment %]
         [% FOREACH a = bug.attachments %]
-          [% NEXT IF a.isprivate && !user.in_group(Param("insidergroup")) %]
+          [% NEXT IF a.isprivate && !user.is_insider %]
           <attachment
               isobsolete="[% a.isobsolete FILTER xml %]"
               ispatch="[% a.ispatch FILTER xml %]"
@@ -151,4 +151,4 @@
       [% END %]
     />
   [% END %]
-[% END %]
\ No newline at end of file
+[% END %]
diff --git a/template/en/default/bug/votes/CVS/Entries b/template/en/default/bug/votes/CVS/Entries
index 568da8867c9c3afdc219f6d4c070ab93edcffbc7..8091d65efe1b1cfde4b810c44bd3b1d2682540bf 100644
--- a/template/en/default/bug/votes/CVS/Entries
+++ b/template/en/default/bug/votes/CVS/Entries
@@ -1,4 +1,4 @@
-/delete-all.html.tmpl/1.8/Mon Aug 20 18:25:02 2007//TBUGZILLA-3_5_1
-/list-for-bug.html.tmpl/1.13/Thu Jan 29 21:22:32 2009//TBUGZILLA-3_5_1
-/list-for-user.html.tmpl/1.29/Thu Aug  6 15:02:59 2009//TBUGZILLA-3_5_1
+/delete-all.html.tmpl/1.8/Mon Aug 20 18:25:02 2007//TBUGZILLA-3_5_2
+/list-for-bug.html.tmpl/1.13/Thu Jan 29 21:22:32 2009//TBUGZILLA-3_5_2
+/list-for-user.html.tmpl/1.29/Thu Aug  6 15:02:59 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/bug/votes/CVS/Tag b/template/en/default/bug/votes/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/bug/votes/CVS/Tag
+++ b/template/en/default/bug/votes/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/email/CVS/Entries b/template/en/default/email/CVS/Entries
index d61301ea64d05f71bd312d2b9a9a86297f3402ee..aca4f1d27539758ace03ae6c839cd1f05d50831e 100644
--- a/template/en/default/email/CVS/Entries
+++ b/template/en/default/email/CVS/Entries
@@ -1,6 +1,6 @@
-/newchangedmail.txt.tmpl/1.16/Sun Nov  1 20:12:27 2009//TBUGZILLA-3_5_1
-/sanitycheck.txt.tmpl/1.4/Tue Jan 20 20:22:11 2009//TBUGZILLA-3_5_1
-/sudo.txt.tmpl/1.5/Mon Aug 20 18:25:02 2007//TBUGZILLA-3_5_1
-/votes-removed.txt.tmpl/1.5/Wed Apr  2 17:42:29 2008//TBUGZILLA-3_5_1
-/whine.txt.tmpl/1.8/Wed Sep 30 22:35:37 2009//TBUGZILLA-3_5_1
+/newchangedmail.txt.tmpl/1.17/Tue Nov 10 01:36:05 2009//TBUGZILLA-3_5_2
+/sanitycheck.txt.tmpl/1.4/Tue Jan 20 20:22:11 2009//TBUGZILLA-3_5_2
+/sudo.txt.tmpl/1.5/Mon Aug 20 18:25:02 2007//TBUGZILLA-3_5_2
+/votes-removed.txt.tmpl/1.5/Wed Apr  2 17:42:29 2008//TBUGZILLA-3_5_2
+/whine.txt.tmpl/1.8/Wed Sep 30 22:35:37 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/email/CVS/Tag b/template/en/default/email/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/email/CVS/Tag
+++ b/template/en/default/email/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/email/newchangedmail.txt.tmpl b/template/en/default/email/newchangedmail.txt.tmpl
index 9b1443bc2fbb89e760e4cc075b5ad622551731ac..368c237134a93cb6f13621ba697ca287b78c96ed 100644
--- a/template/en/default/email/newchangedmail.txt.tmpl
+++ b/template/en/default/email/newchangedmail.txt.tmpl
@@ -50,7 +50,7 @@ X-Bugzilla-Changed-Fields: [% changedfields %]
 [%- IF comment.count %]
 --- Comment #[% comment.count %] from [% comment.author.identity %] [%+ comment.time FILTER time %] ---
 [% END %]
-[%+ FILTER remove('^X') %][% PROCESS bug/format_comment.txt.tmpl %][% END %]
+[%+ comment.body_full({ is_bugmail => 1, wrap => 1 }) %]
 [% END %]
 
 -- [%# Protect the trailing space of the signature marker %]
diff --git a/template/en/default/flag/CVS/Entries b/template/en/default/flag/CVS/Entries
index 33d80f6e79fde8d929c95a02e4cc8c6e106a0e40..cb030c08ea534d56045e5eef091eefd931e167ad 100644
--- a/template/en/default/flag/CVS/Entries
+++ b/template/en/default/flag/CVS/Entries
@@ -1,2 +1,2 @@
-/list.html.tmpl/1.38/Fri Oct 23 21:32:08 2009//TBUGZILLA-3_5_1
+/list.html.tmpl/1.38/Fri Oct 23 21:32:08 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/flag/CVS/Tag b/template/en/default/flag/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/flag/CVS/Tag
+++ b/template/en/default/flag/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/global/CVS/Entries b/template/en/default/global/CVS/Entries
index 888acd01dad9c86c8e05bfa1ffe4fc5f950f83be..530cf4f78b6592788ee58671bedcd14638f5c6fb 100644
--- a/template/en/default/global/CVS/Entries
+++ b/template/en/default/global/CVS/Entries
@@ -1,30 +1,30 @@
-/banner.html.tmpl/1.11/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/choose-classification.html.tmpl/1.11/Wed Dec 10 18:43:36 2008//TBUGZILLA-3_5_1
-/choose-product.html.tmpl/1.19/Tue Jun  2 03:49:21 2009//TBUGZILLA-3_5_1
-/code-error.html.tmpl/1.120/Fri Oct 30 01:14:12 2009//TBUGZILLA-3_5_1
-/common-links.html.tmpl/1.25/Thu Aug 13 15:55:11 2009//TBUGZILLA-3_5_1
-/confirm-action.html.tmpl/1.1/Mon Feb  2 18:37:24 2009//TBUGZILLA-3_5_1
-/confirm-user-match.html.tmpl/1.20/Tue Mar 31 19:24:34 2009//TBUGZILLA-3_5_1
-/docslinks.html.tmpl/1.3/Thu Apr  3 19:05:50 2008//TBUGZILLA-3_5_1
-/field-descs.none.tmpl/1.37/Wed Sep 30 22:33:37 2009//TBUGZILLA-3_5_1
-/footer.html.tmpl/1.14/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/header.html.tmpl/1.64/Mon Sep 21 22:03:06 2009//TBUGZILLA-3_5_1
-/help.html.tmpl/1.6/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/hidden-fields.html.tmpl/1.11/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/initialize.none.tmpl/1.2/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/js-products.html.tmpl/1.3/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/message.html.tmpl/1.8/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/message.txt.tmpl/1.4/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/messages.html.tmpl/1.93/Sat Oct 24 05:30:21 2009//TBUGZILLA-3_5_1
-/per-bug-queries.html.tmpl/1.14/Fri Aug 21 21:33:31 2009//TBUGZILLA-3_5_1
-/select-menu.html.tmpl/1.6/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/setting-descs.none.tmpl/1.16/Wed Aug 19 21:40:07 2009//TBUGZILLA-3_5_1
-/site-navigation.html.tmpl/1.27/Wed Aug 12 01:43:13 2009//TBUGZILLA-3_5_1
-/tabs.html.tmpl/1.4/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_1
-/textarea.html.tmpl/1.4/Fri Oct 23 21:32:08 2009//TBUGZILLA-3_5_1
-/useful-links.html.tmpl/1.60/Tue Feb 24 00:35:39 2009//TBUGZILLA-3_5_1
-/user-error.html.tmpl/1.287/Sat Oct 24 05:30:21 2009//TBUGZILLA-3_5_1
-/user.html.tmpl/1.1/Thu Jan 29 21:22:33 2009//TBUGZILLA-3_5_1
-/userselect.html.tmpl/1.10/Mon Dec 29 00:02:20 2008//TBUGZILLA-3_5_1
-/variables.none.tmpl/1.8/Wed Feb 25 19:24:49 2009//TBUGZILLA-3_5_1
+/banner.html.tmpl/1.11/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/choose-classification.html.tmpl/1.11/Wed Dec 10 18:43:36 2008//TBUGZILLA-3_5_2
+/choose-product.html.tmpl/1.19/Tue Jun  2 03:49:21 2009//TBUGZILLA-3_5_2
+/code-error.html.tmpl/1.122/Wed Nov 18 14:34:04 2009//TBUGZILLA-3_5_2
+/common-links.html.tmpl/1.25/Thu Aug 13 15:55:11 2009//TBUGZILLA-3_5_2
+/confirm-action.html.tmpl/1.1/Mon Feb  2 18:37:24 2009//TBUGZILLA-3_5_2
+/confirm-user-match.html.tmpl/1.20/Tue Mar 31 19:24:34 2009//TBUGZILLA-3_5_2
+/docslinks.html.tmpl/1.3/Thu Apr  3 19:05:50 2008//TBUGZILLA-3_5_2
+/field-descs.none.tmpl/1.38/Wed Nov 18 07:04:59 2009//TBUGZILLA-3_5_2
+/footer.html.tmpl/1.14/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/header.html.tmpl/1.65/Wed Nov 18 07:06:47 2009//TBUGZILLA-3_5_2
+/help.html.tmpl/1.6/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/hidden-fields.html.tmpl/1.11/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/initialize.none.tmpl/1.2/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/js-products.html.tmpl/1.3/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/message.html.tmpl/1.8/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/message.txt.tmpl/1.4/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/messages.html.tmpl/1.93/Sat Oct 24 05:30:21 2009//TBUGZILLA-3_5_2
+/per-bug-queries.html.tmpl/1.14/Fri Aug 21 21:33:31 2009//TBUGZILLA-3_5_2
+/select-menu.html.tmpl/1.6/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/setting-descs.none.tmpl/1.16/Wed Aug 19 21:40:07 2009//TBUGZILLA-3_5_2
+/site-navigation.html.tmpl/1.27/Wed Aug 12 01:43:13 2009//TBUGZILLA-3_5_2
+/tabs.html.tmpl/1.4/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_5_2
+/textarea.html.tmpl/1.4/Fri Oct 23 21:32:08 2009//TBUGZILLA-3_5_2
+/useful-links.html.tmpl/1.60/Tue Feb 24 00:35:39 2009//TBUGZILLA-3_5_2
+/user-error.html.tmpl/1.287/Sat Oct 24 05:30:21 2009//TBUGZILLA-3_5_2
+/user.html.tmpl/1.1/Thu Jan 29 21:22:33 2009//TBUGZILLA-3_5_2
+/userselect.html.tmpl/1.10/Mon Dec 29 00:02:20 2008//TBUGZILLA-3_5_2
+/variables.none.tmpl/1.8/Wed Feb 25 19:24:49 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/global/CVS/Tag b/template/en/default/global/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/global/CVS/Tag
+++ b/template/en/default/global/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index 64bd41af3a9c1353eb1c67180946c1c3034d421a..c1ff611594ebe65bbbfca45a1e1b82016d7bd85e 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -327,7 +327,7 @@
     A valid quipid is needed.
 
   [% ELSIF error == "no_manual_moved" %]
-    You cannot set the resolution of [% terms.abug %] to MOVED without
+    You cannot set the resolution of [% terms.abug %] to [% display_value("resolution", "MOVED") FILTER html %] without
     moving the [% terms.bug %].
 
   [% ELSIF error == "no_open_bug_status" %]
diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl
index 278800594627cf8227d02efd6097baf47c7d5768..5012769ca0b74145ac6c35ae41370484beda95f0 100644
--- a/template/en/default/global/field-descs.none.tmpl
+++ b/template/en/default/global/field-descs.none.tmpl
@@ -146,6 +146,7 @@
   },
 
   "resolution" => {
+    ""        => "---",
     # "FIXED" => "NO LONGER AN ISSUE",
     # "MOVED" => "BYE-BYE",
   },
diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl
index f8044976db08fb73d94077c176c3f4b99c486b7e..904a89d45526f035473e97b00808c50c5d6163a3 100644
--- a/template/en/default/global/header.html.tmpl
+++ b/template/en/default/global/header.html.tmpl
@@ -191,6 +191,7 @@
     <![endif]-->
 
     <script src="js/yui/yahoo-dom-event.js" type="text/javascript"></script>
+    <script src="js/yui/cookie.js" type="text/javascript"></script>
     <script src="js/global.js" type="text/javascript"></script>
     <script type="text/javascript">
     <!--
@@ -199,6 +200,18 @@
             YAHOO.util.Event._simpleRemove(window, "unload", 
                                            YAHOO.util.Event._unload);
         }
+        [%# The language selector needs javascript to set its cookie,
+          # so it is hidden in HTML/CSS by the "bz_default_hidden" class.
+          # If the browser can run javascript, it will then "unhide"
+          # the language selector using the following code.
+          #%]
+        function unhide_language_selector() { 
+            YAHOO.util.Dom.removeClass(
+                'lang_links_container', 'bz_default_hidden'
+            ); 
+        } 
+        YAHOO.util.Event.onDOMReady(unhide_language_selector);
+
         [%# Make some Bugzilla information available to all scripts. 
           # We don't import every parameter and constant because we
           # don't want to add a lot of uncached JS to every page. 
@@ -278,9 +291,26 @@
 </tr>
 </table>
 
-[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
+<table id="lang_links_container" cellpadding="0" cellspacing="0"
+       class="bz_default_hidden"><tr><td>
+[% IF Bugzilla.languages.size > 1 %]
+  <ul class="links">
+  [% FOREACH lang = Bugzilla.languages.sort %]
+    <li>[% IF NOT loop.first %]<span class="separator"> | </span>[% END %]
+    [% IF lang == current_language %]
+      <span class="lang_current">[% lang FILTER html FILTER upper %]</span>
+    [% ELSE %]
+      <a href="#" onclick="set_language('[% lang FILTER none %]');">
+       [%- lang FILTER html FILTER upper %]</a>
+    [% END %]
+    </li>
+  [% END %]
+  </ul>
+[% END %]
+</td></tr></table>
 
-</div>
+[% PROCESS "global/common-links.html.tmpl" qs_suffix = "_top" %]
+</div> [%# header %]
 
 <div id="bugzilla-body">
 
diff --git a/template/en/default/list/CVS/Entries b/template/en/default/list/CVS/Entries
index 33d5e5aae5c27636e40064df6707656e902ff282..66e2319d9c271bd1794989a002554e7df91e23f3 100644
--- a/template/en/default/list/CVS/Entries
+++ b/template/en/default/list/CVS/Entries
@@ -1,13 +1,13 @@
-/change-columns.html.tmpl/1.20/Wed Feb 25 22:39:20 2009//TBUGZILLA-3_5_1
-/edit-multiple.html.tmpl/1.57/Wed Sep 30 22:35:40 2009//TBUGZILLA-3_5_1
-/list-simple.html.tmpl/1.12/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_1
-/list.atom.tmpl/1.6/Wed Aug 27 23:26:24 2008//TBUGZILLA-3_5_1
-/list.csv.tmpl/1.9/Wed Sep 30 22:35:40 2009//TBUGZILLA-3_5_1
-/list.html.tmpl/1.69/Thu Oct 29 04:46:17 2009//TBUGZILLA-3_5_1
-/list.ics.tmpl/1.11/Thu May 14 11:34:37 2009//TBUGZILLA-3_5_1
-/list.js.tmpl/1.3/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_1
-/list.rdf.tmpl/1.8/Wed Feb 11 15:45:27 2009//TBUGZILLA-3_5_1
-/quips.html.tmpl/1.24/Wed Nov  5 18:38:52 2008//TBUGZILLA-3_5_1
-/server-push.html.tmpl/1.7/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_1
-/table.html.tmpl/1.50/Mon Oct 26 00:22:53 2009//TBUGZILLA-3_5_1
+/change-columns.html.tmpl/1.20/Wed Feb 25 22:39:20 2009//TBUGZILLA-3_5_2
+/edit-multiple.html.tmpl/1.60/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_5_2
+/list-simple.html.tmpl/1.12/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_2
+/list.atom.tmpl/1.7/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_5_2
+/list.csv.tmpl/1.9/Wed Sep 30 22:35:40 2009//TBUGZILLA-3_5_2
+/list.html.tmpl/1.71/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_5_2
+/list.ics.tmpl/1.11/Thu May 14 11:34:37 2009//TBUGZILLA-3_5_2
+/list.js.tmpl/1.3/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_2
+/list.rdf.tmpl/1.8/Wed Feb 11 15:45:27 2009//TBUGZILLA-3_5_2
+/quips.html.tmpl/1.24/Wed Nov  5 18:38:52 2008//TBUGZILLA-3_5_2
+/server-push.html.tmpl/1.7/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_2
+/table.html.tmpl/1.51/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/list/CVS/Tag b/template/en/default/list/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/list/CVS/Tag
+++ b/template/en/default/list/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/list/edit-multiple.html.tmpl b/template/en/default/list/edit-multiple.html.tmpl
index fa8d3d1ae5b156edc207da5ea2adee19c958f9c4..11f3491f28064cac1d0bf704815f19f79503cea0 100644
--- a/template/en/default/list/edit-multiple.html.tmpl
+++ b/template/en/default/list/edit-multiple.html.tmpl
@@ -28,12 +28,15 @@
 <input type="hidden" name="token" value="[% token FILTER html %]">
 
 <script type="text/javascript">
-  var numelements = document.forms.changeform.elements.length;
   function SetCheckboxes(value) {
-      var item;
-      for (var i=0 ; i<numelements ; i++) {
-          item = document.forms.changeform.elements[i];
-          item.checked = value;
+      var elements = document.forms.changeform.getElementsByTagName('input'),
+          numelements = elements.length,
+          item, i;
+      for (i = 0; i < numelements; i++) {
+          item = elements[i];
+          if (item.type === 'checkbox' && item.name.match(/^id_/)) {
+            item.checked = value;
+          }
       }
   }
   document.write(' <input type="button" name="uncheck_all" value="Uncheck All" onclick="SetCheckboxes(false);">');
@@ -137,7 +140,7 @@
     <th><label for="bug_status">Status:</label></th>
     <td colspan="3">[% PROCESS status_section %]</td>
   </tr>
-  [% IF user.in_group(Param("timetrackinggroup")) %]
+  [% IF user.is_timetracker %]
     <tr>
       <th><label for="estimated_time">Estimated Hours:</label></th>
       <td>
@@ -365,7 +368,7 @@
     </option>
     [% FOREACH menuitem = menuitems %]
       [% IF property %][% menuitem = menuitem.$property %][% END %]
-      <option value="[% menuitem FILTER html %]">[% menuitem FILTER html %]</option>
+      <option value="[% menuitem FILTER html %]">[% display_value(menuname, menuitem) FILTER html %]</option>
     [% END %]
   </select>
 [% END %]
diff --git a/template/en/default/list/list.atom.tmpl b/template/en/default/list/list.atom.tmpl
index 5086a044c66fa286f932f41a903a927ada0c87b8..3c504f9c9b16fb2b12f16bac18eccb309a0b989f 100644
--- a/template/en/default/list/list.atom.tmpl
+++ b/template/en/default/list/list.atom.tmpl
@@ -23,7 +23,7 @@
   # This is a template for generating an Atom representation of a buglist. 
   #%]
 
-[% PROCESS global/variables.none.tmpl %]
+[% PROCESS "global/field-descs.none.tmpl" %]
 
 [% DEFAULT title = "$terms.Bugzilla $terms.Bugs" %]
 
@@ -71,16 +71,16 @@
         <td>[% bug.reporter_realname FILTER html %]</td>
       </tr><tr class="bz_feed_bug_status">
         <td>[% columns.bug_status.title FILTER html %]</td>
-        <td>[% bug.bug_status FILTER html %]</td>
+        <td>[% display_value("bug_status", bug.bug_status) FILTER html %]</td>
       </tr><tr class="bz_feed_resolution">
         <td>[% columns.resolution.title FILTER html %] </td>
-        <td>[% bug.resolution FILTER html %]</td>
+        <td>[% display_value("resolution", bug.resolution) FILTER html %]</td>
       </tr><tr class="bz_feed_priority">
         <td>[% columns.priority.title FILTER html %]</td>
-        <td>[% bug.priority FILTER html %]</td>
+        <td>[% display_value("priority", bug.priority) FILTER html %]</td>
       </tr><tr class="bz_feed_severity">
         <td>[% columns.bug_severity.title FILTER html %] </td>
-        <td>[% bug.bug_severity FILTER html %]</td>
+        <td>[% display_value("bug_severity", bug.bug_severity) FILTER html %]</td>
       [% IF Param("usetargetmilestone") %]
       </tr><tr class="bz_feed_target_milestone">
         <td>[% columns.target_milestone.title FILTER html %]</td>
diff --git a/template/en/default/list/list.html.tmpl b/template/en/default/list/list.html.tmpl
index a3e3a767adf0acd86fa8c9b57fd65afbe3605295..1e9a9e998a26781b1a701bbca1e34cf17bf7e63a 100644
--- a/template/en/default/list/list.html.tmpl
+++ b/template/en/default/list/list.html.tmpl
@@ -91,16 +91,8 @@
     [% IF shown_types.contains(desc_item.type) || debug %]
       ([% search_descs.${desc_item.type} FILTER html %])
     [% END %]
-    [% IF desc_item.field == 'bug_status' %]
-      [% FOREACH status IN desc_item.value.split(',') %]
-        [%+ display_value("bug_status", status) FILTER html %][% ',' UNLESS loop.last %]
-      [% END %]
-    [% ELSIF desc_item.field == 'resolution' %]
-      [% FOREACH resolution IN desc_item.value.split(',') %]
-        [%+ display_value("resolution", resolution) FILTER html %][% ',' UNLESS loop.last %]
-      [% END %]
-    [% ELSE %]
-      [%+ desc_item.value FILTER html %]
+    [% FOREACH val IN desc_item.value.split(',') %]
+      [%+ display_value(desc_item.field, val) FILTER html %][% ',' UNLESS loop.last %]
     [% END %]
     [% IF debug %]
       (<code>[% desc_item.term FILTER html %]</code>)
@@ -198,7 +190,7 @@
             <input type="submit" value="XML" id="xml">
         </form>
 
-        [% IF user.in_group(Param('timetrackinggroup')) %]
+        [% IF user.is_timetracker %]
           <form method="post" action="summarize_time.cgi">
             <input type="hidden" name="id" value="[% buglist_joined FILTER html %]">
             <input type="submit" id="timesummary" value="Time Summary">
diff --git a/template/en/default/list/table.html.tmpl b/template/en/default/list/table.html.tmpl
index 6ca90b921ba26a4b493a2c6afa85ae06254cbecc..f6a871e199cddf2800a636815549bbd13292f73c 100644
--- a/template/en/default/list/table.html.tmpl
+++ b/template/en/default/list/table.html.tmpl
@@ -201,14 +201,7 @@
     [% FOREACH column = displaycolumns %]
     <td [% 'style="white-space: nowrap"' IF NOT abbrev.$column.wrap %]>
       [% IF abbrev.$column.maxlength %]
-        <span title="
-          [%- IF column == 'bug_status' %]
-            [%- display_value("bug_status", bug.$column) FILTER html %]
-          [% ELSIF column == 'resolution' %]
-            [%- display_value("resolution", bug.$column) FILTER html %]
-          [% ELSE %]
-            [%- bug.$column FILTER html %]
-          [% END %]">
+        <span title="[%- display_value(column, bug.$column) FILTER html %]">
       [% END %]
       [% IF abbrev.$column.format_value %] 
         [%- bug.$column FILTER format(abbrev.$column.format_value) FILTER html -%] 
@@ -216,11 +209,6 @@
                column == 'remaining_time' ||
                column == 'estimated_time' %]
         [% PROCESS formattimeunit time_unit=bug.$column %] 
-      [% ELSIF column == 'bug_status' %]
-        [%- display_value("bug_status", bug.$column).truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html %]
-      [% ELSIF column == 'resolution' %]
-        [%- display_value("resolution", bug.$column).truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html %]
-
       [%# Display the login name of the user if their real name is empty. %]
       [% ELSIF column.match('_realname$') && bug.$column == '' %]
         [% SET login_column = column.remove('_realname$') %]
@@ -228,7 +216,7 @@
                                         abbrev.$column.ellipsis) FILTER html %]
 
       [% ELSE %]
-        [%- bug.$column.truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html -%]
+        [%- display_value(column, bug.$column).truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html -%]
       [% END %]
       [% IF abbrev.$column.maxlength %]
         </span>
diff --git a/template/en/default/pages/CVS/Entries b/template/en/default/pages/CVS/Entries
index 88aff3d225a84a0f6267e0f4037c8a0864bee40d..7c0635134172c6f7cf75bd8769082bb99f28f0b6 100644
--- a/template/en/default/pages/CVS/Entries
+++ b/template/en/default/pages/CVS/Entries
@@ -1,10 +1,10 @@
-/bug-writing.html.tmpl/1.9/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_1
-/fields.html.tmpl/1.18/Wed Sep 30 22:35:41 2009//TBUGZILLA-3_5_1
-/linked.html.tmpl/1.10/Fri Feb  8 23:19:32 2008//TBUGZILLA-3_5_1
-/linkify.html.tmpl/1.9/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_1
-/quicksearch.html.tmpl/1.4/Mon Jul 20 04:17:42 2009//TBUGZILLA-3_5_1
-/quicksearchhack.html.tmpl/1.8/Mon Jul 20 04:17:42 2009//TBUGZILLA-3_5_1
-/release-notes.html.tmpl/1.43/Thu Nov  5 12:33:35 2009//TBUGZILLA-3_5_1
-/sudo.html.tmpl/1.3/Fri Aug  8 01:27:20 2008//TBUGZILLA-3_5_1
-/voting.html.tmpl/1.5/Mon Sep 15 22:34:32 2008//TBUGZILLA-3_5_1
+/bug-writing.html.tmpl/1.10/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_5_2
+/fields.html.tmpl/1.19/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_5_2
+/linked.html.tmpl/1.10/Fri Feb  8 23:19:32 2008//TBUGZILLA-3_5_2
+/linkify.html.tmpl/1.9/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_5_2
+/quicksearch.html.tmpl/1.4/Mon Jul 20 04:17:42 2009//TBUGZILLA-3_5_2
+/quicksearchhack.html.tmpl/1.8/Mon Jul 20 04:17:42 2009//TBUGZILLA-3_5_2
+/release-notes.html.tmpl/1.44/Wed Nov 18 06:53:45 2009//TBUGZILLA-3_5_2
+/sudo.html.tmpl/1.3/Fri Aug  8 01:27:20 2008//TBUGZILLA-3_5_2
+/voting.html.tmpl/1.5/Mon Sep 15 22:34:32 2008//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/pages/CVS/Tag b/template/en/default/pages/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/pages/CVS/Tag
+++ b/template/en/default/pages/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/pages/bug-writing.html.tmpl b/template/en/default/pages/bug-writing.html.tmpl
index 035876bb13fce331a9bf3a747e4435c8498ec6c3..ec997be0a43e83d465618b29aeffbe20d8e32f57 100644
--- a/template/en/default/pages/bug-writing.html.tmpl
+++ b/template/en/default/pages/bug-writing.html.tmpl
@@ -78,8 +78,8 @@ no-one else appears to have reported it, then:</p>
           it?
     (e.g. Linux, Windows XP, Mac OS X.)<br>
     If you know the [% terms.bug %] happens on more than one type of 
-    operating system, choose "All". 
-    If your OS isn't listed, choose Other.</p>
+    operating system, choose <em>[% display_value("op_sys", "All") FILTER html %]</em>. 
+    If your OS isn't listed, choose <em>[% display_value("op_sys", "Other") FILTER html %]</em>.</p>
 
     <p><b>Summary:</b> How would you describe the [% terms.bug %], in 
     approximately 60 or fewer characters?<br>
diff --git a/template/en/default/pages/fields.html.tmpl b/template/en/default/pages/fields.html.tmpl
index 9e938bbcb0e4016a2424f7df74b4450349473237..5be28cab702f4cd280ba36a3fa7afc9aa80f15c2 100644
--- a/template/en/default/pages/fields.html.tmpl
+++ b/template/en/default/pages/fields.html.tmpl
@@ -19,7 +19,6 @@
   #                 Gervase Markham <gerv@gerv.net>
   #%]
 
-[% PROCESS global/variables.none.tmpl %]
 [% PROCESS "global/field-descs.none.tmpl" %]
 [% INCLUDE global/header.html.tmpl title = "A $terms.Bug's Life Cycle" %]
 
@@ -221,46 +220,46 @@ This field describes the impact of [% terms.abug %].
 
 <table>
   <tr>
-    <th>Blocker</th>
+    <th>[% display_value("bug_severity", "blocker") FILTER html %]</th>
 
     <td>Blocks development and/or testing work</td>
   </tr>
 
   <tr>
-    <th>Critical</th>
+    <th>[% display_value("bug_severity", "critical") FILTER html %]</th>
 
     <td>crashes, loss of data, severe memory leak</td>
   </tr>
 
   <tr>
-    <th>Major</th>
+    <th>[% display_value("bug_severity", "major") FILTER html %]</th>
 
     <td>major loss of function</td>
   </tr>
 
   <tr>
-    <th>Normal</th>
+    <th>[% display_value("bug_severity", "normal") FILTER html %]</th>
 
     <td>regular issue, some loss of functionality under specific circumstances</td>
   </tr>
 
 
   <tr>
-    <th>Minor</th>
+    <th>[% display_value("bug_severity", "minor") FILTER html %]</th>
 
     <td>minor loss of function, or other problem where easy
     workaround is present</td>
   </tr>
 
   <tr>
-    <th>Trivial</th>
+    <th>[% display_value("bug_severity", "trivial") FILTER html %]</th>
 
     <td>cosmetic problem like misspelled words or misaligned
     text</td>
   </tr>
 
   <tr>
-    <th>Enhancement</th>
+    <th>[% display_value("bug_severity", "enhancement") FILTER html %]</th>
 
     <td>Request for enhancement</td>
 </table>
@@ -270,23 +269,25 @@ This is the hardware platform against which the [% terms.bug %] was
 reported. Legal platforms include: 
 
 <ul>
-  <li>All (happens on all platforms; cross-platform [% terms.bug %])</li>
+  <li>[% display_value("rep_platform", "All") FILTER html %] (happens on all platforms; cross-platform [% terms.bug %])</li>
 
-  <li>Macintosh</li>
+  <li>[% display_value("rep_platform", "Macintosh") FILTER html %]</li>
 
-  <li>PC</li>
+  <li>[% display_value("rep_platform", "PC") FILTER html %]</li>
 </ul>
-<b>Note:</b> When searching, selecting the option "All" does not 
+<b>Note:</b> When searching, selecting the option 
+<em>[% display_value("rep_platform", "All") FILTER html %]</em> does not 
 select [% terms.bugs %]
 assigned against any platform. It merely selects [% terms.bugs %] that are
-marked as occurring on all platforms, i.e. are designated "All". 
+marked as occurring on all platforms, i.e. are designated 
+<em>[% display_value("rep_platform", "All") FILTER html %]</em>. 
 
 <h2><a name="op_sys">Operating System</a></h2>
 This is the operating system against which the [% terms.bug %] was
 reported. Legal operating systems include: 
 
 <ul>
-  <li>All (happens on all operating systems; cross-platform
+  <li>[% display_value("op_sys", "All") FILTER html %] (happens on all operating systems; cross-platform
   [% terms.bug %])</li>
 
   <li>Windows</li>
diff --git a/template/en/default/pages/release-notes.html.tmpl b/template/en/default/pages/release-notes.html.tmpl
index 601ab6a13d878b6cf33f91114600e94e022642f2..9a838d916b4d04a7c1012c969e068c21f97cf03e 100644
--- a/template/en/default/pages/release-notes.html.tmpl
+++ b/template/en/default/pages/release-notes.html.tmpl
@@ -59,6 +59,14 @@
 
 <h2><a name="v34_point"></a>Updates In This 3.4.x Release</h2>
 
+<h3>3.4.4</h3>
+
+<p>This release contains a fix for a security issue. See the
+  <a href="http://www.bugzilla.org/security/3.4.3/">Security Advisory</a>
+  for details.</p>
+
+<p>Additionally, this release fixes a few minor [% terms.bugs %].</p>
+
 <h3>3.4.3</h3>
 
 <ul>
diff --git a/template/en/default/reports/CVS/Entries b/template/en/default/reports/CVS/Entries
index 9191bb3343fc4849a29e0d4baace52fe2a2d3ad2..5dc60e255b0d792a5d05ef75ebf9c477d0ff4ff5 100644
--- a/template/en/default/reports/CVS/Entries
+++ b/template/en/default/reports/CVS/Entries
@@ -1,24 +1,24 @@
-/chart.csv.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_1
-/chart.html.tmpl/1.5/Wed Aug 27 02:32:26 2008//TBUGZILLA-3_5_1
-/chart.png.tmpl/1.6/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_1
-/components.html.tmpl/1.15/Tue Jun  2 03:49:22 2009//TBUGZILLA-3_5_1
-/create-chart.html.tmpl/1.19/Sun Oct  4 21:00:26 2009//TBUGZILLA-3_5_1
-/delete-series.html.tmpl/1.1/Sun Oct  4 21:00:26 2009//TBUGZILLA-3_5_1
-/duplicates-simple.html.tmpl/1.5/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_1
-/duplicates-table.html.tmpl/1.15/Sun Sep  6 22:45:56 2009//TBUGZILLA-3_5_1
-/duplicates.html.tmpl/1.19/Mon Mar 31 08:51:06 2008//TBUGZILLA-3_5_1
-/edit-series.html.tmpl/1.8/Mon Oct  5 09:49:30 2009//TBUGZILLA-3_5_1
-/keywords.html.tmpl/1.10/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_1
-/menu.html.tmpl/1.10/Sat Oct 24 05:21:11 2009//TBUGZILLA-3_5_1
-/old-charts.html.tmpl/1.3/Sun Nov 11 22:03:19 2007//TBUGZILLA-3_5_1
-/report-bar.png.tmpl/1.9/Wed Sep 30 22:35:45 2009//TBUGZILLA-3_5_1
-/report-line.png.tmpl/1.10/Wed Sep 30 22:35:45 2009//TBUGZILLA-3_5_1
-/report-pie.png.tmpl/1.8/Wed Sep 30 22:35:45 2009//TBUGZILLA-3_5_1
-/report-simple.html.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_1
-/report-table.csv.tmpl/1.13/Wed Sep 30 22:35:45 2009//TBUGZILLA-3_5_1
-/report-table.html.tmpl/1.18/Wed Sep 30 22:35:45 2009//TBUGZILLA-3_5_1
-/report.csv.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_1
-/report.html.tmpl/1.16/Thu Jan 29 21:22:37 2009//TBUGZILLA-3_5_1
-/series-common.html.tmpl/1.6/Wed Aug 19 14:46:55 2009//TBUGZILLA-3_5_1
-/series.html.tmpl/1.10/Mon Mar 31 08:51:06 2008//TBUGZILLA-3_5_1
+/chart.csv.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_2
+/chart.html.tmpl/1.5/Wed Aug 27 02:32:26 2008//TBUGZILLA-3_5_2
+/chart.png.tmpl/1.6/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_2
+/components.html.tmpl/1.15/Tue Jun  2 03:49:22 2009//TBUGZILLA-3_5_2
+/create-chart.html.tmpl/1.19/Sun Oct  4 21:00:26 2009//TBUGZILLA-3_5_2
+/delete-series.html.tmpl/1.1/Sun Oct  4 21:00:26 2009//TBUGZILLA-3_5_2
+/duplicates-simple.html.tmpl/1.5/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_2
+/duplicates-table.html.tmpl/1.16/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/duplicates.html.tmpl/1.19/Mon Mar 31 08:51:06 2008//TBUGZILLA-3_5_2
+/edit-series.html.tmpl/1.8/Mon Oct  5 09:49:30 2009//TBUGZILLA-3_5_2
+/keywords.html.tmpl/1.10/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_2
+/menu.html.tmpl/1.10/Sat Oct 24 05:21:11 2009//TBUGZILLA-3_5_2
+/old-charts.html.tmpl/1.3/Sun Nov 11 22:03:19 2007//TBUGZILLA-3_5_2
+/report-bar.png.tmpl/1.10/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/report-line.png.tmpl/1.11/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/report-pie.png.tmpl/1.9/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/report-simple.html.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_2
+/report-table.csv.tmpl/1.14/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/report-table.html.tmpl/1.19/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/report.csv.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_5_2
+/report.html.tmpl/1.16/Thu Jan 29 21:22:37 2009//TBUGZILLA-3_5_2
+/series-common.html.tmpl/1.6/Wed Aug 19 14:46:55 2009//TBUGZILLA-3_5_2
+/series.html.tmpl/1.10/Mon Mar 31 08:51:06 2008//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/reports/CVS/Tag b/template/en/default/reports/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/reports/CVS/Tag
+++ b/template/en/default/reports/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/reports/duplicates-table.html.tmpl b/template/en/default/reports/duplicates-table.html.tmpl
index f651a7fd43cc4c5f3241f9e3622508e2b79d6e2d..8950f340ab6eeb9b9ae872d7ef7e3f3de13a9b4d 100644
--- a/template/en/default/reports/duplicates-table.html.tmpl
+++ b/template/en/default/reports/duplicates-table.html.tmpl
@@ -127,9 +127,9 @@
           <td><center>[% bug.delta %]</center></td>
 
           <td>[% bug.component FILTER html %]</td>
-          <td><center>[% bug.bug_severity FILTER html %]</center></td>
-          <td><center>[% bug.op_sys FILTER html %]</center></td>
-          <td><center>[% bug.target_milestone FILTER html %]</center></td>
+          <td><center>[% display_value("bug_severity",     bug.bug_severity    ) FILTER html %]</center></td>
+          <td><center>[% display_value("op_sys",           bug.op_sys          ) FILTER html %]</center></td>
+          <td><center>[% display_value("target_milestone", bug.target_milestone) FILTER html %]</center></td>
           <td>[% bug.short_desc FILTER html %]</td>
         </tr>
       [% END %]
diff --git a/template/en/default/reports/report-bar.png.tmpl b/template/en/default/reports/report-bar.png.tmpl
index cb9fab24f27322f08a99d5c46fba02830ea582b6..649fba42616cf93aed886e76630d12f591e6fdef 100644
--- a/template/en/default/reports/report-bar.png.tmpl
+++ b/template/en/default/reports/report-bar.png.tmpl
@@ -26,28 +26,12 @@
 
 [% col_field_disp = field_descs.$col_field || col_field %]
 
-[% IF col_field == 'bug_status' %]
-  [% FOR i IN [ 0 .. data.0.0.max ] %]
-    [% data.0.0.$i = display_value("bug_status", data.0.0.$i) %]
-  [% END %]
+[% FOR i IN [ 0 .. data.0.0.max ] %]
+  [% data.0.0.$i = display_value(col_field, data.0.0.$i) %]
 [% END %]
 
-[% IF col_field == 'resolution' %]
-  [% FOR i IN [ 0 .. data.0.0.max ] %]
-    [% data.0.0.$i = display_value("resolution", data.0.0.$i) %]
-  [% END %]
-[% END %]
-
-[% IF row_field == 'bug_status' %]
-  [% FOR i IN [ 0 .. row_names.max ] %]
-    [% row_names.$i = display_value("bug_status", row_names.$i) %]
-  [% END %]
-[% END %]
-
-[% IF row_field == 'resolution' %]
-  [% FOR i IN [ 0 .. row_names.max ] %]
-    [% row_names.$i = display_value("resolution", row_names.$i) %]
-  [% END %]
+[% FOR i IN [ 0 .. row_names.max ] %]
+  [% row_names.$i = display_value(row_field, row_names.$i) %]
 [% END %]
 
 [% FILTER null;
diff --git a/template/en/default/reports/report-line.png.tmpl b/template/en/default/reports/report-line.png.tmpl
index fc8b418af6657b6875342d08ea93b41b16816723..0edc0fee7692a77f6275182fd5ad20e2d102f34f 100644
--- a/template/en/default/reports/report-line.png.tmpl
+++ b/template/en/default/reports/report-line.png.tmpl
@@ -26,28 +26,12 @@
 
 [% col_field_disp = field_descs.$col_field || col_field %]
 
-[% IF col_field == 'bug_status' %]
-  [% FOR i IN [ 0 .. data.0.0.max ] %]
-    [% data.0.0.$i = display_value("bug_status", data.0.0.$i) %]
-  [% END %]
+[% FOR i IN [ 0 .. data.0.0.max ] %]
+  [% data.0.0.$i = display_value(col_field, data.0.0.$i) %]
 [% END %]
 
-[% IF col_field == 'resolution' %]
-  [% FOR i IN [ 0 .. data.0.0.max ] %]
-    [% data.0.0.$i = display_value("resolution", data.0.0.$i) %]
-  [% END %]
-[% END %]
-
-[% IF row_field == 'bug_status' %]
-  [% FOR i IN [ 0 .. row_names.max ] %]
-    [% row_names.$i = display_value("bug_status", row_names.$i) %]
-  [% END %]
-[% END %]
-
-[% IF row_field == 'resolution' %]
-  [% FOR i IN [ 0 .. row_names.max ] %]
-    [% row_names.$i = display_value("resolution", row_names.$i) %]
-  [% END %]
+[% FOR i IN [ 0 .. row_names.max ] %]
+  [% row_names.$i = display_value(row_field, row_names.$i) %]
 [% END %]
 
 [% IF cumulate %]
diff --git a/template/en/default/reports/report-pie.png.tmpl b/template/en/default/reports/report-pie.png.tmpl
index 05a359032b78ffb7dd835d063be89d3d42e88d67..27f5525dd4d3cb23de86e1ad70c1cc7380464717 100644
--- a/template/en/default/reports/report-pie.png.tmpl
+++ b/template/en/default/reports/report-pie.png.tmpl
@@ -22,16 +22,8 @@
 
 [% col_field_disp = field_descs.$col_field || col_field %]
 
-[% IF col_field == 'bug_status' %]
-  [% FOR i IN [ 0 .. data.0.0.max ] %]
-    [% data.0.0.$i = display_value("bug_status", data.0.0.$i) %]
-  [% END %]
-[% END %]
-
-[% IF col_field == 'resolution' %]
-  [% FOR i IN [ 0 .. data.0.0.max ] %]
-    [% data.0.0.$i = display_value("resolution", data.0.0.$i) %]
-  [% END %]
+[% FOR i IN [ 0 .. data.0.0.max ] %]
+  [% data.0.0.$i = display_value(col_field, data.0.0.$i) %]
 [% END %]
 
 [% FILTER null;
diff --git a/template/en/default/reports/report-table.csv.tmpl b/template/en/default/reports/report-table.csv.tmpl
index 3694b9b35c13d11b47877d5edaa7c65d51acee25..4d8b50a859bc827bfda57b12ac5893900cc403d3 100644
--- a/template/en/default/reports/report-table.csv.tmpl
+++ b/template/en/default/reports/report-table.csv.tmpl
@@ -67,12 +67,8 @@
 [% END %]
 
 [% BLOCK value_display %]
-  [% SET disp_value = value %]
-  [% IF field == 'bug_status' %]
-    [% SET disp_value = display_value("bug_status", value) %]
-  [% ELSIF field == 'resolution' %]
-    [% SET disp_value = display_value("resolution", value) %]
-  [% ELSIF field == 'assigned_to' OR field == 'reporter'
+  [% SET disp_value = display_value(field, value) %]
+  [% IF field == 'assigned_to' OR field == 'reporter'
            OR field == 'qa_contact'
   %]
     [% disp_value = value FILTER email %]
diff --git a/template/en/default/reports/report-table.html.tmpl b/template/en/default/reports/report-table.html.tmpl
index 6c0abe4d303b5d31d13e810c5c56a21680d82d8b..76b80f893ec5b2c00c1e4137cd6c021e87073cc1 100644
--- a/template/en/default/reports/report-table.html.tmpl
+++ b/template/en/default/reports/report-table.html.tmpl
@@ -154,12 +154,8 @@
 </table>
 
 [% BLOCK value_display %]
-  [% SET disp_value = value %]
-  [% IF field == 'bug_status' %]
-    [% SET disp_value = display_value("bug_status", value) %]
-  [% ELSIF field == 'resolution' %]
-    [% SET disp_value = display_value("resolution", value) %]
-  [% ELSIF field == 'assigned_to' OR field == 'reporter'
+  [% SET disp_value = display_value(field, value) %]
+  [% IF field == 'assigned_to' OR field == 'reporter'
            OR field == 'qa_contact'
   %]
     [% disp_value = value FILTER email %]
diff --git a/template/en/default/request/CVS/Entries b/template/en/default/request/CVS/Entries
index d3e95ce119af8e6051d4e627b334df8d49e0961d..0eafaa8fffcc5e7c96243c1ce5b49cd8089f40d3 100644
--- a/template/en/default/request/CVS/Entries
+++ b/template/en/default/request/CVS/Entries
@@ -1,3 +1,3 @@
-/email.txt.tmpl/1.23/Thu Sep  3 19:05:33 2009//TBUGZILLA-3_5_1
-/queue.html.tmpl/1.23/Sun Aug  9 20:17:45 2009//TBUGZILLA-3_5_1
+/email.txt.tmpl/1.23/Thu Sep  3 19:05:33 2009//TBUGZILLA-3_5_2
+/queue.html.tmpl/1.23/Sun Aug  9 20:17:45 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/request/CVS/Tag b/template/en/default/request/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/request/CVS/Tag
+++ b/template/en/default/request/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/search/CVS/Entries b/template/en/default/search/CVS/Entries
index b7878c416eb8a45f5c9f50c47b58202f785c8f91..04f3f169b1566639e3b180ee73b9adbdc4b81da4 100644
--- a/template/en/default/search/CVS/Entries
+++ b/template/en/default/search/CVS/Entries
@@ -1,14 +1,14 @@
-/boolean-charts.html.tmpl/1.19/Sat Dec  6 19:44:48 2008//TBUGZILLA-3_5_1
-/form.html.tmpl/1.60/Tue Oct 27 16:55:35 2009//TBUGZILLA-3_5_1
-/knob.html.tmpl/1.22/Tue Jul 14 03:59:58 2009//TBUGZILLA-3_5_1
-/search-advanced.html.tmpl/1.33/Thu Sep 11 22:09:21 2008//TBUGZILLA-3_5_1
-/search-create-series.html.tmpl/1.14/Sun Nov 11 22:03:21 2007//TBUGZILLA-3_5_1
-/search-help.html.tmpl/1.11/Tue Oct 27 16:55:35 2009//TBUGZILLA-3_5_1
-/search-plugin.xml.tmpl/1.5/Tue Dec 16 22:39:42 2008//TBUGZILLA-3_5_1
-/search-report-graph.html.tmpl/1.13/Tue Aug 12 07:58:07 2008//TBUGZILLA-3_5_1
-/search-report-select.html.tmpl/1.8/Sat Jan  3 01:08:28 2009//TBUGZILLA-3_5_1
-/search-report-table.html.tmpl/1.14/Tue Aug 12 07:58:07 2008//TBUGZILLA-3_5_1
-/search-specific.html.tmpl/1.25/Mon Jul 20 04:17:44 2009//TBUGZILLA-3_5_1
-/tabs.html.tmpl/1.8/Mon Jul 20 04:17:44 2009//TBUGZILLA-3_5_1
-/type-select.html.tmpl/1.2/Sat Dec  6 21:12:51 2008//TBUGZILLA-3_5_1
+/boolean-charts.html.tmpl/1.19/Sat Dec  6 19:44:48 2008//TBUGZILLA-3_5_2
+/form.html.tmpl/1.64/Wed Nov 18 14:39:34 2009//TBUGZILLA-3_5_2
+/knob.html.tmpl/1.22/Tue Jul 14 03:59:58 2009//TBUGZILLA-3_5_2
+/search-advanced.html.tmpl/1.33/Thu Sep 11 22:09:21 2008//TBUGZILLA-3_5_2
+/search-create-series.html.tmpl/1.14/Sun Nov 11 22:03:21 2007//TBUGZILLA-3_5_2
+/search-help.html.tmpl/1.11/Tue Oct 27 16:55:35 2009//TBUGZILLA-3_5_2
+/search-plugin.xml.tmpl/1.5/Tue Dec 16 22:39:42 2008//TBUGZILLA-3_5_2
+/search-report-graph.html.tmpl/1.13/Tue Aug 12 07:58:07 2008//TBUGZILLA-3_5_2
+/search-report-select.html.tmpl/1.8/Sat Jan  3 01:08:28 2009//TBUGZILLA-3_5_2
+/search-report-table.html.tmpl/1.14/Tue Aug 12 07:58:07 2008//TBUGZILLA-3_5_2
+/search-specific.html.tmpl/1.25/Mon Jul 20 04:17:44 2009//TBUGZILLA-3_5_2
+/tabs.html.tmpl/1.8/Mon Jul 20 04:17:44 2009//TBUGZILLA-3_5_2
+/type-select.html.tmpl/1.2/Sat Dec  6 21:12:51 2008//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/search/CVS/Tag b/template/en/default/search/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/search/CVS/Tag
+++ b/template/en/default/search/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl
index c7990fd24462dac20e8fff160f7a3c4db747e30f..72e1cf0332df14724cbe6c8a75bd1fbc3ac4f897 100644
--- a/template/en/default/search/form.html.tmpl
+++ b/template/en/default/search/form.html.tmpl
@@ -305,7 +305,7 @@ function doOnSelectProduct(selectmode) {
   [% END %]
 
   [%# Deadline %]
-  [% IF user.in_group(Param("timetrackinggroup")) %]
+  [% IF user.is_timetracker %]
     <tr>
       <th align="right">
         <label for="deadlinefrom" accesskey="l">Dead<u>l</u>ine</label>:
@@ -317,7 +317,7 @@ function doOnSelectProduct(selectmode) {
                   value="[% default.deadlineto.0 FILTER html %]">
       </td>
       <td>
-        <small>(YYYY-MM-DD)</small>
+        <small>(YYYY-MM-DD or relative dates)</small>
       </td>
     </tr>
   [% END %]
@@ -617,19 +617,12 @@ function doOnSelectProduct(selectmode) {
         [%# This only applies for Resolution really %]
           <option value="[% value.name OR '---' FILTER html %]"
             [% " selected" IF lsearch(default.${sel.name}, value.name) != -1 %]>
-            [% IF sel.name == "bug_status" %]
-              [% display_value("bug_status", value.name) FILTER html %]
-            [% ELSIF sel.name == "resolution" %]
-              [%# Again, resolution has that odd empty value. Replace it with '---' %]
-              [% display_value("resolution", value.name) OR '---' FILTER html %]
-            [% ELSE %]
-              [% value.name FILTER html %]
-            [% END %]
+            [% display_value(sel.name, value.name) FILTER html %]
           </option>
         [% ELSE %]
           <option value="[% value OR '---' FILTER html %]"
             [% " selected" IF lsearch(default.${sel.name}, value) != -1 %]>
-              [% value FILTER html %]
+            [% display_value(sel.name, value) FILTER html %]
           </option>
         [% END %]
       [% END %]
diff --git a/template/en/default/setup/CVS/Entries b/template/en/default/setup/CVS/Entries
index 3dc5ae2c6ad6ec4bf223c567cef33483226aeb33..7effe7665226e8dffd7633e44604384ea20c4338 100644
--- a/template/en/default/setup/CVS/Entries
+++ b/template/en/default/setup/CVS/Entries
@@ -1,2 +1,2 @@
-/strings.txt.pl/1.17/Sat Oct 24 05:30:22 2009//TBUGZILLA-3_5_1
+/strings.txt.pl/1.17/Sat Oct 24 05:30:22 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/setup/CVS/Tag b/template/en/default/setup/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/setup/CVS/Tag
+++ b/template/en/default/setup/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/whine/CVS/Entries b/template/en/default/whine/CVS/Entries
index 2964ab63d65a05a22df0062e70028c71c8f48311..d25116e9fa9df71746c5dc60355258690707ff70 100644
--- a/template/en/default/whine/CVS/Entries
+++ b/template/en/default/whine/CVS/Entries
@@ -1,5 +1,5 @@
-/mail.html.tmpl/1.8/Wed Sep 30 22:35:47 2009//TBUGZILLA-3_5_1
-/mail.txt.tmpl/1.8/Wed Sep 30 22:35:47 2009//TBUGZILLA-3_5_1
-/multipart-mime.txt.tmpl/1.7/Tue Apr  7 02:29:36 2009//TBUGZILLA-3_5_1
-/schedule.html.tmpl/1.14/Mon Apr  6 20:57:26 2009//TBUGZILLA-3_5_1
+/mail.html.tmpl/1.9/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/mail.txt.tmpl/1.9/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_5_2
+/multipart-mime.txt.tmpl/1.7/Tue Apr  7 02:29:36 2009//TBUGZILLA-3_5_2
+/schedule.html.tmpl/1.14/Mon Apr  6 20:57:26 2009//TBUGZILLA-3_5_2
 D
diff --git a/template/en/default/whine/CVS/Tag b/template/en/default/whine/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/default/whine/CVS/Tag
+++ b/template/en/default/whine/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/template/en/default/whine/mail.html.tmpl b/template/en/default/whine/mail.html.tmpl
index d25bcd4ddbf64e4dd6c0b9f75ae4f8d2e1e04d5a..cd432514f98b9de984b28934e14f9933604394f1 100644
--- a/template/en/default/whine/mail.html.tmpl
+++ b/template/en/default/whine/mail.html.tmpl
@@ -78,9 +78,9 @@
       <tr>
         <td align="left"><a href="[%+ urlbase FILTER html %]show_bug.cgi?id=
             [%- bug.bug_id %]">[% bug.bug_id %]</a></td>
-        <td align="left">[% bug.bug_severity FILTER html %]</td>
-        <td align="left">[% bug.priority FILTER html %]</td>
-        <td align="left">[% bug.rep_platform FILTER html %]</td>
+        <td align="left">[% display_value("bug_severity", bug.bug_severity) FILTER html %]</td>
+        <td align="left">[% display_value("priority", bug.priority) FILTER html %]</td>
+        <td align="left">[% display_value("rep_platform", bug.rep_platform) FILTER html %]</td>
         <td align="left">[% bug.$assignee_login_string FILTER html %]</td>
         <td align="left">[% display_value("bug_status", bug.bug_status) FILTER html %]</td>
         <td align="left">[% display_value("resolution", bug.resolution) FILTER html %]</td>
diff --git a/template/en/default/whine/mail.txt.tmpl b/template/en/default/whine/mail.txt.tmpl
index 6df8d4346dc67e5733499111f4afc31002e4ab88..41508130275080efb10c4cc2eab84a8865fe683d 100644
--- a/template/en/default/whine/mail.txt.tmpl
+++ b/template/en/default/whine/mail.txt.tmpl
@@ -53,9 +53,9 @@
  [% FOREACH bug=query.bugs %]
   [% terms.Bug +%] [%+ bug.bug_id %]:
   [%+ urlbase %]show_bug.cgi?id=[% bug.bug_id +%]
-  Priority: [%+ bug.priority -%]
-  Severity: [%+ bug.bug_severity -%]
-  Platform: [%+ bug.rep_platform %]
+  Priority: [%+ display_value("priority", bug.priority) -%]
+  Severity: [%+ display_value("bug_severity", bug.bug_severity) -%]
+  Platform: [%+ display_value("rep_platform", bug.rep_platform) %]
   Assignee: [%+ bug.$assignee_login_string %]
     Status: [%+ display_value("bug_status", bug.bug_status) %]
             [%- IF bug.resolution -%] Resolution: [% display_value("resolution", bug.resolution) -%]
diff --git a/template/en/extension/CVS/Entries b/template/en/extension/CVS/Entries
index 487b1326c3177cffcefd9f6b5c6ab1a4f40ad425..b4174109e4e5fd10d3b0a06d438e6a80eac155c9 100644
--- a/template/en/extension/CVS/Entries
+++ b/template/en/extension/CVS/Entries
@@ -1,2 +1,2 @@
-/filterexceptions.pl/1.2/Sat Feb 25 23:10:53 2006//TBUGZILLA-3_5_1
+/filterexceptions.pl/1.2/Sat Feb 25 23:10:53 2006//TBUGZILLA-3_5_2
 D
diff --git a/template/en/extension/CVS/Tag b/template/en/extension/CVS/Tag
index 2ed3f19b054d025e28e468d536310556b6bb250d..a91e70ee47036e75ff3bdaff05ae1ff023bd1db4 100644
--- a/template/en/extension/CVS/Tag
+++ b/template/en/extension/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-3_5_1
+NBUGZILLA-3_5_2
diff --git a/xmlrpc.cgi b/xmlrpc.cgi
index 994e3a48591e6d2e8bf530f940b8097b11eb53f0..8b1e69f28d756cc9aa5862687d4a39ca1b3372b7 100755
--- a/xmlrpc.cgi
+++ b/xmlrpc.cgi
@@ -22,12 +22,12 @@ use Bugzilla;
 use Bugzilla::Constants;
 use Bugzilla::Error;
 use Bugzilla::WebService::Constants;
-if (!Bugzilla->feature('xmlrpc')) {
-    ThrowCodeError('feature_disabled', { feature => 'xmlrpc' });
+BEGIN {
+    if (!Bugzilla->feature('xmlrpc')) {
+        ThrowCodeError('feature_disabled', { feature => 'xmlrpc' });
+    }
 }
-# Use an eval here so that runtests.pl accepts this script even if SOAP-Lite
-# is not installed.
-eval { require Bugzilla::WebService::Server::XMLRPC; };
+use Bugzilla::WebService::Server::XMLRPC;
 
 Bugzilla->usage_mode(USAGE_MODE_XMLRPC);