From 24cdda1f9a40a31065dfd51a7a786a7df7a2534e Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 10 Mar 2024 15:23:33 +0000 Subject: - Added solutions by Wanderdoc. --- challenge-259/wanderdoc/perl/ch-1.pl | 54 + challenge-259/wanderdoc/perl/ch-2.pl | 126 ++ stats/pwc-current.json | 365 ++-- stats/pwc-language-breakdown-summary.json | 68 +- stats/pwc-language-breakdown.json | 3332 ++++++++++++++--------------- stats/pwc-leaders.json | 368 ++-- stats/pwc-summary-1-30.json | 56 +- stats/pwc-summary-121-150.json | 98 +- stats/pwc-summary-151-180.json | 38 +- stats/pwc-summary-181-210.json | 104 +- stats/pwc-summary-211-240.json | 96 +- stats/pwc-summary-241-270.json | 44 +- stats/pwc-summary-271-300.json | 102 +- stats/pwc-summary-301-330.json | 54 +- stats/pwc-summary-31-60.json | 36 +- stats/pwc-summary-61-90.json | 44 +- stats/pwc-summary-91-120.json | 104 +- stats/pwc-summary.json | 642 +++--- 18 files changed, 2963 insertions(+), 2768 deletions(-) create mode 100755 challenge-259/wanderdoc/perl/ch-1.pl create mode 100755 challenge-259/wanderdoc/perl/ch-2.pl diff --git a/challenge-259/wanderdoc/perl/ch-1.pl b/challenge-259/wanderdoc/perl/ch-1.pl new file mode 100755 index 0000000000..6d7fc92404 --- /dev/null +++ b/challenge-259/wanderdoc/perl/ch-1.pl @@ -0,0 +1,54 @@ +#!perl +use strict; +use warnings FATAL => qw(all); + +=prompt +You are given a start date and offset counter. Optionally you also get bank holiday date list. +Given a number (of days) and a start date, return the number (of days) adjusted to take into account non-banking days. In other words: convert a banking day offset to a calendar day offset. +Non-banking days are: +a) Weekends +b) Bank holidays +Example 1 Input: $start_date = '2018-06-28', $offset = 3, $bank_holidays = ['2018-07-03'] +Output: '2018-07-04' Thursday bumped to Wednesday (3 day offset, with Monday a bank holiday) + +Example 2 Input: $start_date = '2018-06-28', $offset = 3 +Output: '2018-07-03' +=cut + + +use Time::Piece; +use Time::Seconds; +use Test2::V0; + +is(days_offset('2018-06-28', 3, ['2018-07-03']), '2018-07-04', 'Example 1'); +is(days_offset('2018-06-28', 3 ), '2018-07-03', 'Example 2'); +done_testing(); + + +sub days_offset +{ + my $start_day = $_[0]; + my $offset = $_[1]; + my $bank_holidays_aref = $_[2]; + my %bank_holidays; + my $date_format = "%Y-%m-%d"; + + @bank_holidays{ map Time::Piece->strptime($_, $date_format), @{$bank_holidays_aref}} = undef; + + my $date_ts = Time::Piece->strptime($start_day, $date_format); + my $counter = 0; + while ( $counter < $offset ) + { + $date_ts += ONE_DAY; + $counter++; + + if ( exists $bank_holidays{$date_ts} + or $date_ts->day_of_week == 0 # Sunday + or $date_ts->day_of_week == 6 # Saturday + ) + { + $counter--; + } + } + return $date_ts->ymd('-'); +} diff --git a/challenge-259/wanderdoc/perl/ch-2.pl b/challenge-259/wanderdoc/perl/ch-2.pl new file mode 100755 index 0000000000..d5db5c504d --- /dev/null +++ b/challenge-259/wanderdoc/perl/ch-2.pl @@ -0,0 +1,126 @@ +#!perl +use strict; +use warnings FATAL => qw(all); + +=prompt +You are given a line like below: {% id field1="value1" field2="value2" field3=42 %} +Where +a) "id" can be \w+. +b) There can be 0 or more field-value pairs. +c) The name of the fields are \w+. +b) The values are either number in which case we don't need parentheses or string in + which case we need parentheses around them. + +The line parser should return structure like below: +{ + name => id, + fields => { + field1 => value1, + field2 => value2, + field3 => value3, + } +} + +It should be able to parse the following edge cases too: +{% youtube title="Title \"quoted\" done" %} +and +{% youtube title="Title with escaped backslash \\" %} +BONUS: Extend it to be able to handle multiline tags: +{% id filed1="value1" ... %} +LINES +{% endid %} +You should expect the following structure from your line parser: +{ + name => id, + fields => { + field1 => value1, + field2 => value2, + field3 => value3, + } + text => LINES +} +=cut + + +use Test2::V0; + +my $answer_1 = { fields => { field1 => "\"value1%\"", field2 => "\"value2\"", field3 => 42 }, + name => "id", }; + +my $answer_2 = { + fields => { + title => "\"Title \\\"quoted\\\" done\"", + title2 => "\"Title2 \\\"quoted\\\" done too\"", + title3 => "\"Title with escaped backslash \\\"", + }, + name => "youtube", +}; + +my $answer_3 = { name => "empty" }; +my $answer_multiline = { + fields => { + filed1 => "\"value1\"", + title => "\"Title \\\"quoted\\\" done\"", + title3 => "\"Title with escaped backslash \\\"", + }, + name => "id", + text => "LINES\nLINES2\nLINES3 with % and {} and \\\"quoted\\\" and escaped backslash \\", +}; + +is(multiline_parser(q[{% id field1="value1%" field2="value2" field3=42 %}]), + $answer_1, 'Example 1'); +is(multiline_parser(q[{% youtube title="Title \"quoted\" done" title2="Title2 \"quoted\" done too" title3="Title with escaped backslash \\" %}]), + $answer_2, 'Example 2'); +is(multiline_parser(q[{% empty %}]), $answer_3, 'Example 3'); +is(multiline_parser(q[ +{% id filed1="value1" title="Title \"quoted\" done" title3="Title with escaped backslash \\" %} +LINES +LINES2 +LINES3 with % and {} and \"quoted\" and escaped backslash \\ +{% endid %} +]), $answer_multiline, 'Example Multiline'); +done_testing(); + +sub multiline_parser +{ + my $tag = $_[0]; + + my ($open) = $tag =~ /^\{%\s+(.+?)\s+%\}/ms; + my ($lines) = $tag =~ /%\}(.+)\{%/ms; + # probably to check the specification: + my ($end) = $tag =~ /^\{%\s+(end.+?)\s+%\}/ms; + + die "Cannot parse $tag!$/" unless defined $open; + + $open .= ' '; # Tailing space is eaten by regex above. + my %output = _tag_parser($open); + + if ( defined $lines ) + { + $lines =~ s/\A\n//ms; + $lines =~ s/\n\z//ms; + $output{text} = $lines; + } + + return \%output; +} + + +sub _tag_parser +{ + my $line = $_[0]; + my ($name) = $line =~ /^(\w+)\s+/; + my %fields; + while ( $line =~ /(\w+)=(.+?)(?=\s+(?:\w+=|$))/g ) + { + $fields{$1} = $2; + } + my %line_output; + $line_output{name} = $name; + if ( scalar keys %fields ) + { + $line_output{fields} = \%fields; + } + + return %line_output; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 44f7d57450..08e0734d12 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,33 +1,142 @@ { - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 + "series" : [ + { + "name" : "The Weekly Challenge - 259", + "data" : [ + { + "name" : "Arne Sommer", + "y" : 3, + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "Athanasius", + "y" : 3, + "name" : "Athanasius" + }, + { + "drilldown" : "Bob Lied", + "y" : 3, + "name" : "Bob Lied" + }, + { + "name" : "Dave Jacoby", + "y" : 3, + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "name" : "David Ferrone", + "drilldown" : "David Ferrone" + }, + { + "drilldown" : "E. Choroba", + "y" : 2, + "name" : "E. Choroba" + }, + { + "drilldown" : "Feng Chang", + "y" : 2, + "name" : "Feng Chang" + }, + { + "name" : "Jorg Sommrey", + "y" : 3, + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Lubos Kolouch", + "y" : 4, + "name" : "Lubos Kolouch" + }, + { + "drilldown" : "Luca Ferrari", + "y" : 11, + "name" : "Luca Ferrari" + }, + { + "drilldown" : "Mariano Spadaccini", + "y" : 1, + "name" : "Mariano Spadaccini" + }, + { + "drilldown" : "Mark Anderson", + "y" : 2, + "name" : "Mark Anderson" + }, + { + "name" : "Matthew Neleigh", + "y" : 1, + "drilldown" : "Matthew Neleigh" + }, + { + "y" : 2, + "name" : "Nelo Tovar", + "drilldown" : "Nelo Tovar" + }, + { + "y" : 4, + "name" : "Packy Anderson", + "drilldown" : "Packy Anderson" + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Peter Meszaros", + "name" : "Peter Meszaros", + "y" : 2 + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 3 + }, + { + "drilldown" : "Ryan Thompson", + "name" : "Ryan Thompson", + "y" : 3 + }, + { + "drilldown" : "Thomas Kohler", + "y" : 4, + "name" : "Thomas Kohler" + }, + { + "y" : 3, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "drilldown" : "W. Luis Mochan", + "y" : 3, + "name" : "W. Luis Mochan" + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 2 + } + ], + "colorByPoint" : 1 } + ], + "title" : { + "text" : "The Weekly Challenge - 259" }, - "subtitle" : { - "text" : "[Champions: 22] Last updated at 2024-03-10 15:04:43 GMT" + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
", + "followPointer" : 1 }, "xAxis" : { "type" : "category" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "drilldown" : { "series" : [ { + "id" : "Arne Sommer", "data" : [ [ "Raku", @@ -38,11 +147,11 @@ 1 ] ], - "id" : "Arne Sommer", "name" : "Arne Sommer" }, { "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -52,11 +161,9 @@ "Raku", 1 ] - ], - "id" : "Athanasius" + ] }, { - "name" : "Bob Lied", "id" : "Bob Lied", "data" : [ [ @@ -67,10 +174,11 @@ "Blog", 1 ] - ] + ], + "name" : "Bob Lied" }, { - "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -81,36 +189,36 @@ 1 ] ], - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { - "name" : "David Ferrone", "data" : [ [ "Perl", 2 ] ], - "id" : "David Ferrone" + "id" : "David Ferrone", + "name" : "David Ferrone" }, { + "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba", - "name" : "E. Choroba" + ] }, { - "id" : "Feng Chang", "data" : [ [ "Raku", 2 ] ], + "id" : "Feng Chang", "name" : "Feng Chang" }, { @@ -128,7 +236,6 @@ ] }, { - "name" : "Lubos Kolouch", "id" : "Lubos Kolouch", "data" : [ [ @@ -139,10 +246,11 @@ "Raku", 2 ] - ] + ], + "name" : "Lubos Kolouch" }, { - "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -153,7 +261,7 @@ 9 ] ], - "name" : "Luca Ferrari" + "id" : "Luca Ferrari" }, { "data" : [ @@ -167,13 +275,13 @@ }, { "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { "name" : "Matthew Neleigh", @@ -186,14 +294,14 @@ ] }, { - "id" : "Nelo Tovar", + "name" : "Nelo Tovar", "data" : [ [ "Perl", 2 ] ], - "name" : "Nelo Tovar" + "id" : "Nelo Tovar" }, { "name" : "Packy Anderson", @@ -214,6 +322,7 @@ "id" : "Packy Anderson" }, { + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -224,22 +333,19 @@ 1 ] ], - "id" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith" }, { "name" : "Peter Meszaros", + "id" : "Peter Meszaros", "data" : [ [ "Perl", 2 ] - ], - "id" : "Peter Meszaros" + ] }, { - "name" : "Roger Bell_West", - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -253,10 +359,11 @@ "Blog", 1 ] - ] + ], + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { - "id" : "Ryan Thompson", "data" : [ [ "Perl", @@ -267,6 +374,7 @@ 1 ] ], + "id" : "Ryan Thompson", "name" : "Ryan Thompson" }, { @@ -285,7 +393,6 @@ }, { "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -295,10 +402,10 @@ "Raku", 1 ] - ] + ], + "id" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -309,134 +416,42 @@ 1 ] ], + "id" : "W. Luis Mochan", "name" : "W. Luis Mochan" + }, + { + "id" : "Wanderdoc", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Wanderdoc" } ] }, - "title" : { - "text" : "The Weekly Challenge - 259" + "subtitle" : { + "text" : "[Champions: 23] Last updated at 2024-03-10 15:19:42 GMT" }, - "series" : [ - { - "name" : "The Weekly Challenge - 259", - "colorByPoint" : 1, - "data" : [ - { - "y" : 3, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "drilldown" : "Athanasius", - "y" : 3, - "name" : "Athanasius" - }, - { - "y" : 3, - "drilldown" : "Bob Lied", - "name" : "Bob Lied" - }, - { - "name" : "Dave Jacoby", - "y" : 3, - "drilldown" : "Dave Jacoby" - }, - { - "name" : "David Ferrone", - "drilldown" : "David Ferrone", - "y" : 2 - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "y" : 2, - "drilldown" : "Feng Chang", - "name" : "Feng Chang" - }, - { - "y" : 3, - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey" - }, - { - "name" : "Lubos Kolouch", - "y" : 4, - "drilldown" : "Lubos Kolouch" - }, - { - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari", - "y" : 11 - }, - { - "y" : 1, - "drilldown" : "Mariano Spadaccini", - "name" : "Mariano Spadaccini" - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "name" : "Matthew Neleigh", - "y" : 1, - "drilldown" : "Matthew Neleigh" - }, - { - "name" : "Nelo Tovar", - "drilldown" : "Nelo Tovar", - "y" : 2 - }, - { - "y" : 4, - "drilldown" : "Packy Anderson", - "name" : "Packy Anderson" - }, - { - "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith", - "y" : 3 - }, - { - "drilldown" : "Peter Meszaros", - "y" : 2, - "name" : "Peter Meszaros" - }, - { - "name" : "Roger Bell_West", - "y" : 3, - "drilldown" : "Roger Bell_West" - }, - { - "name" : "Ryan Thompson", - "y" : 3, - "drilldown" : "Ryan Thompson" - }, - { - "name" : "Thomas Kohler", - "y" : 4, - "drilldown" : "Thomas Kohler" - }, - { - "drilldown" : "Ulrich Rieke", - "y" : 3, - "name" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" - } - ] + "yAxis" : { + "title" : { + "text" : "Total Solutions" } - ], - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" + }, + "chart" : { + "type" : "column" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1027f02549..ee320f4bc2 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,31 +1,21 @@ { - "subtitle" : { - "text" : "Last updated at 2024-03-10 15:04:43 GMT" - }, - "chart" : { - "type" : "column" + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" }, - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2024]" }, "series" : [ { - "dataLabels" : { - "color" : "#FFFFFF", - "format" : "{point.y:.0f}", - "align" : "right", - "y" : 10, - "rotation" : -90, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "enabled" : "true" - }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -33,31 +23,41 @@ ], [ "Perl", - 13379 + 13381 ], [ "Raku", 7776 ] - ] + ], + "dataLabels" : { + "rotation" : -90, + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "color" : "#FFFFFF", + "align" : "right", + "y" : 10, + "enabled" : "true", + "format" : "{point.y:.0f}" + }, + "name" : "Contributions" } ], - "tooltip" : { - "pointFormat" : "{point.y:.0f}" + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 + } }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" + "subtitle" : { + "text" : "Last updated at 2024-03-10 15:19:42 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 2fd8d807c2..0c4577807f 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,1320 +1,27 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-03-10 15:04:43 GMT" + "legend" : { + "enabled" : "false" }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - }, - "borderWidth" : 0 + } } }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-03-10 15:19:42 GMT" }, - "series" : [ - { - "name" : "The Weekly Challenge Languages", - "data" : [ - { - "y" : 164, - "drilldown" : "001", - "name" : "#001" - }, - { - "name" : "#002", - "drilldown" : "002", - "y" : 129 - }, - { - "name" : "#003", - "y" : 87, - "drilldown" : "003" - }, - { - "drilldown" : "004", - "y" : 103, - "name" : "#004" - }, - { - "drilldown" : "005", - "y" : 80, - "name" : "#005" - }, - { - "name" : "#006", - "y" : 61, - "drilldown" : "006" - }, - { - "y" : 69, - "drilldown" : "007", - "name" : "#007" - }, - { - "drilldown" : "008", - "y" : 82, - "name" : "#008" - }, - { - "name" : "#009", - "y" : 80, - "drilldown" : "009" - }, - { - "drilldown" : "010", - "y" : 69, - "name" : "#010" - }, - { - "drilldown" : "011", - "y" : 89, - "name" : "#011" - }, - { - "name" : "#012", - "y" : 92, - "drilldown" : "012" - }, - { - "y" : 87, - "drilldown" : "013", - "name" : "#013" - }, - { - "y" : 102, - "drilldown" : "014", - "name" : "#014" - }, - { - "y" : 101, - "drilldown" : "015", - "name" : "#015" - }, - { - "y" : 75, - "drilldown" : "016", - "name" : "#016" - }, - { - "y" : 86, - "drilldown" : "017", - "name" : "#017" - }, - { - "name" : "#018", - "y" : 83, - "drilldown" : "018" - }, - { - "name" : "#019", - "drilldown" : "019", - "y" : 105 - }, - { - "y" : 103, - "drilldown" : "020", - "name" : "#020" - }, - { - "y" : 74, - "drilldown" : "021", - "name" : "#021" - }, - { - "drilldown" : "022", - "y" : 72, - "name" : "#022" - }, - { - "drilldown" : "023", - "y" : 101, - "name" : "#023" - }, - { - "name" : "#024", - "y" : 77, - "drilldown" : "024" - }, - { - "name" : "#025", - "y" : 62, - "drilldown" : "025" - }, - { - "name" : "#026", - "drilldown" : "026", - "y" : 76 - }, - { - "name" : "#027", - "y" : 64, - "drilldown" : "027" - }, - { - "name" : "#028", - "drilldown" : "028", - "y" : 82 - }, - { - "y" : 83, - "drilldown" : "029", - "name" : "#029" - }, - { - "name" : "#030", - "drilldown" : "030", - "y" : 121 - }, - { - "y" : 93, - "drilldown" : "031", - "name" : "#031" - }, - { - "name" : "#032", - "drilldown" : "032", - "y" : 98 - }, - { - "drilldown" : "033", - "y" : 114, - "name" : "#033" - }, - { - "y" : 70, - "drilldown" : "034", - "name" : "#034" - }, - { - "y" : 68, - "drilldown" : "035", - "name" : "#035" - }, - { - "name" : "#036", - "drilldown" : "036", - "y" : 70 - }, - { - "drilldown" : "037", - "y" : 70, - "name" : "#037" - }, - { - "drilldown" : "038", - "y" : 74, - "name" : "#038" - }, - { - "name" : "#039", - "drilldown" : "039", - "y" : 68 - }, - { - "name" : "#040", - "y" : 77, - "drilldown" : "040" - }, - { - "name" : "#041", - "y" : 80, - "drilldown" : "041" - }, - { - "name" : "#042", - "y" : 98, - "drilldown" : "042" - }, - { - "name" : "#043", - "drilldown" : "043", - "y" : 72 - }, - { - "drilldown" : "044", - "y" : 90, - "name" : "#044" - }, - { - "name" : "#045", - "y" : 102, - "drilldown" : "045" - }, - { - "drilldown" : "046", - "y" : 93, - "name" : "#046" - }, - { - "drilldown" : "047", - "y" : 88, - "name" : "#047" - }, - { - "name" : "#048", - "drilldown" : "048", - "y" : 112 - }, - { - "name" : "#049", - "y" : 93, - "drilldown" : "049" - }, - { - "drilldown" : "050", - "y" : 104, - "name" : "#050" - }, - { - "drilldown" : "051", - "y" : 95, - "name" : "#051" - }, - { - "name" : "#052", - "drilldown" : "052", - "y" : 93 - }, - { - "y" : 105, - "drilldown" : "053", - "name" : "#053" - }, - { - "drilldown" : "054", - "y" : 107, - "name" : "#054" - }, - { - "drilldown" : "055", - "y" : 92, - "name" : "#055" - }, - { - "drilldown" : "056", - "y" : 104, - "name" : "#056" - }, - { - "name" : "#057", - "drilldown" : "057", - "y" : 86 - }, - { - "drilldown" : "058", - "y" : 71, - "name" : "#058" - }, - { - "name" : "#059", - "drilldown" : "059", - "y" : 93 - }, - { - "name" : "#060", - "y" : 89, - "drilldown" : "060" - }, - { - "name" : "#061", - "y" : 85, - "drilldown" : "061" - }, - { - "name" : "#062", - "y" : 62, - "drilldown" : "062" - }, - { - "name" : "#063", - "drilldown" : "063", - "y" : 93 - }, - { - "name" : "#064", - "y" : 84, - "drilldown" : "064" - }, - { - "drilldown" : "065", - "y" : 77, - "name" : "#065" - }, - { - "y" : 88, - "drilldown" : "066", - "name" : "#066" - }, - { - "name" : "#067", - "drilldown" : "067", - "y" : 94 - }, - { - "name" : "#068", - "y" : 79, - "drilldown" : "068" - }, - { - "name" : "#069", - "drilldown" : "069", - "y" : 87 - }, - { - "name" : "#070", - "y" : 98, - "drilldown" : "070" - }, - { - "drilldown" : "071", - "y" : 82, - "name" : "#071" - }, - { - "name" : "#072", - "drilldown" : "072", - "y" : 116 - }, - { - "y" : 112, - "drilldown" : "073", - "name" : "#073" - }, - { - "drilldown" : "074", - "y" : 117, - "name" : "#074" - }, - { - "drilldown" : "075", - "y" : 117, - "name" : "#075" - }, - { - "name" : "#076", - "y" : 101, - "drilldown" : "076" - }, - { - "drilldown" : "077", - "y" : 100, - "name" : "#077" - }, - { - "drilldown" : "078", - "y" : 127, - "name" : "#078" - }, - { - "y" : 122, - "drilldown" : "079", - "name" : "#079" - }, - { - "drilldown" : "080", - "y" : 127, - "name" : "#080" - }, - { - "name" : "#081", - "y" : 114, - "drilldown" : "081" - }, - { - "y" : 114, - "drilldown" : "082", - "name" : "#082" - }, - { - "drilldown" : "083", - "y" : 127, - "name" : "#083" - }, - { - "name" : "#084", - "drilldown" : "084", - "y" : 119 - }, - { - "y" : 113, - "drilldown" : "085", - "name" : "#085" - }, - { - "name" : "#086", - "y" : 104, - "drilldown" : "086" - }, - { - "drilldown" : "087", - "y" : 101, - "name" : "#087" - }, - { - "y" : 121, - "drilldown" : "088", - "name" : "#088" - }, - { - "name" : "#089", - "y" : 113, - "drilldown" : "089" - }, - { - "y" : 113, - "drilldown" : "090", - "name" : "#090" - }, - { - "name" : "#091", - "drilldown" : "091", - "y" : 108 - }, - { - "name" : "#092", - "drilldown" : "092", - "y" : 98 - }, - { - "name" : "#093", - "drilldown" : "093", - "y" : 87 - }, - { - "y" : 87, - "drilldown" : "094", - "name" : "#094" - }, - { - "drilldown" : "095", - "y" : 108, - "name" : "#095" - }, - { - "y" : 108, - "drilldown" : "096", - "name" : "#096" - }, - { - "drilldown" : "097", - "y" : 111, - "name" : "#097" - }, - { - "name" : "#098", - "y" : 108, - "drilldown" : "098" - }, - { - "y" : 97, - "drilldown" : "099", - "name" : "#099" - }, - { - "name" : "#100", - "y" : 120, - "drilldown" : "100" - }, - { - "name" : "#101", - "y" : 83, - "drilldown" : "101" - }, - { - "name" : "#102", - "y" : 90, - "drilldown" : "102" - }, - { - "y" : 79, - "drilldown" : "103", - "name" : "#103" - }, - { - "name" : "#104", - "y" : 85, - "drilldown" : "104" - }, - { - "drilldown" : "105", - "y" : 77, - "name" : "#105" - }, - { - "name" : "#106", - "drilldown" : "106", - "y" : 97 - }, - { - "name" : "#107", - "y" : 92, - "drilldown" : "107" - }, - { - "drilldown" : "108", - "y" : 96, - "name" : "#108" - }, - { - "name" : "#109", - "drilldown" : "109", - "y" : 109 - }, - { - "name" : "#110", - "y" : 110, - "drilldown" : "110" - }, - { - "y" : 93, - "drilldown" : "111", - "name" : "#111" - }, - { - "name" : "#112", - "drilldown" : "112", - "y" : 94 - }, - { - "drilldown" : "113", - "y" : 94, - "name" : "#113" - }, - { - "name" : "#114", - "y" : 110, - "drilldown" : "114" - }, - { - "name" : "#115", - "y" : 98, - "drilldown" : "115" - }, - { - "drilldown" : "116", - "y" : 97, - "name" : "#116" - }, - { - "name" : "#117", - "drilldown" : "117", - "y" : 99 - }, - { - "name" : "#118", - "drilldown" : "118", - "y" : 85 - }, - { - "y" : 125, - "drilldown" : "119", - "name" : "#119" - }, - { - "name" : "#120", - "drilldown" : "120", - "y" : 116 - }, - { - "y" : 92, - "drilldown" : "121", - "name" : "#121" - }, - { - "drilldown" : "122", - "y" : 110, - "name" : "#122" - }, - { - "drilldown" : "123", - "y" : 105, - "name" : "#123" - }, - { - "name" : "#124", - "y" : 87, - "drilldown" : "124" - }, - { - "y" : 65, - "drilldown" : "125", - "name" : "#125" - }, - { - "drilldown" : "126", - "y" : 113, - "name" : "#126" - }, - { - "name" : "#127", - "drilldown" : "127", - "y" : 115 - }, - { - "name" : "#128", - "drilldown" : "128", - "y" : 73 - }, - { - "name" : "#129", - "y" : 52, - "drilldown" : "129" - }, - { - "drilldown" : "130", - "y" : 75, - "name" : "#130" - }, - { - "name" : "#131", - "drilldown" : "131", - "y" : 91 - }, - { - "y" : 78, - "drilldown" : "132", - "name" : "#132" - }, - { - "y" : 95, - "drilldown" : "133", - "name" : "#133" - }, - { - "y" : 94, - "drilldown" : "134", - "name" : "#134" - }, - { - "y" : 104, - "drilldown" : "135", - "name" : "#135" - }, - { - "name" : "#136", - "drilldown" : "136", - "y" : 97 - }, - { - "name" : "#137", - "drilldown" : "137", - "y" : 100 - }, - { - "drilldown" : "138", - "y" : 102, - "name" : "#138" - }, - { - "name" : "#139", - "drilldown" : "139", - "y" : 97 - }, - { - "name" : "#140", - "y" : 103, - "drilldown" : "140" - }, - { - "name" : "#141", - "drilldown" : "141", - "y" : 102 - }, - { - "name" : "#142", - "y" : 85, - "drilldown" : "142" - }, - { - "name" : "#143", - "drilldown" : "143", - "y" : 85 - }, - { - "y" : 90, - "drilldown" : "144", - "name" : "#144" - }, - { - "drilldown" : "145", - "y" : 96, - "name" : "#145" - }, - { - "name" : "#146", - "y" : 108, - "drilldown" : "146" - }, - { - "name" : "#147", - "drilldown" : "147", - "y" : 107 - }, - { - "name" : "#148", - "drilldown" : "148", - "y" : 94 - }, - { - "name" : "#149", - "drilldown" : "149", - "y" : 88 - }, - { - "name" : "#150", - "drilldown" : "150", - "y" : 108 - }, - { - "drilldown" : "151", - "y" : 78, - "name" : "#151" - }, - { - "name" : "#152", - "drilldown" : "152", - "y" : 80 - }, - { - "name" : "#153", - "y" : 97, - "drilldown" : "153" - }, - { - "drilldown" : "154", - "y" : 108, - "name" : "#154" - }, - { - "name" : "#155", - "drilldown" : "155", - "y" : 99 - }, - { - "y" : 98, - "drilldown" : "156", - "name" : "#156" - }, - { - "name" : "#157", - "y" : 97, - "drilldown" : "157" - }, - { - "name" : "#158", - "drilldown" : "158", - "y" : 107 - }, - { - "drilldown" : "159", - "y" : 92, - "name" : "#159" - }, - { - "name" : "#160", - "drilldown" : "160", - "y" : 121 - }, - { - "y" : 102, - "drilldown" : "161", - "name" : "#161" - }, - { - "name" : "#162", - "y" : 95, - "drilldown" : "162" - }, - { - "y" : 118, - "drilldown" : "163", - "name" : "#163" - }, - { - "name" : "#164", - "drilldown" : "164", - "y" : 120 - }, - { - "drilldown" : "165", - "y" : 80, - "name" : "#165" - }, - { - "y" : 81, - "drilldown" : "166", - "name" : "#166" - }, - { - "y" : 75, - "drilldown" : "167", - "name" : "#167" - }, - { - "name" : "#168", - "y" : 98, - "drilldown" : "168" - }, - { - "drilldown" : "169", - "y" : 107, - "name" : "#169" - }, - { - "name" : "#170", - "drilldown" : "170", - "y" : 102 - }, - { - "name" : "#171", - "drilldown" : "171", - "y" : 113 - }, - { - "name" : "#172", - "drilldown" : "172", - "y" : 96 - }, - { - "drilldown" : "173", - "y" : 113, - "name" : "#173" - }, - { - "y" : 101, - "drilldown" : "174", - "name" : "#174" - }, - { - "y" : 114, - "drilldown" : "175", - "name" : "#175" - }, - { - "name" : "#176", - "drilldown" : "176", - "y" : 114 - }, - { - "y" : 107, - "drilldown" : "177", - "name" : "#177" - }, - { - "name" : "#178", - "drilldown" : "178", - "y" : 67 - }, - { - "drilldown" : "179", - "y" : 74, - "name" : "#179" - }, - { - "y" : 117, - "drilldown" : "180", - "name" : "#180" - }, - { - "name" : "#181", - "y" : 99, - "drilldown" : "181" - }, - { - "name" : "#182", - "y" : 112, - "drilldown" : "182" - }, - { - "name" : "#183", - "drilldown" : "183", - "y" : 89 - }, - { - "name" : "#184", - "y" : 109, - "drilldown" : "184" - }, - { - "name" : "#185", - "drilldown" : "185", - "y" : 117 - }, - { - "drilldown" : "186", - "y" : 113, - "name" : "#186" - }, - { - "drilldown" : "187", - "y" : 111, - "name" : "#187" - }, - { - "name" : "#188", - "drilldown" : "188", - "y" : 121 - }, - { - "y" : 119, - "drilldown" : "189", - "name" : "#189" - }, - { - "y" : 113, - "drilldown" : "190", - "name" : "#190" - }, - { - "name" : "#191", - "y" : 119, - "drilldown" : "191" - }, - { - "name" : "#192", - "drilldown" : "192", - "y" : 129 - }, - { - "drilldown" : "193", - "y" : 112, - "name" : "#193" - }, - { - "name" : "#194", - "y" : 113, - "drilldown" : "194" - }, - { - "name" : "#195", - "y" : 110, - "drilldown" : "195" - }, - { - "name" : "#196", - "y" : 104, - "drilldown" : "196" - }, - { - "name" : "#197", - "y" : 105, - "drilldown" : "197" - }, - { - "name" : "#198", - "drilldown" : "198", - "y" : 119 - }, - { - "name" : "#199", - "y" : 119, - "drilldown" : "199" - }, - { - "y" : 118, - "drilldown" : "200", - "name" : "#200" - }, - { - "name" : "#201", - "y" : 111, - "drilldown" : "201" - }, - { - "name" : "#202", - "y" : 103, - "drilldown" : "202" - }, - { - "name" : "#203", - "drilldown" : "203", - "y" : 98 - }, - { - "name" : "#204", - "drilldown" : "204", - "y" : 111 - }, - { - "name" : "#205", - "drilldown" : "205", - "y" : 120 - }, - { - "y" : 113, - "drilldown" : "206", - "name" : "#206" - }, - { - "name" : "#207", - "y" : 120, - "drilldown" : "207" - }, - { - "drilldown" : "208", - "y" : 117, - "name" : "#208" - }, - { - "name" : "#209", - "drilldown" : "209", - "y" : 107 - }, - { - "y" : 97, - "drilldown" : "210", - "name" : "#210" - }, - { - "y" : 111, - "drilldown" : "211", - "name" : "#211" - }, - { - "y" : 105, - "drilldown" : "212", - "name" : "#212" - }, - { - "name" : "#213", - "drilldown" : "213", - "y" : 100 - }, - { - "drilldown" : "214", - "y" : 69, - "name" : "#214" - }, - { - "name" : "#215", - "drilldown" : "215", - "y" : 115 - }, - { - "name" : "#216", - "y" : 89, - "drilldown" : "216" - }, - { - "name" : "#217", - "drilldown" : "217", - "y" : 115 - }, - { - "name" : "#218", - "y" : 85, - "drilldown" : "218" - }, - { - "name" : "#219", - "drilldown" : "219", - "y" : 85 - }, - { - "y" : 100, - "drilldown" : "220", - "name" : "#220" - }, - { - "drilldown" : "221", - "y" : 84, - "name" : "#221" - }, - { - "name" : "#222", - "y" : 107, - "drilldown" : "222" - }, - { - "drilldown" : "223", - "y" : 87, - "name" : "#223" - }, - { - "name" : "#224", - "y" : 78, - "drilldown" : "224" - }, - { - "name" : "#225", - "y" : 113, - "drilldown" : "225" - }, - { - "name" : "#226", - "y" : 120, - "drilldown" : "226" - }, - { - "y" : 114, - "drilldown" : "227", - "name" : "#227" - }, - { - "y" : 121, - "drilldown" : "228", - "name" : "#228" - }, - { - "name" : "#229", - "drilldown" : "229", - "y" : 115 - }, - { - "y" : 124, - "drilldown" : "230", - "name" : "#230" - }, - { - "name" : "#231", - "drilldown" : "231", - "y" : 139 - }, - { - "y" : 128, - "drilldown" : "233", - "name" : "#233" - }, - { - "name" : "#234", - "y" : 113, - "drilldown" : "234" - }, - { - "y" : 123, - "drilldown" : "235", - "name" : "#235" - }, - { - "drilldown" : "236", - "y" : 116, - "name" : "#236" - }, - { - "name" : "#237", - "y" : 110, - "drilldown" : "237" - }, - { - "y" : 128, - "drilldown" : "238", - "name" : "#238" - }, - { - "y" : 130, - "drilldown" : "239", - "name" : "#239" - }, - { - "drilldown" : "240", - "y" : 126, - "name" : "#240" - }, - { - "name" : "#241", - "y" : 117, - "drilldown" : "241" - }, - { - "drilldown" : "242", - "y" : 128, - "name" : "#242" - }, - { - "y" : 127, - "drilldown" : "243", - "name" : "#243" - }, - { - "y" : 122, - "drilldown" : "244", - "name" : "#244" - }, - { - "name" : "#245", - "y" : 113, - "drilldown" : "245" - }, - { - "drilldown" : "246", - "y" : 99, - "name" : "#246" - }, - { - "name" : "#247", - "y" : 88, - "drilldown" : "247" - }, - { - "y" : 110, - "drilldown" : "248", - "name" : "#248" - }, - { - "name" : "#249", - "y" : 105, - "drilldown" : "249" - }, - { - "drilldown" : "250", - "y" : 119, - "name" : "#250" - }, - { - "name" : "#251", - "y" : 109, - "drilldown" : "251" - }, - { - "name" : "#252", - "drilldown" : "252", - "y" : 115 - }, - { - "drilldown" : "253", - "y" : 111, - "name" : "#253" - }, - { - "drilldown" : "254", - "y" : 114, - "name" : "#254" - }, - { - "name" : "#255", - "y" : 113, - "drilldown" : "255" - }, - { - "name" : "#256", - "drilldown" : "256", - "y" : 117 - }, - { - "name" : "#257", - "y" : 90, - "drilldown" : "257" - }, - { - "drilldown" : "258", - "y" : 124, - "name" : "#258" - }, - { - "y" : 67, - "drilldown" : "259", - "name" : "#259" - } - ], - "colorByPoint" : "true" - } - ], "drilldown" : { "series" : [ { @@ -1336,7 +43,7 @@ "name" : "001" }, { - "name" : "002", + "id" : "002", "data" : [ [ "Perl", @@ -1351,7 +58,7 @@ 10 ] ], - "id" : "002" + "name" : "002" }, { "name" : "003", @@ -1372,6 +79,8 @@ "id" : "003" }, { + "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -1385,11 +94,10 @@ "Blog", 10 ] - ], - "id" : "004", - "name" : "004" + ] }, { + "name" : "005", "data" : [ [ "Perl", @@ -1404,10 +112,11 @@ 12 ] ], - "id" : "005", - "name" : "005" + "id" : "005" }, { + "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -1421,12 +130,9 @@ "Blog", 7 ] - ], - "id" : "006", - "name" : "006" + ] }, { - "id" : "007", "data" : [ [ "Perl", @@ -1441,9 +147,11 @@ 10 ] ], + "id" : "007", "name" : "007" }, { + "id" : "008", "data" : [ [ "Perl", @@ -1458,11 +166,11 @@ 12 ] ], - "id" : "008", "name" : "008" }, { "name" : "009", + "id" : "009", "data" : [ [ "Perl", @@ -1476,11 +184,11 @@ "Blog", 13 ] - ], - "id" : "009" + ] }, { "name" : "010", + "id" : "010", "data" : [ [ "Perl", @@ -1494,11 +202,9 @@ "Blog", 11 ] - ], - "id" : "010" + ] }, { - "name" : "011", "id" : "011", "data" : [ [ @@ -1513,11 +219,10 @@ "Blog", 10 ] - ] + ], + "name" : "011" }, { - "name" : "012", - "id" : "012", "data" : [ [ "Perl", @@ -1531,10 +236,11 @@ "Blog", 11 ] - ] + ], + "id" : "012", + "name" : "012" }, { - "name" : "013", "id" : "013", "data" : [ [ @@ -1549,9 +255,11 @@ "Blog", 13 ] - ] + ], + "name" : "013" }, { + "name" : "014", "data" : [ [ "Perl", @@ -1566,8 +274,7 @@ 15 ] ], - "id" : "014", - "name" : "014" + "id" : "014" }, { "data" : [ @@ -1606,7 +313,6 @@ ] }, { - "id" : "017", "data" : [ [ "Perl", @@ -1621,6 +327,7 @@ 12 ] ], + "id" : "017", "name" : "017" }, { @@ -1643,6 +350,7 @@ }, { "name" : "019", + "id" : "019", "data" : [ [ "Perl", @@ -1656,8 +364,7 @@ "Blog", 13 ] - ], - "id" : "019" + ] }, { "data" : [ @@ -1732,6 +439,7 @@ "name" : "023" }, { + "name" : "024", "data" : [ [ "Perl", @@ -1746,11 +454,9 @@ 11 ] ], - "id" : "024", - "name" : "024" + "id" : "024" }, { - "id" : "025", "data" : [ [ "Perl", @@ -1765,6 +471,7 @@ 12 ] ], + "id" : "025", "name" : "025" }, { @@ -1787,7 +494,6 @@ }, { "name" : "027", - "id" : "027", "data" : [ [ "Perl", @@ -1801,7 +507,8 @@ "Blog", 9 ] - ] + ], + "id" : "027" }, { "id" : "028", @@ -1822,7 +529,6 @@ "name" : "028" }, { - "name" : "029", "data" : [ [ "Perl", @@ -1837,10 +543,12 @@ 12 ] ], - "id" : "029" + "id" : "029", + "name" : "029" }, { "name" : "030", + "id" : "030", "data" : [ [ "Perl", @@ -1854,10 +562,10 @@ "Blog", 10 ] - ], - "id" : "030" + ] }, { + "id" : "031", "data" : [ [ "Perl", @@ -1872,11 +580,11 @@ 9 ] ], - "id" : "031", "name" : "031" }, { "name" : "032", + "id" : "032", "data" : [ [ "Perl", @@ -1890,10 +598,10 @@ "Blog", 10 ] - ], - "id" : "032" + ] }, { + "id" : "033", "data" : [ [ "Perl", @@ -1908,10 +616,10 @@ 10 ] ], - "id" : "033", "name" : "033" }, { + "name" : "034", "data" : [ [ "Perl", @@ -1926,8 +634,7 @@ 11 ] ], - "id" : "034", - "name" : "034" + "id" : "034" }, { "data" : [ @@ -1948,6 +655,7 @@ "name" : "035" }, { + "name" : "036", "data" : [ [ "Perl", @@ -1962,11 +670,9 @@ 11 ] ], - "id" : "036", - "name" : "036" + "id" : "036" }, { - "name" : "037", "id" : "037",