[foundation-web] Added page for the elections in 2009



commit 1d674ff9d4e8f48eca0a0806eff69c39e6d4dc80
Author: Tobias Mueller <tobiasmue gnome org>
Date:   Tue May 12 01:08:08 2009 +0200

    Added page for the elections in 2009
    
    This was mostly a copy&paste job from 2007 with updating some data,
    especially the year.
    Note, that most of the sites need an update! Especially rules.wml should
    be updated.
    Also note, that timeline.ics could be generated with mkical.py, but I
    don't know Automake or the server setup good enough to make that happen.
---
 configure.in                                       |    1 +
 foundation.gnome.org/elections/2009/Makefile.am    |   14 ++
 foundation.gnome.org/elections/2009/candidates.wml |   89 +++++++++++
 foundation.gnome.org/elections/2009/index.wml      |   57 +++++++
 foundation.gnome.org/elections/2009/mkical.py      |  160 ++++++++++++++++++++
 foundation.gnome.org/elections/2009/rules.wml      |  134 ++++++++++++++++
 foundation.gnome.org/elections/2009/timeline.ics   |   91 +++++++++++
 foundation.gnome.org/elections/Makefile.am         |    2 +-
 8 files changed, 547 insertions(+), 1 deletions(-)

diff --git a/configure.in b/configure.in
index d065ab8..589a2e1 100644
--- a/configure.in
+++ b/configure.in
@@ -27,6 +27,7 @@ foundation.gnome.org/elections/2004/Makefile
 foundation.gnome.org/elections/2005/Makefile
 foundation.gnome.org/elections/2006/Makefile
 foundation.gnome.org/elections/2007/Makefile
+foundation.gnome.org/elections/2009/Makefile
 foundation.gnome.org/img/Makefile
 foundation.gnome.org/img/logos/Makefile
 foundation.gnome.org/legal/Makefile
diff --git a/foundation.gnome.org/elections/2009/Makefile.am b/foundation.gnome.org/elections/2009/Makefile.am
new file mode 100644
index 0000000..5218d21
--- /dev/null
+++ b/foundation.gnome.org/elections/2009/Makefile.am
@@ -0,0 +1,14 @@
+SUBDIRS =
+
+urlpath = /elections/2009
+ 
+page_SCRIPTS = \
+	index.html \
+	candidates.html\
+	rules.html 
+
+page_DATA = \
+	timeline.ics
+	mkical.py
+
+include $(top_srcdir)/rules.common
diff --git a/foundation.gnome.org/elections/2009/candidates.wml b/foundation.gnome.org/elections/2009/candidates.wml
new file mode 100644
index 0000000..66f8ee8
--- /dev/null
+++ b/foundation.gnome.org/elections/2009/candidates.wml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html>
+
+  <head>
+    <title>GNOME Foundation 2009 Elections Candidates</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  </head>
+
+  <body>
+    <h1>Candidates for the GNOME Foundation 2009 Elections</h1>
+
+    <p>
+      Below you will find a list of candidates who are running for the
+      GNOME Foundation Board of Directors. A short summary statement from
+      each candidate and a link to their full candidacy announcement is
+      provided to help you learn more about them. We encourage all voters
+      to read the full candidacy statements and related discussions on
+      <a href="http://mail.gnome.org/archives/foundation-announce/";>foundation-list&#64;gnome&#46;org</a>.
+    </p>
+
+    <p>
+      When deciding who you should vote for, please carefully consider
+      the various tasks the Board of Directors must perform. This
+      <a href="../overview.html">overview</a> may be helpful. Keep in mind that
+      the board will make a number of important decisions and will also have to
+      perform many tasks which require a significant amount of time and effort
+      and the ability to work and communicate with other people, companies, and
+      the media. The board of directors will represent GNOME to companies and
+      the world in a very real way. It is a good idea to strive for a
+      well-balanced board consisting of people with various backgrounds,
+      skills, and perspectives.
+    </p>
+
+    <p>
+      Additional elections details can be found on the
+      <a href="../../">GNOME Foundation Web Site</a>.
+    </p>
+
+    <p>
+      If you have any questions, please send them to either
+      <a href="http://mail.gnome.org/archives/foundation-announce/";>foundation-list&#64;gnome&#46;org</a>
+      or to us at <a
+      href="mailto:elections&#64;gnome&#46;org";>elections&#64;gnome&#46;org</a>.
+    </p>
+
+    <h2>Candidates for the GNOME Foundation Board of Directors</h2>
+
+    <!--
+
+    <p>
+      <strong>1. Firstname Lastname</strong><br />
+      Affiliation: <em>Company</em><br />
+      Full statement at <a href="http://mail.gnome.org/archives/foundation-announce/2009-May/msg00001.html";>http://mail.gnome.org/archives/foundation-announce/2009-May/msg00001.html</a>
+    </p>
+    <blockquote>
+c&p
+    </blockquote>
+
+    -->
+
+    <p>
+        None yet
+    </p>
+
+    <h2>Additional Elections-related Information</h2>
+
+    <p>
+      Ballots will be sent out via e-mail to everyone who's registered to vote
+      on Tuesday, June 3rd, to the address provided with registration. If
+      you need to change the address to which you want your ballot sent, please
+      contact <a
+      href="mailto:elections&#64;gnome&#46;org";>elections&#64;gnome&#46;org</a>
+      as soon as possible. People will vote by returning the ballot via e-mail.
+      A public archive of the ballot returns will be available after the
+      elections end on June 17th.
+    </p>
+
+    <p>
+      Also, keep in mind that there is a 2-person maximum on the number of
+      people affiliated with any one company that can be on the board: if more
+      than 2 persons from one company get elected, only the top 2 vote getters
+      will get on. You will be able to vote for up to 7 candidates of your
+      choice, with no restrictions, except that you cannot vote more than once
+      for the same candidate.
+    </p>
+
+  </body>
+</html>
diff --git a/foundation.gnome.org/elections/2009/index.wml b/foundation.gnome.org/elections/2009/index.wml
new file mode 100644
index 0000000..5d11c82
--- /dev/null
+++ b/foundation.gnome.org/elections/2009/index.wml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html>
+
+  <head>
+    <title>GNOME Foundation 2009 Elections</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  </head>
+
+  <body>
+
+    <h1>GNOME Foundation 2009 Elections</h1>
+
+    <p>
+      The GNOME Foundation Membership elects the Board of Directors each
+      November. Any member can nominate themself to run in the elections. The
+      overall elections process is overseen by the Membership and Elections
+      Committee, which can be reached at <a
+      href="mailto:elections&#64;gnome&#46;org";>elections&#64;gnome&#46;org</a>.
+    </p>
+
+    <p>
+      The elections results from the 2009 Board of Directors elections will be      archived here for public access.
+    </p>
+
+    <h2>2009 Elections Materials:</h2>
+    <ul>
+    <!-- Not yet
+        <li>
+            <a href="http://mail.gnome.org/archives/foundation-announce/2009-May/msg00002.html";>Election results announcement</a>
+        </li>
+    -->
+    
+    <!-- Not yet
+        <li>
+            <a href="candidates.html">List of candidates for Board of Directors</a>
+        </li>
+    -->
+    
+        <li>
+            <a href="http://foundation.gnome.org/membership/members.php?date=2009-06-03";>List of registered voters</a>
+        </li>
+    
+    <!-- I'd rather see the rules updates, because we have changed voting system
+        <li>
+            <a href="rules.html">Elections Rules and Timeline</a> (webcal <a
+            href="webcal://foundation.gnome.org/elections/2009/timeline.ics">timeline</a>)
+        </li>
+    -->
+    
+        <li>
+            <a href="../overview.html">Overview of the Board of Directors role</a>
+        </li>
+    </ul>
+
+  </body>
+</html>
diff --git a/foundation.gnome.org/elections/2009/mkical.py b/foundation.gnome.org/elections/2009/mkical.py
new file mode 100644
index 0000000..1464882
--- /dev/null
+++ b/foundation.gnome.org/elections/2009/mkical.py
@@ -0,0 +1,160 @@
+#!/usr/bin/env python
+'''
+This Python script creates a simple iCal file based on hardcoded events
+in this file.
+'''
+
+import datetime
+import logging
+import vobject
+
+
+#### Configure these variables
+CANDIDATES_OPENED_DATE    = (2009, 5, 15)
+APPLICATIONS_CLOSED_DATE  = (2009, 5, 22)
+CANDIDATES_CLOSED_DATE    = (2009, 5, 25)
+CANDIDATES_ANNOUNCED_DATE = (2009, 5, 27)
+VOTING_OPENED_DATE        = (2009, 6,  3)
+VOTING_CLOSED_DATE        = (2009, 6, 17)
+PRELIMINARY_RESULTS_DATE  = (2009, 6, 19)
+CHALLENGE_CLOSED_DATE     = (2009, 6, 26)
+
+
+
+### I'm sorry that this functions clutter your calendar-creating experience
+### Please scroll down a bit to edit the description texts
+
+#### Application Data
+def c(multilinestring):
+    '''
+    A helper functions which cleans up a multiline string, so that
+    it doesn't contain any newlines or multiple whitespaces
+    '''
+    stripped = [l.strip() for l in multilinestring.splitlines()]
+    ret = " ".join (stripped)
+    return ret
+    
+def d(year, month, day):
+    '''
+    Just a tiny wrapper around datetime.datetime to create a datetime object
+    '''
+    return datetime.date(year, month, day)
+
+
+
+CANDIDATES_OPENED = (
+    d(*CANDIDATES_OPENED_DATE),
+    'Announcements and list of candidates open',
+    c("""If you are a member of the GNOME Foundation and are interested 
+    in running for election, you may nominate yourself by sending an 
+    e-mail to foundation-announce gnome org with your name, e-mail 
+    address, corporate affiliation (if any), and a description of why 
+    you'd like to serve, before
+    %s (23:59 UTC).""" % d(*CANDIDATES_CLOSED_DATE)) + '''
+    ''' + c("""    
+    You should also send a summary of your candidacy announcement 
+    (75 words or less) to elections gnome org  If you are not yet a 
+    GNOME Foundation member and would like to stand for election, 
+    you must first apply for membership and be accepted to be eligible 
+    to run. (You may, however, announce your candidacy prior to formal 
+    acceptance of your application;
+    should your application not be accepted, you will not be included in 
+    the list of candidates.)""") + '''
+    ''' + c("""
+    Elected board members with this election will serve for a period of 
+    12 months instead of 18 months.""")
+)
+
+APPLICATIONS_CLOSED = (
+    d(*APPLICATIONS_CLOSED_DATE),
+    'Applications/Renewals closed',
+    c("""If you're not a member of the GNOME Foundation or if 
+    you need to renew your membership, you have to apply at
+    http://foundation.gnome.org/membership/application.php before
+    %s (23:59 UTC).
+    """ % d(*APPLICATIONS_CLOSED_DATE))
+)
+
+CANDIDATES_CLOSED = (
+    d(*CANDIDATES_CLOSED_DATE),
+    'List of candidates closed',
+    CANDIDATES_OPENED[2] # Get the same text again
+)
+
+CANDIDATES_ANNOUNCED = (
+    d(*CANDIDATES_ANNOUNCED_DATE),
+    'List of candidates announced',
+    'You may now start to send your questions to the candidates'
+)
+
+VOTING_OPENED = (
+    d(*VOTING_OPENED_DATE),
+    'Instructions to vote are sent',
+    'We introduce a new voting mechanism: Preferential Voting'
+)
+VOTING_CLOSED = (
+    d(*VOTING_CLOSED_DATE),
+    'Votes must be returned',
+    'Preliminary results are announced on %s' % d(*PRELIMINARY_RESULTS_DATE)
+)
+
+
+PRELIMINARY_RESULTS = (
+    d(*PRELIMINARY_RESULTS_DATE),
+    'Preliminary results are announced',
+    'The preliminary results can be challenged until %s' % d(*CHALLENGE_CLOSED_DATE)
+)
+
+CHALLENGE_CLOSED = (
+    d(*CHALLENGE_CLOSED_DATE),
+    'Challenges to the results closed',
+    "If there weren't any challenges, preliminary results are valid"
+)
+
+
+
+
+def create_ical(eventlist):
+    '''Generates an ical stream based on the list given as eventlist.
+    The list shall contain elements with a tuple with a
+    (date, string, string) object, serving as date when the event takes place,
+    summary and description respectively.
+    '''
+    log = logging.getLogger('create_ical')
+
+    cal = vobject.iCalendar()
+    cal.add('method').value = 'PUBLISH'
+    cal.add('calscale').value = 'GREGORIAN'
+    cal.add('x-wr-timezone').value = 'UTC'
+    
+    for (timestamp, summary, description) in eventlist:
+        log.debug('creating %s, %s', timestamp, description)
+        vevent = cal.add('vevent')
+        vevent.add('dtstart').value = timestamp
+        vevent.add('dtend').value = timestamp + datetime.timedelta(1)
+        vevent.add('summary').value = summary
+        vevent.add('description').value = description
+    
+    stream = cal.serialize()
+    return stream
+
+
+
+if __name__ == "__main__":
+
+    logging.basicConfig( level=logging.CRITICAL )
+    log = logging.getLogger()
+    
+    eventlist = [
+        CANDIDATES_OPENED,
+        APPLICATIONS_CLOSED,
+        CANDIDATES_CLOSED,
+        CANDIDATES_ANNOUNCED,
+        VOTING_OPENED,
+        VOTING_CLOSED,
+        PRELIMINARY_RESULTS,
+        CHALLENGE_CLOSED,
+    ]
+
+    ical = create_ical( eventlist )
+    print ical
diff --git a/foundation.gnome.org/elections/2009/rules.wml b/foundation.gnome.org/elections/2009/rules.wml
new file mode 100644
index 0000000..37cb633
--- /dev/null
+++ b/foundation.gnome.org/elections/2009/rules.wml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html>
+
+  <head>
+    <title>GNOME Foundation 2009 Elections Rules</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  </head>
+
+  <body>
+
+    <h1>Rules &amp; Timeline for the GNOME Foundation 2009 Elections</h1>
+
+    <h2>Elections Rules</h2> 
+
+    <ol>
+      <li>
+        See the <a href="../../about/charter/">GNOME Foundation charter</a> for
+        general rules.
+      </li>
+      <li>
+	There are 7 board slots that are to be filled during these elections.
+      </li>
+      <li>
+        Members of the GNOME Foundation as of May 22th, 2009 are eligible to
+        vote in the elections. Anyone who has made a contribution to GNOME can
+        apply for membership by completing the <a
+        href="../../membership/application.php">application</a>.
+      </li>
+      <li>
+        Any eligible voter is eligible to be elected to the Board of Directors.
+        To announce your candidacy, send a message to
+        <a href="http://mail.gnome.org/archives/foundation-announce/";>foundation-announce&#64;gnome&#46;org</a>
+        with your full name, e-mail, corporate affiliation (if any), and a
+        description of your reasons for wanting to serve as a director.
+        Candidacies must be announced prior to May 25th, 2009, 23:59 UTC.
+      </li>
+      <li>
+        All candidates should mail a summary of their candicacy announcement
+        (see previous rule) to <a
+        href="mailto:elections&#64;gnome&#46;org";>elections&#64;gnome&#46;org</a>.
+        Summaries should be no more than 75 words of continuous text (i.e. no
+        bullet lists or multiple paragraphs) and must be received by the
+        nomination deadline given above. A compilation of the summaries will
+        be mailed to all registered voters several days prior to the elections.
+      </li>
+      <li>
+        All discussion related to the elections should be held on
+        <a href="http://mail.gnome.org/archives/foundation-list/";>foundation-list&#64;gnome&#46;org</a>.
+        Members are invited to ask questions to one or all candidates on that
+        list.
+      </li>
+      <li>
+	Instructions explaining how to vote will be sent via e-mail to all
+	eligible voters on June 3rd, 2009, and votes must be returned by
+	June 17th, 23:59 UTC (18:59 EST).
+      </li>
+      <li>
+        Votes will be held confidential during the elections, but an anonymized
+	archive of all submitted votes will be made publicly accessible at its
+        conclusion.
+      </li>
+      <li>
+        The Elections Committee is responsible for counting the votes.
+      </li>
+      <li>
+	The 7 candidates who receive the most votes will be elected, except
+	that no more than two/four individuals affiliated with any one
+	corporation may be elected. Should more than four of the top eleven
+	vote-getters be affiliated with the same company, only the four with
+	the most votes will be considered elected. For a full definition of
+	corporate affiliation, see the <a href="../../about/charter/">GNOME
+	Foundation charter</a>.
+      </li>
+      <li>
+        In the event of a tie for the final slot on the board, the Elections
+        Committee will schedule run-off elections as soon as possible. 
+      </li>
+      <li>
+        The Elections Committee will announce preliminary results as soon as
+        possible after the elections close, along with instructions on how to
+        access the votes archive and how to independently verify the vote
+        count.
+      </li>
+      <li>
+        Any eligible voter may challenge the preliminary results by e-mailing
+        <a
+        href="mailto:elections&#64;gnome&#46;org";>elections&#64;gnome&#46;org</a>
+        prior to June 26, 2009. The decision of the Elections Committee as
+        to any challenge shall be final. Once any challenges have been
+        resolved, the Elections Committee shall announce the final results.
+      </li>
+      <li>
+        Any questions regarding these procedures should be directed to the
+        Elections Committee by e-mail to <a
+        href="mailto:elections&#64;gnome&#46;org";>elections&#64;gnome&#46;org</a>.
+        The committee shall have the power to make any necessary changes or
+        clarifications to these rules at any point during the elections.
+      </li>
+    </ol>
+
+    <h2>Timeline</h2>
+    <p><small>(all deadlines are 23:59 UTC/18:59 EST)</small></p> 
+    <ul>
+      <li>
+        FIXME:
+        May xx? (Thursday): Last day to apply for membership (to be eligible
+        for these elections).
+      </li>
+      <li>
+        May 25th (Monday): Last day to announce candidacies, submit summary
+        statements.
+      </li>
+      <li>
+        May 27th (Wednesday): Final list of candidates, platform summaries
+        mailed to <a
+        href="http://mail.gnome.org/archives/foundation-list/";>foundation-list&#64;gnome&#46;org</a>.
+      </li>
+      <li>
+        June 3rd (Tuesday): Instructions mailed to eligible voters, voting begins.
+      </li>
+      <li>
+        June 17th (Wednesday): Voting closes.
+      </li>
+      <li>
+        June 19th (Friday): Preliminary results are announced.
+      </li>
+      <li>
+        June 26th (Friday): Last day to challenge preliminary results.
+      </li>
+    </ul>
+
+  </body>
+</html>
diff --git a/foundation.gnome.org/elections/2009/timeline.ics b/foundation.gnome.org/elections/2009/timeline.ics
new file mode 100644
index 0000000..ee32f01
--- /dev/null
+++ b/foundation.gnome.org/elections/2009/timeline.ics
@@ -0,0 +1,91 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+CALSCALE:GREGORIAN
+METHOD:PUBLISH
+PRODID:-//PYVOBJECT//NONSGML Version 1//EN
+BEGIN:VEVENT
+UID:20090511T225159Z-48676 bigbox
+DTSTART;VALUE=DATE:20090515
+DTEND;VALUE=DATE:20090516
+DESCRIPTION:If you are a member of the GNOME Foundation and are interested
+  in running for election\, you may nominate yourself by sending an e-mail 
+ to foundation-announce gnome org with your name\, e-mail address\, corpora
+ te affiliation (if any)\, and a description of why you'd like to serve\, b
+ efore 2009-05-25 (23:59 UTC).\n     You should also send a summary of your
+  candidacy announcement (75 words or less) to elections gnome org  If you 
+ are not yet a GNOME Foundation member and would like to stand for election
+ \, you must first apply for membership and be accepted to be eligible to r
+ un. (You may\, however\, announce your candidacy prior to formal acceptanc
+ e of your application\; should your application not be accepted\, you will
+  not be included in the list of candidates.)\n     Elected board members w
+ ith this election will serve for a period of 12 months instead of 18 month
+ s.
+SUMMARY:Announcements and list of candidates open
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-32667 bigbox
+DTSTART;VALUE=DATE:20090522
+DTEND;VALUE=DATE:20090523
+DESCRIPTION:If you're not a member of the GNOME Foundation or if you need 
+ to renew your membership\, you have to apply at http://foundation.gnome.or
+ g/membership/application.php before 2009-05-22 (23:59 UTC). 
+SUMMARY:Applications/Renewals closed
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-68501 bigbox
+DTSTART;VALUE=DATE:20090525
+DTEND;VALUE=DATE:20090526
+DESCRIPTION:If you are a member of the GNOME Foundation and are interested
+  in running for election\, you may nominate yourself by sending an e-mail 
+ to foundation-announce gnome org with your name\, e-mail address\, corpora
+ te affiliation (if any)\, and a description of why you'd like to serve\, b
+ efore 2009-05-25 (23:59 UTC).\n     You should also send a summary of your
+  candidacy announcement (75 words or less) to elections gnome org  If you 
+ are not yet a GNOME Foundation member and would like to stand for election
+ \, you must first apply for membership and be accepted to be eligible to r
+ un. (You may\, however\, announce your candidacy prior to formal acceptanc
+ e of your application\; should your application not be accepted\, you will
+  not be included in the list of candidates.)\n     Elected board members w
+ ith this election will serve for a period of 12 months instead of 18 month
+ s.
+SUMMARY:List of candidates closed
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-1545 bigbox
+DTSTART;VALUE=DATE:20090527
+DTEND;VALUE=DATE:20090528
+DESCRIPTION:You may now start to send your questions to the candidates
+SUMMARY:List of candidates announced
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-21522 bigbox
+DTSTART;VALUE=DATE:20090603
+DTEND;VALUE=DATE:20090604
+DESCRIPTION:We introduce a new voting mechanism: Preferential Voting
+SUMMARY:Instructions to vote are sent
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-28613 bigbox
+DTSTART;VALUE=DATE:20090617
+DTEND;VALUE=DATE:20090618
+DESCRIPTION:Preliminary results are announced on 2009-06-19
+SUMMARY:Votes must be returned
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-80935 bigbox
+DTSTART;VALUE=DATE:20090619
+DTEND;VALUE=DATE:20090620
+DESCRIPTION:The preliminary results can be challenged until 2009-06-26
+SUMMARY:Preliminary results are announced
+END:VEVENT
+BEGIN:VEVENT
+UID:20090511T225159Z-17100 bigbox
+DTSTART;VALUE=DATE:20090626
+DTEND;VALUE=DATE:20090627
+DESCRIPTION:If there weren't any challenges\, preliminary results are vali
+ d
+SUMMARY:Challenges to the results closed
+END:VEVENT
+X-WR-TIMEZONE:UTC
+END:VCALENDAR
+
diff --git a/foundation.gnome.org/elections/Makefile.am b/foundation.gnome.org/elections/Makefile.am
index 472f001..15e631f 100644
--- a/foundation.gnome.org/elections/Makefile.am
+++ b/foundation.gnome.org/elections/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = 2000 2001 2002 2003 2004 2005 2006 2007
+SUBDIRS = 2000 2001 2002 2003 2004 2005 2006 2007 2009
 
 urlpath = /elections
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]