The results of Pirate Party Australia’s recent National Congress are in!

The annual National Congress took place on July 14–15, and the results of the now concluded week-long voting period are able to be announced.

The results of the motions were as follows:

- Quorum Motion: To raise the quorum from 12% to 14% – passed 87.15% in favour.
- Motion 1: Voting Method – OPTION 2 passed 68.42% in favour.
- Motion 2: Pre-selection of Candidates for Federal Election – passed 95.67% in favour.
- Motion 3: Platform Revision 2012 – passed 98.26% in favour.
- Motion 4: Disclosure of political donations – passed 99.6% in favour.
- Motion 5: Unrestricted Format Shifting – passed 98.82% in favour.
- Motion 7: Non-Commercial Patent Infringement – passed 96.34% in favour.
- Motion 9: 3D Printer Technology – passed 95.10% in favour.
- Submotion A: Distribution of 3D printers to high schools – passed 84.45% in favour.

- Motion 15: Artistic Quotation Rights – passed 98.43% in favour.
- Motion 16: Support for Fibre-to-the-Home Infrastructe Projects – passed 95.14% in favour.
- Motion 17: Mandatory Privacy Breach Disclosure and Leglislative Protection – passed 99.61% in favour.
- Motion 18: Any Australian Government Electronic Voting Systems should be required to be open sourced – passed 97.18% in favour.
- Motion 19: Update to the Network Neutrality section of the Draft Platform – passed 95.26% in favour.
- Motion 19A: Replacement of the Network Neutrality section of the Draft Platform – passed 97.94% in favour.
- Motion 20: Removal of Treaty Making Power from the executive, Ensuring Parliamentary Oversight and Procedural Transparency – passed 97.07% in favour.
- Motion 23: DRM Unlocking Mechanisms – passed 95.55% in favour.
- Motion 24: Freedom of Information Exemptions – passed 96.08% in favour.
- Motion 25: Whistleblower Protection – passed 99.61% in favour.
- Motion 27: Approach to the PPI Situation
- Submotion A: To issue a statement condemning the running of the 2012 PPI GA – passed 97.50% in favour.
- Submotion B: To move that the 2014 PPI GA be held in cyberspace – passed 93.24% in favour.
- Submotion C: To offer to host the 2014 PPI GA in Sydney – passed 92.54% in favour.

- Motion 30: Pirate Party Australia to apply for membership in ACCAN – passed 98.26% in favour.
- Floor Motion 1: The Creation of the Registration Work Group – passed 97.38% in favour.
- Floor Motion 2: Procedure for handling preselection – passed 98.19% in favour.

All motions not listed above were either dismissed or deferred on the Congress floor.

The results of the National Council elections are as follows:

- President – David Campbell
- Deputy President – Simon Frew
- Party Secretary – Brendan Molloy
- Deputy Party Secretary – Mozart Olbrycht-Palmer
- Treasurer – Rodney Serkowski
- Deputy Treasurer – Sam Kearns
- Party Agent – All candidates exceeded the required 10% threshold, and appointment will be made by the National Council at their next meeting.

Candidates elected to the Dispute Resolution Committee are:

- George Campbell
- Hayden Dwyer

Quentin Serrurier will continue his two-Congress term on the Dispute Resolution Committee. This position will become electable at the next Congress.

The results of the motions and elections will be published here as soon as they are tallied.

### Verification

Here is the election data: votedata.json

The software used for counting and verifying the data above can be found on Github.

### Tallying

Here is the raw tallying that occurred to determine who will fulfill the positions:

FIRST ROUND == deputy-president.ballot.csv == Invalid ballot: [None, None, None, 'a', '', '', ''] Count matrix: +----+----+----+----+----+----+----+ | X | 68 | 84 | 48 | 55 | 47 | 74 | +----+----+----+----+----+----+----+ | 61 | X | 72 | 50 | 51 | 47 | 61 | +----+----+----+----+----+----+----+ | 30 | 36 | X | 26 | 22 | 26 | 41 | +----+----+----+----+----+----+----+ | 84 | 81 |103 | X | 72 | 65 | 93 | +----+----+----+----+----+----+----+ | 72 | 67 | 92 | 57 | X | 45 | 79 | +----+----+----+----+----+----+----+ | 93 | 88 |104 | 62 | 78 | X |105 | +----+----+----+----+----+----+----+ | 41 | 53 | 58 | 34 | 40 | 30 | X | +----+----+----+----+----+----+----+ Path matrix: +----+----+----+----+----+----+----+ | X | 68 | 84 | 0 | 0 | 0 | 74 | +----+----+----+----+----+----+----+ | 0 | X | 72 | 0 | 0 | 0 | 61 | +----+----+----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | 0 | 0 | +----+----+----+----+----+----+----+ | 84 | 81 |103 | X | 72 | 65 | 93 | +----+----+----+----+----+----+----+ | 72 | 68 | 92 | 0 | X | 0 | 79 | +----+----+----+----+----+----+----+ | 93 | 88 |104 | 0 | 78 | X |105 | +----+----+----+----+----+----+----+ | 0 | 0 | 58 | 0 | 0 | 0 | X | +----+----+----+----+----+----+----+ (1) molloy (2) frew (3) campbell (4) palmer (5) crafti (6) takkenberg (7) haidon == deputy-secretary.ballot.csv == Invalid ballot: [None, None, None, None, None, 'a'] Count matrix: +----+----+----+----+----+----+ | X | 26 | 54 | 57 | 58 | 47 | +----+----+----+----+----+----+ | 91 | X | 89 | 90 | 91 | 78 | +----+----+----+----+----+----+ | 49 | 34 | X | 56 | 58 | 39 | +----+----+----+----+----+----+ | 33 | 29 | 45 | X | 44 | 37 | +----+----+----+----+----+----+ | 41 | 33 | 44 | 44 | X | 33 | +----+----+----+----+----+----+ | 66 | 49 | 77 | 75 | 82 | X | +----+----+----+----+----+----+ Path matrix: +----+----+----+----+----+----+ | X | 0 | 54 | 57 | 58 | 0 | +----+----+----+----+----+----+ | 91 | X | 89 | 90 | 91 | 78 | +----+----+----+----+----+----+ | 0 | 0 | X | 56 | 58 | 0 | +----+----+----+----+----+----+ | 0 | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+----+ | 0 | 0 | 0 | 0 | X | 0 | +----+----+----+----+----+----+ | 66 | 0 | 77 | 75 | 82 | X | +----+----+----+----+----+----+ (1) molloy (2) palmer (3) campbell (4) takkenberg (5) haidon (6) street == deputy-treasurer.ballot.csv == Invalid ballot: [None, 'a', '', '', '', ''] Count matrix: +----+----+----+----+----+----+ | X | 36 | 48 | 33 | 35 | 36 | +----+----+----+----+----+----+ | 53 | X | 65 | 47 | 44 | 54 | +----+----+----+----+----+----+ | 37 | 22 | X | 30 | 21 | 31 | +----+----+----+----+----+----+ | 65 | 58 | 76 | X | 54 | 64 | +----+----+----+----+----+----+ | 67 | 59 | 70 | 56 | X | 54 | +----+----+----+----+----+----+ | 59 | 45 | 59 | 44 | 44 | X | +----+----+----+----+----+----+ Path matrix: +----+----+----+----+----+----+ | X | 0 | 48 | 0 | 0 | 0 | +----+----+----+----+----+----+ | 54 | X | 65 | 0 | 0 | 54 | +----+----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | 0 | +----+----+----+----+----+----+ | 65 | 58 | 76 | X | 0 | 64 | +----+----+----+----+----+----+ | 67 | 59 | 70 | 56 | X | 56 | +----+----+----+----+----+----+ | 59 | 0 | 59 | 0 | 0 | X | +----+----+----+----+----+----+ (1) kearns (2) campbell (3) takkenberg (4) street (5) haidon (6) mcginnes == drc.ballot.csv == Invalid ballot: [None, None, None, 'a', '', ''] Count matrix: +----+----+----+----+----+----+ | X | 71 | 77 | 47 | 72 | 45 | +----+----+----+----+----+----+ | 36 | X | 52 | 33 | 48 | 30 | +----+----+----+----+----+----+ | 32 | 35 | X | 27 | 25 | 22 | +----+----+----+----+----+----+ | 63 | 74 | 76 | X | 73 | 46 | +----+----+----+----+----+----+ | 40 | 39 | 50 | 32 | X | 31 | +----+----+----+----+----+----+ | 65 | 77 | 80 | 51 | 70 | X | +----+----+----+----+----+----+ Path matrix: +----+----+----+----+----+----+ | X | 71 | 77 | 0 | 72 | 0 | +----+----+----+----+----+----+ | 0 | X | 52 | 0 | 48 | 0 | +----+----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | 0 | +----+----+----+----+----+----+ | 63 | 74 | 76 | X | 73 | 0 | +----+----+----+----+----+----+ | 0 | 0 | 50 | 0 | X | 0 | +----+----+----+----+----+----+ | 65 | 77 | 80 | 51 | 70 | X | +----+----+----+----+----+----+ (1) campbell (2) dwyer (3) crafti (4) shaw (5) serrurier (6) mcginnes == party-agent.ballot.csv == Invalid ballot: [None, None, None, None, 'a'] Count matrix: +----+----+----+----+----+ | X | 41 | 58 | 41 | 51 | +----+----+----+----+----+ | 64 | X | 69 | 60 | 62 | +----+----+----+----+----+ | 42 | 40 | X | 41 | 48 | +----+----+----+----+----+ | 64 | 56 | 72 | X | 65 | +----+----+----+----+----+ | 44 | 34 | 54 | 37 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 0 | 58 | 0 | 51 | +----+----+----+----+----+ | 64 | X | 69 | 60 | 62 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 64 | 0 | 72 | X | 65 | +----+----+----+----+----+ | 0 | 0 | 54 | 0 | X | +----+----+----+----+----+ (1) street (2) campbell (3) takkenberg (4) haidon (5) shaw == president.ballot.csv == Invalid ballot: [None, 'a'] Count matrix: +----+----+ | X |104 | +----+----+ | 57 | X | +----+----+ Path matrix: +----+----+ | X |104 | +----+----+ | 0 | X | +----+----+ (1) campbell (2) frew == secretary.ballot.csv == Invalid ballot: ['a', ''] Count matrix: +----+----+ | X |142 | +----+----+ | 26 | X | +----+----+ Path matrix: +----+----+ | X |142 | +----+----+ | 0 | X | +----+----+ (1) molloy (2) takkenberg == treasurer.ballot.csv == Invalid ballot: [None, 'a', ''] Count matrix: +----+----+----+ | X | 79 | 95 | +----+----+----+ | 53 | X | 82 | +----+----+----+ | 35 | 49 | X | +----+----+----+ Path matrix: +----+----+----+ | X | 79 | 95 | +----+----+----+ | 0 | X | 82 | +----+----+----+ | 0 | 0 | X | +----+----+----+ (1) serkowski (2) campbell (3) kearns David Campbell accepts the position of President ROUND TWO $ for f in *.ballot.csv; do echo -e "== $f ==\n`python3.2 schulze.py $f campbell`"; done == deputy-president.ballot.csv == Invalid ballot: [None, None, None, 'a', '', ''] Count matrix: +----+----+----+----+----+----+ | X | 68 | 84 | 48 | 47 | 74 | +----+----+----+----+----+----+ | 61 | X | 72 | 50 | 47 | 61 | +----+----+----+----+----+----+ | 30 | 36 | X | 26 | 26 | 41 | +----+----+----+----+----+----+ | 84 | 81 |103 | X | 65 | 93 | +----+----+----+----+----+----+ | 93 | 88 |104 | 62 | X |105 | +----+----+----+----+----+----+ | 41 | 53 | 58 | 34 | 30 | X | +----+----+----+----+----+----+ Path matrix: +----+----+----+----+----+----+ | X | 68 | 84 | 0 | 0 | 74 | +----+----+----+----+----+----+ | 0 | X | 72 | 0 | 0 | 61 | +----+----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | 0 | +----+----+----+----+----+----+ | 84 | 81 |103 | X | 65 | 93 | +----+----+----+----+----+----+ | 93 | 88 |104 | 0 | X |105 | +----+----+----+----+----+----+ | 0 | 0 | 58 | 0 | 0 | X | +----+----+----+----+----+----+ (1) molloy (2) frew (3) palmer (4) crafti (5) takkenberg (6) haidon == deputy-secretary.ballot.csv == Invalid ballot: [None, None, None, None, 'a'] Count matrix: +----+----+----+----+----+ | X | 89 | 90 | 91 | 78 | +----+----+----+----+----+ | 34 | X | 56 | 58 | 39 | +----+----+----+----+----+ | 29 | 45 | X | 44 | 37 | +----+----+----+----+----+ | 33 | 44 | 44 | X | 33 | +----+----+----+----+----+ | 49 | 77 | 75 | 82 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 89 | 90 | 91 | 78 | +----+----+----+----+----+ | 0 | X | 56 | 58 | 0 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 0 | 0 | 0 | X | 0 | +----+----+----+----+----+ | 0 | 77 | 75 | 82 | X | +----+----+----+----+----+ (1) molloy (2) palmer (3) takkenberg (4) haidon (5) street == deputy-treasurer.ballot.csv == Invalid ballot: [None, 'a', '', '', ''] Count matrix: +----+----+----+----+----+ | X | 36 | 48 | 35 | 36 | +----+----+----+----+----+ | 53 | X | 65 | 44 | 54 | +----+----+----+----+----+ | 37 | 22 | X | 21 | 31 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 45 | 59 | 44 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 0 | 48 | 0 | 0 | +----+----+----+----+----+ | 54 | X | 65 | 0 | 54 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 0 | 59 | 0 | X | +----+----+----+----+----+ (1) kearns (2) takkenberg (3) street (4) haidon (5) mcginnes == party-agent.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 41 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 42 | 40 | X | 48 | +----+----+----+----+ | 44 | 34 | 54 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 0 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 0 | 0 | 54 | X | +----+----+----+----+ (1) street (2) takkenberg (3) haidon (4) shaw (1) frew == secretary.ballot.csv == Invalid ballot: ['a', ''] Count matrix: +----+----+ | X |142 | +----+----+ | 26 | X | +----+----+ Path matrix: +----+----+ | X |142 | +----+----+ | 0 | X | +----+----+ (1) molloy (2) takkenberg == treasurer.ballot.csv == Count matrix: +----+----+ | X | 95 | +----+----+ | 35 | X | +----+----+ Path matrix: +----+----+ | X | 95 | +----+----+ | 0 | X | +----+----+ (1) serkowski (2) kearns Brendan Molloy accepts Secretary. ROUND THREE $ for f in *.ballot.csv; do echo -e "== $f ==\n`python3.2 schulze.py $f campbell molloy`"; done == deputy-president.ballot.csv == Count matrix: +----+----+----+----+----+ | X | 68 | 84 | 47 | 74 | +----+----+----+----+----+ | 61 | X | 72 | 47 | 61 | +----+----+----+----+----+ | 30 | 36 | X | 26 | 41 | +----+----+----+----+----+ | 93 | 88 |104 | X |105 | +----+----+----+----+----+ | 41 | 53 | 58 | 30 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 68 | 84 | 0 | 74 | +----+----+----+----+----+ | 0 | X | 72 | 0 | 61 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 93 | 88 |104 | X |105 | +----+----+----+----+----+ | 0 | 0 | 58 | 0 | X | +----+----+----+----+----+ (1) frew (2) palmer (3) crafti (4) takkenberg (5) haidon == deputy-secretary.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 56 | 58 | 39 | +----+----+----+----+ | 45 | X | 44 | 37 | +----+----+----+----+ | 44 | 44 | X | 33 | +----+----+----+----+ | 77 | 75 | 82 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 56 | 58 | 0 | +----+----+----+----+ | 0 | X | 0 | 0 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 77 | 75 | 82 | X | +----+----+----+----+ (1) palmer (2) takkenberg (3) haidon (4) street == deputy-treasurer.ballot.csv == Invalid ballot: [None, 'a', '', '', ''] Count matrix: +----+----+----+----+----+ | X | 36 | 48 | 35 | 36 | +----+----+----+----+----+ | 53 | X | 65 | 44 | 54 | +----+----+----+----+----+ | 37 | 22 | X | 21 | 31 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 45 | 59 | 44 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 0 | 48 | 0 | 0 | +----+----+----+----+----+ | 54 | X | 65 | 0 | 54 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 0 | 59 | 0 | X | +----+----+----+----+----+ (1) kearns (2) takkenberg (3) street (4) haidon (5) mcginnes == party-agent.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 41 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 42 | 40 | X | 48 | +----+----+----+----+ | 44 | 34 | 54 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 0 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 0 | 0 | 54 | X | +----+----+----+----+ (1) street (2) takkenberg (3) haidon (4) shaw (1) takkenberg == treasurer.ballot.csv == Count matrix: +----+----+ | X | 95 | +----+----+ | 35 | X | +----+----+ Path matrix: +----+----+ | X | 95 | +----+----+ | 0 | X | +----+----+ (1) serkowski (2) kearns Rodney Serkowski accepts position of Treasurer. ROUND FOUR $ for f in *.ballot.csv; do echo -e "== $f ==\n`python3.2 schulze.py $f campbell molloy serkowski`"; done == deputy-president.ballot.csv == Count matrix: +----+----+----+----+----+ | X | 68 | 84 | 47 | 74 | +----+----+----+----+----+ | 61 | X | 72 | 47 | 61 | +----+----+----+----+----+ | 30 | 36 | X | 26 | 41 | +----+----+----+----+----+ | 93 | 88 |104 | X |105 | +----+----+----+----+----+ | 41 | 53 | 58 | 30 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 68 | 84 | 0 | 74 | +----+----+----+----+----+ | 0 | X | 72 | 0 | 61 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 93 | 88 |104 | X |105 | +----+----+----+----+----+ | 0 | 0 | 58 | 0 | X | +----+----+----+----+----+ (1) frew (2) palmer (3) crafti (4) takkenberg (5) haidon == deputy-secretary.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 56 | 58 | 39 | +----+----+----+----+ | 45 | X | 44 | 37 | +----+----+----+----+ | 44 | 44 | X | 33 | +----+----+----+----+ | 77 | 75 | 82 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 56 | 58 | 0 | +----+----+----+----+ | 0 | X | 0 | 0 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 77 | 75 | 82 | X | +----+----+----+----+ (1) palmer (2) takkenberg (3) haidon (4) street == deputy-treasurer.ballot.csv == Invalid ballot: [None, 'a', '', '', ''] Count matrix: +----+----+----+----+----+ | X | 36 | 48 | 35 | 36 | +----+----+----+----+----+ | 53 | X | 65 | 44 | 54 | +----+----+----+----+----+ | 37 | 22 | X | 21 | 31 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 45 | 59 | 44 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 0 | 48 | 0 | 0 | +----+----+----+----+----+ | 54 | X | 65 | 0 | 54 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 0 | 59 | 0 | X | +----+----+----+----+----+ (1) kearns (2) takkenberg (3) street (4) haidon (5) mcginnes == party-agent.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 41 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 42 | 40 | X | 48 | +----+----+----+----+ | 44 | 34 | 54 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 0 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 0 | 0 | 54 | X | +----+----+----+----+ (1) street (2) takkenberg (3) haidon (4) shaw Simon Frew accepts Deputy President. ROUND FIVE $ for f in *.ballot.csv; do echo -e "== $f ==\n`python3.2 schulze.py $f campbell molloy serkowski frew`"; done == deputy-secretary.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 56 | 58 | 39 | +----+----+----+----+ | 45 | X | 44 | 37 | +----+----+----+----+ | 44 | 44 | X | 33 | +----+----+----+----+ | 77 | 75 | 82 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 56 | 58 | 0 | +----+----+----+----+ | 0 | X | 0 | 0 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 77 | 75 | 82 | X | +----+----+----+----+ (1) palmer (2) takkenberg (3) haidon (4) street == deputy-treasurer.ballot.csv == Invalid ballot: [None, 'a', '', '', ''] Count matrix: +----+----+----+----+----+ | X | 36 | 48 | 35 | 36 | +----+----+----+----+----+ | 53 | X | 65 | 44 | 54 | +----+----+----+----+----+ | 37 | 22 | X | 21 | 31 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 45 | 59 | 44 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 0 | 48 | 0 | 0 | +----+----+----+----+----+ | 54 | X | 65 | 0 | 54 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 0 | 59 | 0 | X | +----+----+----+----+----+ (1) kearns (2) takkenberg (3) street (4) haidon (5) mcginnes == party-agent.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 41 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 42 | 40 | X | 48 | +----+----+----+----+ | 44 | 34 | 54 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 0 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 0 | 0 | 54 | X | +----+----+----+----+ (1) street (2) takkenberg (3) haidon (4) shaw Mozart Olbrycht-Palmer accepts Deputy Secretary. ROUND SIX $ for f in *.ballot.csv; do echo -e "== $f ==\n`python3.2 schulze.py $f campbell molloy serkowski frew palmer`"; done == deputy-treasurer.ballot.csv == Invalid ballot: [None, 'a', '', '', ''] Count matrix: +----+----+----+----+----+ | X | 36 | 48 | 35 | 36 | +----+----+----+----+----+ | 53 | X | 65 | 44 | 54 | +----+----+----+----+----+ | 37 | 22 | X | 21 | 31 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 45 | 59 | 44 | X | +----+----+----+----+----+ Path matrix: +----+----+----+----+----+ | X | 0 | 48 | 0 | 0 | +----+----+----+----+----+ | 54 | X | 65 | 0 | 54 | +----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | +----+----+----+----+----+ | 67 | 59 | 70 | X | 54 | +----+----+----+----+----+ | 59 | 0 | 59 | 0 | X | +----+----+----+----+----+ (1) kearns (2) takkenberg (3) street (4) haidon (5) mcginnes == party-agent.ballot.csv == Invalid ballot: [None, None, None, 'a'] Count matrix: +----+----+----+----+ | X | 41 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 42 | 40 | X | 48 | +----+----+----+----+ | 44 | 34 | 54 | X | +----+----+----+----+ Path matrix: +----+----+----+----+ | X | 0 | 58 | 51 | +----+----+----+----+ | 64 | X | 69 | 62 | +----+----+----+----+ | 0 | 0 | X | 0 | +----+----+----+----+ | 0 | 0 | 54 | X | +----+----+----+----+ (1) street (2) takkenberg (3) haidon (4) shaw Sam Kearns accepts position of Deputy Treasurer. DRC ROUND $ python3.2 schulze.py drc.ballot.csv Invalid ballot: [None, None, None, 'a', '', ''] Count matrix: +----+----+----+----+----+----+ | X | 71 | 77 | 47 | 72 | 45 | +----+----+----+----+----+----+ | 36 | X | 52 | 33 | 48 | 30 | +----+----+----+----+----+----+ | 32 | 35 | X | 27 | 25 | 22 | +----+----+----+----+----+----+ | 63 | 74 | 76 | X | 73 | 46 | +----+----+----+----+----+----+ | 40 | 39 | 50 | 32 | X | 31 | +----+----+----+----+----+----+ | 65 | 77 | 80 | 51 | 70 | X | +----+----+----+----+----+----+ Path matrix: +----+----+----+----+----+----+ | X | 71 | 77 | 0 | 72 | 0 | +----+----+----+----+----+----+ | 0 | X | 52 | 0 | 48 | 0 | +----+----+----+----+----+----+ | 0 | 0 | X | 0 | 0 | 0 | +----+----+----+----+----+----+ | 63 | 74 | 76 | X | 73 | 0 | +----+----+----+----+----+----+ | 0 | 0 | 50 | 0 | X | 0 | +----+----+----+----+----+----+ | 65 | 77 | 80 | 51 | 70 | X | +----+----+----+----+----+----+ (1) campbell (2) dwyer (3) crafti (4) shaw (5) serrurier (6) mcginnes George Campbell accepts first position on DRC. Hayden Dwyer accepts second position on DRC.