aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-11-29 01:23:50 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-11-29 01:23:50 +0000
commit81dc514a2044a1cd2b2b8558bf20635e27f10024 (patch)
treec2e7e7b05e0517bf0124f666dd123673962b178e
parent10b5b817f805a4bd432671035afbe506a44361ec (diff)
downloadperlweeklychallenge-club-81dc514a2044a1cd2b2b8558bf20635e27f10024.tar.gz
perlweeklychallenge-club-81dc514a2044a1cd2b2b8558bf20635e27f10024.tar.bz2
perlweeklychallenge-club-81dc514a2044a1cd2b2b8558bf20635e27f10024.zip
- Added solutions by Flavio Poletti.
-rw-r--r--challenge-140/polettix/blog.txt1
-rw-r--r--challenge-140/polettix/blog1.txt1
-rw-r--r--challenge-140/polettix/perl/ch-1.pl29
-rw-r--r--challenge-140/polettix/perl/ch-2.pl93
-rw-r--r--challenge-140/polettix/raku/ch-1.raku8
-rw-r--r--challenge-140/polettix/raku/ch-2.raku73
-rw-r--r--stats/pwc-current.json541
-rw-r--r--stats/pwc-language-breakdown-summary.json52
-rw-r--r--stats/pwc-language-breakdown.json998
-rw-r--r--stats/pwc-leaders.json742
-rw-r--r--stats/pwc-summary-1-30.json38
-rw-r--r--stats/pwc-summary-121-150.json34
-rw-r--r--stats/pwc-summary-151-180.json50
-rw-r--r--stats/pwc-summary-181-210.json112
-rw-r--r--stats/pwc-summary-211-240.json28
-rw-r--r--stats/pwc-summary-241-270.json72
-rw-r--r--stats/pwc-summary-31-60.json112
-rw-r--r--stats/pwc-summary-61-90.json26
-rw-r--r--stats/pwc-summary-91-120.json46
-rw-r--r--stats/pwc-summary.json36
20 files changed, 1660 insertions, 1432 deletions
diff --git a/challenge-140/polettix/blog.txt b/challenge-140/polettix/blog.txt
new file mode 100644
index 0000000000..9154b31bd8
--- /dev/null
+++ b/challenge-140/polettix/blog.txt
@@ -0,0 +1 @@
+https://github.polettix.it/ETOOBUSY/2021/11/24/pwc140-add-binary/
diff --git a/challenge-140/polettix/blog1.txt b/challenge-140/polettix/blog1.txt
new file mode 100644
index 0000000000..fca7709ef5
--- /dev/null
+++ b/challenge-140/polettix/blog1.txt
@@ -0,0 +1 @@
+https://github.polettix.it/ETOOBUSY/2021/11/25/pwc140-multiplication-table/
diff --git a/challenge-140/polettix/perl/ch-1.pl b/challenge-140/polettix/perl/ch-1.pl
new file mode 100644
index 0000000000..509c326f23
--- /dev/null
+++ b/challenge-140/polettix/perl/ch-1.pl
@@ -0,0 +1,29 @@
+#!/usr/bin/env perl
+use v5.24;
+use warnings;
+use experimental 'signatures';
+no warnings 'experimental::signatures';
+
+package Bin;
+use overload
+ '+' => sub ($A, $B, @whatever) {
+ my @A = split m{}mxs, $$A;
+ my @B = split m{}mxs, $$B;
+ my @result;
+ my $carry = 0;
+ while (@A || @B) {
+ my $sum = $carry + (pop(@A) // 0) + (pop(@B) // 0);
+ unshift @result, $sum & 0x01;
+ $carry = $sum >> 1;
+ }
+ unshift @result, $carry if $carry;
+ @result = (0) unless @result;
+ return Bin->new(join '', @result);
+ },
+ '""' => sub ($x, @whatever) { '' . $$x };
+sub new ($p, $x) { return bless \$x, $p }
+
+package main;
+sub Bin ($x) { return Bin->new($x) }
+
+say Bin($ARGV[0] // 11) + Bin($ARGV[1] // 1);
diff --git a/challenge-140/polettix/perl/ch-2.pl b/challenge-140/polettix/perl/ch-2.pl
new file mode 100644
index 0000000000..ebe3b6320e
--- /dev/null
+++ b/challenge-140/polettix/perl/ch-2.pl
@@ -0,0 +1,93 @@
+#!/usr/bin/env perl
+use v5.24;
+use warnings;
+use experimental 'signatures';
+no warnings 'experimental::signatures';
+
+my ($i, $j, $k) = @ARGV;
+$i //= 2;
+$j //= 3;
+$k //= 4;
+
+say multiplication_table_pq($i, $j, $k);
+say multiplication_table_bf($i, $j, $k) if $k < 2000;
+
+sub multiplication_table_bf ($i, $j, $k) {
+ my @prods;
+ for my $I (1 .. min($i, $k)) {
+ for my $J (1 .. min($j, $k)) {
+ push @prods, $I * $J;
+ }
+ }
+ @prods = sort {$a <=> $b} @prods;
+ return $prods[$k - 1];
+}
+
+sub max ($x, $y) { $x > $y ? $x : $y }
+sub min ($x, $y) { $x < $y ? $x : $y }
+
+sub multiplication_table_pq ($i, $j, $k) {
+ die "out of range (too low!)\n" if $k == 0;
+ die "out of range (too high!)\n" if $k > $i * $j;
+
+ return $k if $k <= 2 || $k == $i * $j;
+ return max($i * ($j - 1), ($i - 1) * $j) if $k == $i * $j - 1;
+
+ my $pq = BPQ->new(
+ before => sub ($x, $y) { $x->[0] < $y->[0] },
+ items => [[1, 1, 1]],
+ );
+ my %seen = ('1.1' => 1); # just to give the gist of it...
+ while ($k > 1) {
+ my ($p, $I, $J) = $pq->dequeue->@*;
+ for my $deltas ([0, 1], [1, 0]) {
+ my $I_ = $I + $deltas->[0];
+ next if $I_ > $i;
+ my $J_ = $J + $deltas->[1];
+ next if $J_ > $j;
+ next if $seen{"$I_.$J_"}++;
+ $pq->enqueue([$I_ * $J_, $I_, $J_]);
+ }
+ --$k;
+ }
+ my ($result) = $pq->dequeue->@*;
+ return $result;
+}
+
+package BPQ;
+sub dequeue; # see below
+sub enqueue; # see below
+sub is_empty { return !$#{$_[0]{items}} }
+sub top { return $#{$_[0]{items}} ? $_[0]{items}[1] : () }
+sub new; # see below
+sub size { return $#{$_[0]{items}} }
+
+sub dequeue { # includes "sink"
+ my ($is, $before, $k) = (@{$_[0]}{qw< items before >}, 1);
+ return unless $#$is;
+ my $r = ($#$is > 1) ? (splice @$is, 1, 1, pop @$is) : pop @$is;
+ while ((my $j = $k * 2) <= $#$is) {
+ ++$j if ($j < $#$is) && $before->($is->[$j + 1], $is->[$j]);
+ last if $before->($is->[$k], $is->[$j]);
+ (@{$is}[$j, $k], $k) = (@{$is}[$k, $j], $j);
+ }
+ return $r;
+} ## end sub dequeue
+
+sub enqueue { # includes "swim"
+ my ($is, $before) = (@{$_[0]}{qw< items before >});
+ push @$is, $_[1];
+ my $k = $#$is;
+ (@{$is}[$k / 2, $k], $k) = (@{$is}[$k, $k / 2], int($k / 2))
+ while ($k > 1) && $before->($is->[$k], $is->[$k / 2]);
+} ## end sub enqueue
+
+sub new {
+ my $package = shift;
+ my $self = bless {((@_ && ref($_[0])) ? %{$_[0]} : @_)}, $package;
+ $self->{before} ||= sub { $_[0] < $_[1] };
+ (my $is, $self->{items}) = ($self->{items} || [], ['-']);
+ $self->enqueue($_) for @$is;
+ return $self;
+} ## end sub new
+1;
diff --git a/challenge-140/polettix/raku/ch-1.raku b/challenge-140/polettix/raku/ch-1.raku
new file mode 100644
index 0000000000..eacae34208
--- /dev/null
+++ b/challenge-140/polettix/raku/ch-1.raku
@@ -0,0 +1,8 @@
+#!/usr/bin/env raku
+use v6;
+subset Bin of Str where * ~~ /^ <[0 1]>+ $/;
+sub add-binary (Bin() $a, Bin() $b) {
+ return ($a.parse-base(2) + $b.parse-base(2)).base(2);
+}
+multi sub infix:<+> (Bin $A, Bin $B) { add-binary($A, $B) }
+sub MAIN (Bin() $A = 101, Bin() $B = 11) { put $A + $B }
diff --git a/challenge-140/polettix/raku/ch-2.raku b/challenge-140/polettix/raku/ch-2.raku
new file mode 100644
index 0000000000..b5583c30a8
--- /dev/null
+++ b/challenge-140/polettix/raku/ch-2.raku
@@ -0,0 +1,73 @@
+#!/usr/bin/env raku
+use v6;
+
+class BasicPriorityQueue {
+ has @!items;
+ has &!before;
+
+ submethod BUILD (:&!before = {$^a < $^b}, :@items) {
+ @!items = '-';
+ self.enqueue($_) for @items;
+ }
+
+ #method dequeue ($obj) <-- see below
+ method elems { @!items.end }
+ # method enqueue ($obj) <-- see below
+ method is-empty { @!items.elems == 1 }
+ method size { @!items.end }
+ method top { @!items.end ?? @!items[1] !! Any }
+
+ method dequeue () { # includes "sink"
+ return unless @!items.end;
+ my $r = @!items.pop;
+ ($r, @!items[1]) = (@!items[1], $r) if @!items.end >= 1;
+ my $k = 1;
+ while (my $j = $k * 2) <= @!items.end {
+ ++$j if $j < @!items.end && &!before(@!items[$j + 1], @!items[$j]);
+ last if &!before(@!items[$k], @!items[$j]);
+ (@!items[$j, $k], $k) = (|@!items[$k, $j], $j);
+ }
+ return $r;
+ }
+
+ method enqueue ($obj) { # includes "swim"
+ @!items.push: $obj;
+ my $k = @!items.end;
+ (@!items[$k/2, $k], $k) = (|@!items[$k, $k/2], ($k/2).Int)
+ while $k > 1 && &!before(@!items[$k], @!items[$k/2]);
+ return self;
+ }
+}
+
+sub MAIN (Int $i = 2, Int $j = 3, Int $k = 4) {
+ put multiplication-table($i, $j, $k);
+}
+
+sub multiplication-table (Int $i, Int $j, Int $k is copy) {
+ die "out of range (too low!)\n" if $k == 0;
+ die "out of range (too high!)\n" if $k > $i * $j;
+
+ return $k if $k <= 2 || $k == $i * $j;
+ return max($i * ($j - 1), ($i - 1) * $j) if $k == $i * $j - 1;
+
+ my $pq = BasicPriorityQueue.new(
+ items => [[1, 1, 1],],
+ before => { $^a[0] < $^b[0] },
+ );
+ my %seen = '1.1' => 1;
+ while ($k > 1) {
+ my $item = $pq.dequeue;
+ my ($p, $I, $J) = $item.Slip;
+ for [0, 1], [1, 0] -> $deltas {
+ my $I_ = $I + $deltas[0];
+ next if $I_ > $i;
+ my $J_ = $J + $deltas[1];
+ next if $J_ > $j;
+ next if %seen{"$I_.$J_"}++;
+ $pq.enqueue([$I_ * $J_, $I_, $J_]);
+ }
+ --$k;
+ }
+ my ($result) = $pq.dequeue;
+ return $result;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 4d5fa4d5f2..11d5e79d56 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,221 +1,30 @@
{
- "chart" : {
- "type" : "column"
+ "tooltip" : {
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1,
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
},
- "series" : [
- {
- "data" : [
- {
- "name" : "Abigail",
- "drilldown" : "Abigail",
- "y" : 4
- },
- {
- "y" : 4,
- "drilldown" : "Adam Russell",
- "name" : "Adam Russell"
- },
- {
- "name" : "Alexander Pankoff",
- "y" : 2,
- "drilldown" : "Alexander Pankoff"
- },
- {
- "name" : "Andrew Shitov",
- "y" : 2,
- "drilldown" : "Andrew Shitov"
- },
- {
- "name" : "Arne Sommer",
- "drilldown" : "Arne Sommer",
- "y" : 3
- },
- {
- "drilldown" : "Athanasius",
- "y" : 4,
- "name" : "Athanasius"
- },
- {
- "y" : 1,
- "drilldown" : "Cheok-Yin Fung",
- "name" : "Cheok-Yin Fung"
- },
- {
- "y" : 4,
- "drilldown" : "Colin Crain",
- "name" : "Colin Crain"
- },
- {
- "drilldown" : "Cristina Heredia",
- "y" : 1,
- "name" : "Cristina Heredia"
- },
- {
- "name" : "Dave Jacoby",
- "y" : 3,
- "drilldown" : "Dave Jacoby"
- },
- {
- "y" : 2,
- "drilldown" : "Duncan C. White",
- "name" : "Duncan C. White"
- },
- {
- "drilldown" : "E. Choroba",
- "y" : 2,
- "name" : "E. Choroba"
- },
- {
- "name" : "Feng Chang",
- "y" : 2,
- "drilldown" : "Feng Chang"
- },
- {
- "y" : 2,
- "drilldown" : "Jake",
- "name" : "Jake"
- },
- {
- "y" : 3,
- "drilldown" : "James Smith",
- "name" : "James Smith"
- },
- {
- "name" : "Jan Krnavek",
- "y" : 2,
- "drilldown" : "Jan Krnavek"
- },
- {
- "y" : 2,
- "drilldown" : "Jorg Sommrey",
- "name" : "Jorg Sommrey"
- },
- {
- "drilldown" : "Laurent Rosenfeld",
- "y" : 6,
- "name" : "Laurent Rosenfeld"
- },
- {
- "name" : "Lubos Kolouch",
- "drilldown" : "Lubos Kolouch",
- "y" : 2
- },
- {
- "name" : "Luca Ferrari",
- "drilldown" : "Luca Ferrari",
- "y" : 6
- },
- {
- "drilldown" : "Mano Chandar",
- "y" : 1,
- "name" : "Mano Chandar"
- },
- {
- "drilldown" : "Matthew Neleigh",
- "y" : 2,
- "name" : "Matthew Neleigh"
- },
- {
- "y" : 2,
- "drilldown" : "Mohammad S Anwar",
- "name" : "Mohammad S Anwar"
- },
- {
- "name" : "Niels van Dijke",
- "y" : 2,
- "drilldown" : "Niels van Dijke"
- },
- {
- "name" : "Olivier Delouya",
- "y" : 1,
- "drilldown" : "Olivier Delouya"
- },
- {
- "drilldown" : "Paul Fajman",
- "y" : 1,
- "name" : "Paul Fajman"
- },
- {
- "y" : 2,
- "drilldown" : "Paulo Custodio",
- "name" : "Paulo Custodio"
- },
- {
- "y" : 2,
- "drilldown" : "Pete Houston",
- "name" : "Pete Houston"
- },
- {
- "name" : "Peter Campbell Smith",
- "y" : 2,
- "drilldown" : "Peter Campbell Smith"
- },
- {
- "name" : "Robert DiCicco",
- "y" : 1,
- "drilldown" : "Robert DiCicco"
- },
- {
- "drilldown" : "Roger Bell_West",
- "y" : 5,
- "name" : "Roger Bell_West"
- },
- {
- "drilldown" : "Simon Green",
- "y" : 3,
- "name" : "Simon Green"
- },
- {
- "name" : "Ulrich Rieke",
- "y" : 3,
- "drilldown" : "Ulrich Rieke"
- },
- {
- "name" : "W. Luis Mochan",
- "y" : 3,
- "drilldown" : "W. Luis Mochan"
- },
- {
- "name" : "Wanderdoc",
- "drilldown" : "Wanderdoc",
- "y" : 2
- }
- ],
- "colorByPoint" : 1,
- "name" : "The Weekly Challenge - 140"
- }
- ],
"subtitle" : {
- "text" : "[Champions: 35] Last updated at 2021-11-29 00:37:13 GMT"
+ "text" : "[Champions: 36] Last updated at 2021-11-29 01:22:01 GMT"
},
"xAxis" : {
"type" : "category"
},
- "title" : {
- "text" : "The Weekly Challenge - 140"
- },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "tooltip" : {
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1
+ "legend" : {
+ "enabled" : 0
},
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
+ "chart" : {
+ "type" : "column"
},
"drilldown" : {
"series" : [
{
+ "id" : "Abigail",
"data" : [
[
"Perl",
@@ -226,7 +35,6 @@
2
]
],
- "id" : "Abigail",
"name" : "Abigail"
},
{
@@ -240,30 +48,31 @@
2
]
],
- "id" : "Adam Russell",
- "name" : "Adam Russell"
+ "name" : "Adam Russell",
+ "id" : "Adam Russell"
},
{
"id" : "Alexander Pankoff",
+ "name" : "Alexander Pankoff",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Alexander Pankoff"
+ ]
},
{
+ "id" : "Andrew Shitov",
+ "name" : "Andrew Shitov",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Andrew Shitov",
- "name" : "Andrew Shitov"
+ ]
},
{
+ "name" : "Arne Sommer",
"data" : [
[
"Raku",
@@ -274,11 +83,10 @@
1
]
],
- "id" : "Arne Sommer",
- "name" : "Arne Sommer"
+ "id" : "Arne Sommer"
},
{
- "id" : "Athanasius",
+ "name" : "Athanasius",
"data" : [
[
"Perl",
@@ -289,7 +97,7 @@
2
]
],
- "name" : "Athanasius"
+ "id" : "Athanasius"
},
{
"name" : "Cheok-Yin Fung",
@@ -316,17 +124,16 @@
"id" : "Colin Crain"
},
{
+ "id" : "Cristina Heredia",
+ "name" : "Cristina Heredia",
"data" : [
[
"Perl",
1
]
- ],
- "id" : "Cristina Heredia",
- "name" : "Cristina Heredia"
+ ]
},
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -337,17 +144,18 @@
1
]
],
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby"
},
{
- "id" : "Duncan C. White",
"data" : [
[
"Perl",
2
]
],
- "name" : "Duncan C. White"
+ "name" : "Duncan C. White",
+ "id" : "Duncan C. White"
},
{
"id" : "E. Choroba",
@@ -360,27 +168,46 @@
"name" : "E. Choroba"
},
{
- "id" : "Feng Chang",
"data" : [
[
"Raku",
2
]
],
- "name" : "Feng Chang"
+ "name" : "Feng Chang",
+ "id" : "Feng Chang"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 2
+ ]
+ ],
+ "name" : "Flavio Poletti",
+ "id" : "Flavio Poletti"
},
{
- "name" : "Jake",
"id" : "Jake",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Jake"
},
{
"id" : "James Smith",
+ "name" : "James Smith",
"data" : [
[
"Perl",
@@ -390,8 +217,7 @@
"Blog",
1
]
- ],
- "name" : "James Smith"
+ ]
},
{
"name" : "Jan Krnavek",
@@ -404,17 +230,16 @@
"id" : "Jan Krnavek"
},
{
+ "id" : "Jorg Sommrey",
"name" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Jorg Sommrey"
+ ]
},
{
- "name" : "Laurent Rosenfeld",
"id" : "Laurent Rosenfeld",
"data" : [
[
@@ -429,17 +254,18 @@
"Blog",
2
]
- ]
+ ],
+ "name" : "Laurent Rosenfeld"
},
{
+ "id" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Lubos Kolouch"
+ ]
},
{
"id" : "Luca Ferrari",
@@ -456,74 +282,74 @@
"name" : "Luca Ferrari"
},
{
- "name" : "Mano Chandar",
+ "id" : "Mano Chandar",
"data" : [
[
"Perl",
1
]
],
- "id" : "Mano Chandar"
+ "name" : "Mano Chandar"
},
{
- "id" : "Matthew Neleigh",
"data" : [
[
"Perl",
2
]
],
- "name" : "Matthew Neleigh"
+ "name" : "Matthew Neleigh",
+ "id" : "Matthew Neleigh"
},
{
- "name" : "Mohammad S Anwar",
- "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Mohammad S Anwar",
+ "id" : "Mohammad S Anwar"
},
{
+ "id" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
],
- "id" : "Niels van Dijke",
"name" : "Niels van Dijke"
},
{
- "name" : "Olivier Delouya",
"id" : "Olivier Delouya",
"data" : [
[
"Perl",
1
]
- ]
+ ],
+ "name" : "Olivier Delouya"
},
{
+ "id" : "Paul Fajman",
"data" : [
[
"Perl",
1
]
],
- "id" : "Paul Fajman",
"name" : "Paul Fajman"
},
{
- "id" : "Paulo Custodio",
+ "name" : "Paulo Custodio",
"data" : [
[
"Perl",
2
]
],
- "name" : "Paulo Custodio"
+ "id" : "Paulo Custodio"
},
{
"data" : [
@@ -532,8 +358,8 @@
2
]
],
- "id" : "Pete Houston",
- "name" : "Pete Houston"
+ "name" : "Pete Houston",
+ "id" : "Pete Houston"
},
{
"id" : "Peter Campbell Smith",
@@ -546,17 +372,17 @@
"name" : "Peter Campbell Smith"
},
{
+ "name" : "Robert DiCicco",
"data" : [
[
"Perl",
1
]
],
- "id" : "Robert DiCicco",
- "name" : "Robert DiCicco"
+ "id" : "Robert DiCicco"
},
{
- "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -571,7 +397,7 @@
1
]
],
- "id" : "Roger Bell_West"
+ "name" : "Roger Bell_West"
},
{
"name" : "Simon Green",
@@ -588,6 +414,7 @@
"id" : "Simon Green"
},
{
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -598,12 +425,10 @@
2
]
],
- "id" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ "id" : "Ulrich Rieke"
},
{
"name" : "W. Luis Mochan",
- "id" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -613,21 +438,219 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "W. Luis Mochan"
},
{
- "id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
],
- "name" : "Wanderdoc"
+ "name" : "Wanderdoc",
+ "id" : "Wanderdoc"
}
]
},
- "legend" : {
- "enabled" : 0
+ "series" : [
+ {
+ "data" : [
+ {
+ "drilldown" : "Abigail",
+ "y" : 4,
+ "name" : "Abigail"
+ },
+ {
+ "name" : "Adam Russell",
+ "y" : 4,
+ "drilldown" : "Adam Russell"
+ },
+ {
+ "drilldown" : "Alexander Pankoff",
+ "name" : "Alexander Pankoff",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Andrew Shitov",
+ "y" : 2,
+ "name" : "Andrew Shitov"
+ },
+ {
+ "y" : 3,
+ "name" : "Arne Sommer",
+ "drilldown" : "Arne Sommer"
+ },
+ {
+ "drilldown" : "Athanasius",
+ "name" : "Athanasius",
+ "y" : 4
+ },
+ {
+ "drilldown" : "Cheok-Yin Fung",
+ "y" : 1,
+ "name" : "Cheok-Yin Fung"
+ },
+ {
+ "drilldown" : "Colin Crain",
+ "y" : 4,
+ "name" : "Colin Crain"
+ },
+ {
+ "drilldown" : "Cristina Heredia",
+ "name" : "Cristina Heredia",
+ "y" : 1
+ },
+ {
+ "y" : 3,
+ "name" : "Dave Jacoby",
+ "drilldown" : "Dave Jacoby"
+ },
+ {
+ "name" : "Duncan C. White",
+ "y" : 2,
+ "drilldown" : "Duncan C. White"
+ },
+ {
+ "drilldown" : "E. Choroba",
+ "y" : 2,
+ "name" : "E. Choroba"
+ },
+ {
+ "drilldown" : "Feng Chang",
+ "y" : 2,
+ "name" : "Feng Chang"
+ },
+ {
+ "y" : 6,
+ "name" : "Flavio Poletti",
+ "drilldown" : "Flavio Poletti"
+ },
+ {
+ "y" : 2,
+ "name" : "Jake",
+ "drilldown" : "Jake"
+ },
+ {
+ "y" : 3,
+ "name" : "James Smith",
+ "drilldown" : "James Smith"
+ },
+ {
+ "drilldown" : "Jan Krnavek",
+ "name" : "Jan Krnavek",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "name" : "Jorg Sommrey",
+ "drilldown" : "Jorg Sommrey"
+ },
+ {
+ "drilldown" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
+ "y" : 6
+ },
+ {
+ "drilldown" : "Lubos Kolouch",
+ "y" : 2,
+ "name" : "Lubos Kolouch"
+ },
+ {
+ "drilldown" : "Luca Ferrari",
+ "name" : "Luca Ferrari",
+ "y" : 6
+ },
+ {
+ "name" : "Mano Chandar",
+ "y" : 1,
+ "drilldown" : "Mano Chandar"
+ },
+ {
+ "drilldown" : "Matthew Neleigh",
+ "y" : 2,
+ "name" : "Matthew Neleigh"
+ },
+ {
+ "name" : "Mohammad S Anwar",
+ "y" : 2,
+ "drilldown" : "Mohammad S Anwar"
+ },
+ {
+ "y" : 2,
+ "name" : "Niels van Dijke",
+ "drilldown" : "Niels van Dijke"
+ },
+ {
+ "drilldown" : "Olivier Delouya",
+ "name" : "Olivier Delouya",
+ "y" : 1
+ },
+ {
+ "y" : 1,
+ "name"