diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-10 10:40:10 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-10 10:40:10 +0100 |
| commit | 76434179903fed11c6ec9e454e78d8cd82f167d8 (patch) | |
| tree | 30d1bfe8c2011924d518efd77064e588d3c14f2a | |
| parent | 4c54c56c563d762406074234ca34f462ec009b59 (diff) | |
| download | perlweeklychallenge-club-76434179903fed11c6ec9e454e78d8cd82f167d8.tar.gz perlweeklychallenge-club-76434179903fed11c6ec9e454e78d8cd82f167d8.tar.bz2 perlweeklychallenge-club-76434179903fed11c6ec9e454e78d8cd82f167d8.zip | |
- Added solutions by Colin Crain.
| -rw-r--r-- | challenge-068/colin-crain/perl/ch-1.pl | 95 | ||||
| -rw-r--r-- | challenge-068/colin-crain/perl/ch-2.pl | 120 | ||||
| -rw-r--r-- | challenge-068/colin-crain/raku/ch-1.p6 | 88 | ||||
| -rw-r--r-- | challenge-068/colin-crain/raku/ch-2.p6 | 108 | ||||
| -rw-r--r-- | stats/pwc-current.json | 159 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 424 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 396 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 380 |
15 files changed, 1280 insertions, 850 deletions
diff --git a/challenge-068/colin-crain/perl/ch-1.pl b/challenge-068/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..421508f45e --- /dev/null +++ b/challenge-068/colin-crain/perl/ch-1.pl @@ -0,0 +1,95 @@ +#! /opt/local/bin/perl +# +# zip-zilch-zero.pl +# +# TASK #1 › Zero Matrix +# Submitted by: Mohammad S Anwar +# You are given a matrix of size M x N having only 0s and 1s. +# +# Write a script to set the entire row and column to 0 if an +# element is 0. +# +# Example 1 +# Input: [1, 0, 1] +# [1, 1, 1] +# [1, 1, 1] +# +# Output: [0, 0, 0] +# [1, 0, 1] +# [1, 0, 1] +# Example 2 +# Input: [1, 0, 1] +# [1, 1, 1] +# [1, 0, 1] +# +# Output: [0, 0, 0] +# [1, 0, 1] +# [0, 0, 0] +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +## as by challenge definition we only use 1s and 0s, +## concatenate individual rows into strings +## example: 101 111 111 001 +my @matrix; +push @matrix, map { [ split //, $_ ] } @ARGV; +my $rows = @matrix; +my $cols = $matrix[0]->@*; + +print_matrix(\@matrix, "Input:"); + +## 0s are considered 'opaque' -- a single 0 occludes the entire row or column +## We pass once through the matrix, row by row, recording the 0 occurence data to +## two arrays, one for rows, the other columns +my @row_zeros = (0) x $rows; +my @col_zeros = (0) x $cols; + +for my $row_idx (0..$rows-1) { + my $sum = 0; + for my $col_idx ( 0..$cols-1) { + $sum += $matrix[$row_idx]->[$col_idx]; + $col_zeros[$col_idx] |= ! $matrix[$row_idx]->[$col_idx]; + } + $row_zeros[$row_idx] = 1 if $sum != $cols; +} + +say<<__END__; + +Zero Occlusions: + cols: @col_zeros + rows: @row_zeros +__END__ + +## now we can pass through the matrix again, transferring the occurence +## data back to the rows and columns, zeroing them out as specified +for my $row_idx (0..$rows-1) { + if ($row_zeros[$row_idx] == 1) { + $matrix[$row_idx] = [ (0) x $cols ]; + next; + } + for my $col_idx ( 0..$cols-1) { + $matrix[$row_idx]->[$col_idx] = 0 if $col_zeros[$col_idx] == 1; + } +} + +print_matrix(\@matrix, "Output:"); + +## ## ## ## ## SUBS: + +sub print_matrix { + my ($matrix, $heading ) = @_; + say "$heading"; + for ($matrix->@*) { + say "\t[ ", (join ', ', $_->@*), " ]"; + } +} diff --git a/challenge-068/colin-crain/perl/ch-2.pl b/challenge-068/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..e990b96ebd --- /dev/null +++ b/challenge-068/colin-crain/perl/ch-2.pl @@ -0,0 +1,120 @@ +#! /opt/local/bin/perl +# +# basket-weaving.pl +# +# TASK #2 › Reorder List +# Submitted by: Mohammad S Anwar +# You are given a singly linked list $L as below: +# +# L0 → L1 → … → Ln-1 → Ln +# Write a script to reorder list as below: +# +# L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → +# You are ONLY allowed to do this in-place without altering +# the nodes’ values. +# +# Example +# Input: 1 → 2 → 3 → 4 +# Output: 1 → 4 → 2 → 3 +# +# +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +my @input = @ARGV; + +## convert the input commandline array into a linked list +## $node points to beginning of the list +my ($node, $next); +while (scalar @input > 0) { + my $value = pop @input; + $node = new Node($value, $next); + $next = $node; +} + +print_list($node); + +## the moved node is inserted after the splice point +## $node is a working container +my ($start_node, $splicepoint); +$splicepoint = $start_node = $node; + +while (defined $splicepoint->next) { + + ## when the splice point is second to last before the splice, + ## last node is to be spliced into the same location + ## we are done so jump out + ## This happens only when the node count is even. + last if not defined $splicepoint->next->next; + + ## temporarily go to the 2nd to last node + while (defined $node->next->next) { + $node = $node->next; + } + + ## relink the last node: + ## set the last node next to the node after the splice point + ## update the splice point next to the last node + ## update the working node next to undef, + ## as it is now the last node + $node->next->next($splicepoint->next); + $splicepoint->next($node->next); + $node->end; + + ## jump ahead 2 nodes and go again + $node = $splicepoint = $splicepoint->next->next; + + print_list($start_node); +} + +## ## ## ## ## SUBS: + +sub print_list { +## given a linked list starting node, follows that list until the end, +## transferring the values to an array. +## the array is then printed + my $node = shift; + my @output; + while (defined $node) { + push @output, $node->value; + $node = $node->next; + } + say join ' → ' , @output; +} + +## ## ## ## ## PACKAGES: + +package Node; + +sub new { + my ($class, $value, $next) = @_; + my $self = { "value" => $value, + "next" => $next }; + bless $self, $class; + return $self; +} + +sub value { +## removed ability to reset value for challenge + return $_[0]->{value} +} + +sub next { + my ($self, $next ) = @_; + $self->{next} = $next if defined $next; + return $self->{next} +} + +sub end { + $_[0]->{next} = undef; +} diff --git a/challenge-068/colin-crain/raku/ch-1.p6 b/challenge-068/colin-crain/raku/ch-1.p6 new file mode 100644 index 0000000000..5593b33f7f --- /dev/null +++ b/challenge-068/colin-crain/raku/ch-1.p6 @@ -0,0 +1,88 @@ +#!/usr/bin/env perl6 +# +# +# zip-zilch-zero.raku +# +# TASK #1 › Zero Matrix +# Submitted by: Mohammad S Anwar +# You are given a matrix of size M x N having only 0s and 1s. +# +# Write a script to set the entire row and column to 0 if an +# element is 0. +# +# Example 1 +# Input: [1, 0, 1] +# [1, 1, 1] +# [1, 1, 1] +# +# Output: [0, 0, 0] +# [1, 0, 1] +# [1, 0, 1] +# Example 2 +# Input: [1, 0, 1] +# [1, 1, 1] +# [1, 0, 1] +# +# Output: [0, 0, 0] +# [1, 0, 1] +# [0, 0, 0] +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +multi MAIN ( ) { + say q:to/END/; + Usage: ./zip-zilch-zero.raku row1 row2 row3 + rows are values 1 and 0 concactenated into strings + ex: ./zip-zilch-zero.raku 1001 1111 1011 1111 + END +} + +multi MAIN ( *@matrix ) { + ## as by challenge definition we only use 1s and 0s, + ## concatenate individual rows into strings + ## example: 101 111 111 001 + @matrix .= map({.comb.Array}); ## comb makes Seq not a list + my $rows = @matrix.elems; + my $cols = @matrix[0].elems; + print_matrix(@matrix, "Input:"); + + ## 0s are considered 'opaque' -- a single 0 occludes the entire + ## row or column We pass once through the matrix, row by row, + ## recording the 0 occurence data to two arrays, one for rows, the + ## other columns + my @row_zeros; + my @col_zeros; + + for ^$rows -> $row { + @row_zeros[$row] ?|= (@matrix[$row].sum != $cols); + for ^$cols -> $col { + @col_zeros[$col] ?|= ! @matrix[$row][$col].Int; + } + } + + ## report midway through + say "Zero Occlusions:"; + say " cols: ", @col_zeros; + say " rows: ", @row_zeros, "\n"; + + ## now we can pass through the matrix again, transferring the + ## occurence data back to the rows and columns, zeroing them out + ## as specified + for ^$rows -> $row { + next if @row_zeros[$row] and @matrix[$row] = (0) xx $cols; + for ^$cols -> $col { + @matrix[$row][$col] = (! @col_zeros[$col]).Int; + } + } + + print_matrix(@matrix, "Output:"); + +} + +sub print_matrix ( @matrix, $heading? ) { + $heading.say if $heading; + ("\t" ~ $_.join(' ')).say for @matrix; + "".say; +} diff --git a/challenge-068/colin-crain/raku/ch-2.p6 b/challenge-068/colin-crain/raku/ch-2.p6 new file mode 100644 index 0000000000..0e2b573849 --- /dev/null +++ b/challenge-068/colin-crain/raku/ch-2.p6 @@ -0,0 +1,108 @@ +#!/usr/bin/env perl6 +# +# +# basket-weaving.raku +# +# TASK #2 › Reorder List +# Submitted by: Mohammad S Anwar +# You are given a singly linked list $L as below: +# +# L0 → L1 → … → Ln-1 → Ln +# Write a script to reorder list as below: +# +# L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → +# You are ONLY allowed to do this in-place without altering +# the nodes’ values. +# +# Example +# Input: 1 → 2 → 3 → 4 +# Output: 1 → 4 → 2 → 3 +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +class Node { + has Any $.value is rw; + has Node $.next is rw; +} + +class LinkedList { + has Node $.first is rw; + has Node $!last; + + ## custom accessor for list.last + ## sets up a trigger on write to set node.next to Nil + method last( Node $node? ) is rw { + Proxy.new: + FETCH => sub ($) { $!last }, + STORE => sub ($, $node) { $!last = $node; + $node.next = Nil }, + } + + method populate_from_array ( @array ) { + my $node; + my $next; + while @array.elems > 0 { + $node = Node.new(value => @array.pop); + $!last //= $node; + $node.next = $next if $next.defined; + $next = $node; + } + $.first = $node; + } + + method arrow_print () { + my @output; + my $node = $.first; + loop { + @output.push: $node.value; + last if $node === $!last; + $node = $node.next; + } + @output.join(' → ').say; + } +} + +multi MAIN () { + say "Usage: ./basket-weaving.raku value1 value2 value3 ..."; +} + +multi MAIN ( *@input ) { + + ## convert the input commandline array into a linked list + my $list = LinkedList.new(); + $list.populate_from_array( @input ); + $list.arrow_print(); + + ## the moved node inserts after the splice point + ## $node is a working container + my $splicepoint = my $node = $list.first; + + while $splicepoint !=== $list.last { + + ## when the splice point is second to last before the splice, + ## last node is to be spliced into the same location + ## we are done so jump out + ## This happens only when the node count is even. + last if $splicepoint.next === $list.last; + + ## temporarily go to the 2nd to last node + $node = $node.next while $node.next !=== $list.last; + + ## relink the last node: + ## set the last node .next to the splice point .next + ## update the splice point .next to the last node + ## update the last node to the working node + $list.last.next = $splicepoint.next; + $splicepoint.next = $list.last; + $list.last = $node; + + ## reset the splice point and working node to + ## jump forward 2 nodes and splice again + $node = $splicepoint = $splicepoint.next.next; + + $list.arrow_print(); + + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7a4ac6d096..e5378ddae4 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,24 +1,15 @@ { - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "tooltip" : { - "followPointer" : 1, - "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/>" + "chart" : { + "type" : "column" }, - "subtitle" : { - "text" : "[Champions: 13] Last updated at 2020-07-10 09:24:04 GMT" + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { + "id" : "Andrew Shitov", + "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -28,22 +19,35 @@ "Blog", 1 ] - ], - "id" : "Andrew Shitov", - "name" : "Andrew Shitov" + ] }, { - "name" : "E. Choroba", - "id" : "E. Choroba", + "id" : "Colin Crain", + "name" : "Colin Crain", "data" : [ [ "Perl", 2 + ], + [ + "Raku", + 2 ] ] }, { + "id" : "E. Choroba", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "E. Choroba" + }, + { "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ "Perl", @@ -57,18 +61,17 @@ "Blog", 1 ] - ], - "name" : "Javier Luque" + ] }, { - "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey" + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" }, { "name" : "Luca Ferrari", @@ -85,17 +88,16 @@ "id" : "Luca Ferrari" }, { + "name" : "Mark Anderson", "data" : [ [ "Raku", 1 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { - "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar", "data" : [ [ @@ -106,19 +108,21 @@ "Raku", 2 ] - ] + ], + "name" : "Mohammad S Anwar" }, { - "name" : "Niels van Dijke", "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Niels van Dijke" }, { + "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -129,48 +133,47 @@ 1 ] ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + "id" : "Roger Bell_West" }, { + "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + ] }, { - "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Raku", 3 ] ], - "id" : "Ulrich Rieke" + "name" : "Ulrich Rieke" }, { "name" : "Walt Mankowski", - "id" : "Walt Mankowski", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Walt Mankowski" }, { - "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] ], - "name" : "Wanderdoc" + "name" : "Wanderdoc", + "id" : "Wanderdoc" } ] }, @@ -179,41 +182,39 @@ "text" : "Total Solutions" } }, - "xAxis" : { - "type" : "category" - }, - "legend" : { - "enabled" : 0 - }, "series" : [ { "name" : "Perl Weekly Challenge - 068", - "colorByPoint" : 1, "data" : [ { - "y" : 2, + "drilldown" : "Andrew Shitov", "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" + "y" : 2 + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 4 }, { - "y" : 2, "name" : "E. Choroba", + "y" : 2, "drilldown" : "E. Choroba" }, { "drilldown" : "Javier Luque", - "name" : "Javier Luque", - "y" : 5 + "y" : 5, + "name" : "Javier Luque" }, { + "drilldown" : "Jorg Sommrey", "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" + "name" : "Jorg Sommrey" }, { "drilldown" : "Luca Ferrari", - "y" : 4, - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "y" : 4 }, { "name" : "Mark Anderson", @@ -221,24 +222,24 @@ "drilldown" : "Mark Anderson" }, { - "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar", "y" : 4, - "drilldown" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar" }, { - "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", "y" : 2, - "name" : "Niels van Dijke" + "drilldown" : "Niels van Dijke" }, { "drilldown" : "Roger Bell_West", - "y" : 3, - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "y" : 3 }, { - "drilldown" : "Simon Proctor", + "y" : 2, "name" : "Simon Proctor", - "y" : 2 + "drilldown" : "Simon Proctor" }, { "name" : "Ulrich Rieke", @@ -246,22 +247,40 @@ "drilldown" : "Ulrich Rieke" }, { - "y" : 2, "name" : "Walt Mankowski", + "y" : 2, "drilldown" : "Walt Mankowski" }, { - "name" : "Wanderdoc", "y" : 2, + "name" : "Wanderdoc", "drilldown" : "Wanderdoc" } - ] + ], + "colorByPoint" : 1 } ], - "chart" : { - "type" : "column" + "tooltip" : { + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 14] Last updated at 2020-07-10 09:39:37 GMT" }, "title" : { "text" : "Perl Weekly Challenge - 068" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1e87007497..d3ac1fa53c 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,42 +1,17 @@ { - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "subtitle" : { - "text" : "Last updated at 2020-07-10 09:24:04 GMT" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "legend" : { - "enabled" : "false" - }, "series" : [ { - "name" : "Contributions", "dataLabels" : { + "rotation" : -90, + "y" : 10, "enabled" : "true", - "align" : "right", + "color" : "#FFFFFF", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "color" : "#FFFFFF", "format" : "{point.y:.0f}", - "y" : 10, - "rotation" : -90 + "align" : "right" }, "data" : [ [ @@ -45,19 +20,44 @@ ], [ "Perl", - 2805 + 2807 ], [ "Raku", - 1796 + 1798 ] - ] + ], + "name" : "Contributions" } ], + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" + }, "chart" : { "type" : "column" }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "subtitle" : { + "text" : "Last updated at 2020-07-10 09:39:37 GMT" + }, + "legend" : { + "enabled" : "false" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index f83d15af60..c020372879 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,28 +1,22 @@ { - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, "series" : [ { "colorByPoint" : "true", "data" : [ { - "drilldown" : "001", "name" : "#001", - "y" : 142 + "y" : 142, + "drilldown" : "001" }, { "drilldown" : "002", - "y" : 109, - "name" : "#002" + "name" : "#002", + "y" : 109 }, { + "drilldown" : "003", "name" : "#003", - "y" : 71, - "drilldown" : "003" + "y" : 71 }, { "drilldown" : "004", @@ -30,39 +24,39 @@ "y" : 91 }, { - "drilldown" : "005", + "y" : 72, "name" : "#005", - "y" : 72 + "drilldown" : "005" }, { - "name" : "#006", + "drilldown" : "006", "y" : 52, - "drilldown" : "006" + "name" : "#006" }, { - "drilldown" : "007", "y" : 59, - "name" : "#007" + "name" : "#007", + "drilldown" : "007" }, { - "drilldown" : "008", + "name" : "#008", "y" : 72, - "name" : "#008" + "drilldown" : "008" }, { - "drilldown" : "009", + "name" : "#009", "y" : 68, - "name" : "#009" + "drilldown" : "009" }, { + "drilldown" : "010", "y" : 60, - "name" : "#010", - "drilldown" : "010" + "name" : "#010" }, { "drilldown" : "011", - "y" : 79, - "name" : "#011" + "name" : "#011", + "y" : 79 }, { "drilldown" : "012", @@ -75,48 +69,48 @@ "drilldown" : "013" }, { - "name" : "#014", "y" : 96, + "name" : "#014", "drilldown" : "014" }, { - "drilldown" : "015", "y" : 93, - "name" : "#015" + "name" : "#015", + "drilldown" : "015" }, { - "drilldown" : "016", "y" : 66, - "name" : "#016" + "name" : "#016", + "drilldown" : "016" }, { + "drilldown" : "017", "y" : 79, - "name" : "#017", - "drilldown" : "017" + "name" : "#017" }, { - "name" : "#018", "y" : 76, + "name" : "#018", "drilldown" : "018" }, { - "drilldown" : "019", + "name" : "#019", "y" : 97, - "name" : "#019" + "drilldown" : "019" }, { - "drilldown" : "020", "y" : 95, - "name" : "#020" + "name" : "#020", + "drilldown" : "020" }, { + "drilldown" : "021", "y" : 67, - "name" : "#021", - "drilldown" : "021" + "name" : "#021" }, { - "y" : 63, "name" : "#022", + "y" : 63, "drilldown" : "022" }, { @@ -125,13 +119,13 @@ "y" : 91 }, { + "drilldown" : "024", "y" : 70, - "name" : "#024", - "drilldown" : "024" + "name" : "#024" }, { - "y" : 55, "name" : "#025", + "y" : 55, "drilldown" : "025" }, { @@ -145,9 +139,9 @@ "y" : 58 }, { - "drilldown" : "028", + "y" : 78, "name" : "#028", - "y" : 78 + "drilldown" : "028" |
