From 00d240f6aa3014af91349f023d5e1235ba88e184 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Fri, 12 Feb 2021 19:11:39 +0100 Subject: solutions week 099 --- challenge-099/wambash/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-099/wambash/raku/ch-2.raku | 17 +++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 challenge-099/wambash/raku/ch-1.raku create mode 100644 challenge-099/wambash/raku/ch-2.raku diff --git a/challenge-099/wambash/raku/ch-1.raku b/challenge-099/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..46fb53a006 --- /dev/null +++ b/challenge-099/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub pattern-match ( $s, $p ) { + my $re = $p.trans: < * ? > => < .* . >; + $s.match: / ^ <$re> $ / +} + +multi MAIN (Bool :$test!) { + use Test; + ok pattern-match('abcde', 'a*e'); + nok pattern-match('abcde', 'a*d'); + nok pattern-match('abcde', '?b*d'); + ok pattern-match('abcde', 'a*c?e'); + done-testing; +} + +multi MAIN ($s, $p) { + say +so pattern-match $s, $p +} diff --git a/challenge-099/wambash/raku/ch-2.raku b/challenge-099/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..2b554b28fe --- /dev/null +++ b/challenge-099/wambash/raku/ch-2.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +sub unique-subsequence ( $s, $t ) { + my $re = $t.comb.join: '.*'; + $s.match: /<$re>/,:ex +} + +multi MAIN (Bool :$test!) { + use Test; + is unique-subsequence('littleit', 'lit').Int,5; + is unique-subsequence('london', 'lon').Int, 3; + done-testing; +} + +multi MAIN ($s, $t) { + say +unique-subsequence $s, $t, +} -- cgit From a238d293f24aa716001cf02e7050e0a25d578ef1 Mon Sep 17 00:00:00 2001 From: arnesom Date: Fri, 12 Feb 2021 20:47:05 +0100 Subject: Arne Sommer --- challenge-099/arne-sommer/blog.txt | 1 + challenge-099/arne-sommer/perl/ch-1.pl | 24 ++++++++++ challenge-099/arne-sommer/perl/ch-2.pl | 52 ++++++++++++++++++++++ challenge-099/arne-sommer/perl/pattern-match-perl | 24 ++++++++++ .../arne-sommer/perl/unique-subsequence-perl | 52 ++++++++++++++++++++++ challenge-099/arne-sommer/raku/ch-1.raku | 11 +++++ challenge-099/arne-sommer/raku/ch-2.raku | 38 ++++++++++++++++ challenge-099/arne-sommer/raku/pattern-match | 11 +++++ challenge-099/arne-sommer/raku/unique-subsequence | 38 ++++++++++++++++ 9 files changed, 251 insertions(+) create mode 100644 challenge-099/arne-sommer/blog.txt create mode 100755 challenge-099/arne-sommer/perl/ch-1.pl create mode 100755 challenge-099/arne-sommer/perl/ch-2.pl create mode 100755 challenge-099/arne-sommer/perl/pattern-match-perl create mode 100755 challenge-099/arne-sommer/perl/unique-subsequence-perl create mode 100755 challenge-099/arne-sommer/raku/ch-1.raku create mode 100755 challenge-099/arne-sommer/raku/ch-2.raku create mode 100755 challenge-099/arne-sommer/raku/pattern-match create mode 100755 challenge-099/arne-sommer/raku/unique-subsequence diff --git a/challenge-099/arne-sommer/blog.txt b/challenge-099/arne-sommer/blog.txt new file mode 100644 index 0000000000..0c47295e92 --- /dev/null +++ b/challenge-099/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/subsequently-matched.html diff --git a/challenge-099/arne-sommer/perl/ch-1.pl b/challenge-099/arne-sommer/perl/ch-1.pl new file mode 100755 index 0000000000..632204f90c --- /dev/null +++ b/challenge-099/arne-sommer/perl/ch-1.pl @@ -0,0 +1,24 @@ +#! /usr/bin/env perl + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +my $S = shift(@ARGV); +my $P = shift(@ARGV); + +die '"$S" must have length' unless length $S; +die '"$P" must have length' unless length $P; + +$P =~ s/\*/.*/g; +$P =~ s/\?/./g; + +say ": Perl Regex: $P " if $verbose; + +say $S =~ /^$P$/ ? 1 : 0; diff --git a/challenge-099/arne-sommer/perl/ch-2.pl b/challenge-099/arne-sommer/perl/ch-2.pl new file mode 100755 index 0000000000..584e01992e --- /dev/null +++ b/challenge-099/arne-sommer/perl/ch-2.pl @@ -0,0 +1,52 @@ +#! /usr/bin/env perl + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; +use List::Util qw(sum); + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +my $S = shift(@ARGV); +my $T = shift(@ARGV); + +die '"$S" must have length' unless length $S; +die '"$T" must have length' unless length $T; + +my $S_length = length $S; +my $T_length = length $T; +my $binary = '1' x $S_length; + +my $max = oct('0b' . $binary); +my $matches = 0; + +for my $current (1 .. $max) +{ + my $mask = sprintf("%0" . $S_length ."b", $current); + + if (sum(split(//, $mask)) != $T_length) + { + say ": Skipped binary mask '{ $mask }' - wrong number of 1s" if $verbose; + next; + } + + my $candidate = join("", map { substr($mask, $_, 1) eq '1' ? substr($S, $_,1) : '' } (0 .. $S_length -1)); + + if ($candidate eq $T) + { + $matches++; + say ": + Match found with binary mask '$mask'." if $verbose; + } + else + { + say ": Considering binary mask ' $mask' - no match" if $verbose; + } +} + +say $matches; + + diff --git a/challenge-099/arne-sommer/perl/pattern-match-perl b/challenge-099/arne-sommer/perl/pattern-match-perl new file mode 100755 index 0000000000..632204f90c --- /dev/null +++ b/challenge-099/arne-sommer/perl/pattern-match-perl @@ -0,0 +1,24 @@ +#! /usr/bin/env perl + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +my $S = shift(@ARGV); +my $P = shift(@ARGV); + +die '"$S" must have length' unless length $S; +die '"$P" must have length' unless length $P; + +$P =~ s/\*/.*/g; +$P =~ s/\?/./g; + +say ": Perl Regex: $P " if $verbose; + +say $S =~ /^$P$/ ? 1 : 0; diff --git a/challenge-099/arne-sommer/perl/unique-subsequence-perl b/challenge-099/arne-sommer/perl/unique-subsequence-perl new file mode 100755 index 0000000000..584e01992e --- /dev/null +++ b/challenge-099/arne-sommer/perl/unique-subsequence-perl @@ -0,0 +1,52 @@ +#! /usr/bin/env perl + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; +use List::Util qw(sum); + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +my $S = shift(@ARGV); +my $T = shift(@ARGV); + +die '"$S" must have length' unless length $S; +die '"$T" must have length' unless length $T; + +my $S_length = length $S; +my $T_length = length $T; +my $binary = '1' x $S_length; + +my $max = oct('0b' . $binary); +my $matches = 0; + +for my $current (1 .. $max) +{ + my $mask = sprintf("%0" . $S_length ."b", $current); + + if (sum(split(//, $mask)) != $T_length) + { + say ": Skipped binary mask '{ $mask }' - wrong number of 1s" if $verbose; + next; + } + + my $candidate = join("", map { substr($mask, $_, 1) eq '1' ? substr($S, $_,1) : '' } (0 .. $S_length -1)); + + if ($candidate eq $T) + { + $matches++; + say ": + Match found with binary mask '$mask'." if $verbose; + } + else + { + say ": Considering binary mask ' $mask' - no match" if $verbose; + } +} + +say $matches; + + diff --git a/challenge-099/arne-sommer/raku/ch-1.raku b/challenge-099/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..7b7a160d80 --- /dev/null +++ b/challenge-099/arne-sommer/raku/ch-1.raku @@ -0,0 +1,11 @@ +#! /usr/bin/env raku + +unit sub MAIN (Str $S where $S.chars > 0, + Str $P is copy where $P.chars > 0, + :v(:$verbose)); + +$P.=trans( [ '*', '?' ] => [ '.*' , '.' ]); + +say ": Regex: $P " if $verbose; + +say $S ~~ /^ <$P> $/ ?? 1 !! 0 diff --git a/challenge-099/arne-sommer/raku/ch-2.raku b/challenge-099/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..9cd85cf00d --- /dev/null +++ b/challenge-099/arne-sommer/raku/ch-2.raku @@ -0,0 +1,38 @@ +#! /usr/bin/env raku + +unit sub MAIN (Str $S where $S.chars > 0, + Str $T where $T.chars > 0, + :v(:$verbose)); + +my $S-length = $S.chars; +my $T-length = $T.chars; +my $binary = '1' x $S-length; +my $max = $binary.parse-base(2); +my $matches = 0; + +for 1 .. $max -> $current +{ + my $mask = $current.fmt('%0' ~ $S-length ~ 'b'); + + if $mask.comb.sum != $T-length + { + say ": Skipped binary mask '{ $mask }' - wrong number of 1s" if $verbose; + next; + } + + my $candidate = (^$S-length).map({ $mask.substr($_, 1) eq '1' ?? $S.substr($_,1) !! '' }).join; + + if $candidate eq $T + { + $matches++; + say ": + Match found with binary mask '{ $mask }'." if $verbose; + } + else + { + say ": Considering binary mask '{ $mask}' - no match" if $verbose; + } +} + +say $matches; + + diff --git a/challenge-099/arne-sommer/raku/pattern-match b/challenge-099/arne-sommer/raku/pattern-match new file mode 100755 index 0000000000..7b7a160d80 --- /dev/null +++ b/challenge-099/arne-sommer/raku/pattern-match @@ -0,0 +1,11 @@ +#! /usr/bin/env raku + +unit sub MAIN (Str $S where $S.chars > 0, + Str $P is copy where $P.chars > 0, + :v(:$verbose)); + +$P.=trans( [ '*', '?' ] => [ '.*' , '.' ]); + +say ": Regex: $P " if $verbose; + +say $S ~~ /^ <$P> $/ ?? 1 !! 0 diff --git a/challenge-099/arne-sommer/raku/unique-subsequence b/challenge-099/arne-sommer/raku/unique-subsequence new file mode 100755 index 0000000000..9cd85cf00d --- /dev/null +++ b/challenge-099/arne-sommer/raku/unique-subsequence @@ -0,0 +1,38 @@ +#! /usr/bin/env raku + +unit sub MAIN (Str $S where $S.chars > 0, + Str $T where $T.chars > 0, + :v(:$verbose)); + +my $S-length = $S.chars; +my $T-length = $T.chars; +my $binary = '1' x $S-length; +my $max = $binary.parse-base(2); +my $matches = 0; + +for 1 .. $max -> $current +{ + my $mask = $current.fmt('%0' ~ $S-length ~ 'b'); + + if $mask.comb.sum != $T-length + { + say ": Skipped binary mask '{ $mask }' - wrong number of 1s" if $verbose; + next; + } + + my $candidate = (^$S-length).map({ $mask.substr($_, 1) eq '1' ?? $S.substr($_,1) !! '' }).join; + + if $candidate eq $T + { + $matches++; + say ": + Match found with binary mask '{ $mask }'." if $verbose; + } + else + { + say ": Considering binary mask '{ $mask}' - no match" if $verbose; + } +} + +say $matches; + + -- cgit From 9553eb3b086d58be5b53ee6e0face1d4498ee034 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Fri, 12 Feb 2021 23:52:53 +0000 Subject: - Added solutions by Jan Krnavek. --- stats/pwc-current.json | 275 ++++++------ stats/pwc-language-breakdown-summary.json | 68 +-- stats/pwc-language-breakdown.json | 700 +++++++++++++++--------------- stats/pwc-leaders.json | 366 ++++++++-------- stats/pwc-summary-1-30.json | 102 ++--- stats/pwc-summary-121-150.json | 48 +- stats/pwc-summary-151-180.json | 104 ++--- stats/pwc-summary-181-210.json | 54 +-- stats/pwc-summary-211-240.json | 34 +- stats/pwc-summary-31-60.json | 96 ++-- stats/pwc-summary-61-90.json | 40 +- stats/pwc-summary-91-120.json | 100 ++--- stats/pwc-summary.json | 48 +- 13 files changed, 1025 insertions(+), 1010 deletions(-) diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 21211d1c81..780a92380b 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,18 +1,109 @@ { - "legend" : { - "enabled" : 0 - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, - "title" : { - "text" : "Perl Weekly Challenge - 099" + "chart" : { + "type" : "column" }, + "series" : [ + { + "data" : [ + { + "y" : 3, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "name" : "E. Choroba", + "y" : 2, + "drilldown" : "E. Choroba" + }, + { + "name" : "Flavio Poletti", + "y" : 4, + "drilldown" : "Flavio Poletti" + }, + { + "drilldown" : "Gustavo Chaves", + "name" : "Gustavo Chaves", + "y" : 2 + }, + { + "y" : 2, + "name" : "James Smith", + "drilldown" : "James Smith" + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 2 + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 4 + }, + { + "drilldown" : "Mark Anderson", + "y" : 2, + "name" : "Mark Anderson" + }, + { + "drilldown" : "Nuno Vieira", + "name" : "Nuno Vieira", + "y" : 2 + }, + { + "y" : 2, + "name" : "Paulo Custodio", + "drilldown" : "Paulo Custodio" + }, + { + "y" : 2, + "name" : "Pete Houston", + "drilldown" : "Pete Houston" + }, + { + "drilldown" : "Roger Bell_West", + "y" : 5, + "name" : "Roger Bell_West" + }, + { + "y" : 3, + "name" : "Simon Green", + "drilldown" : "Simon Green" + }, + { + "y" : 2, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + }, + { + "y" : 4, + "name" : "Stuart Little", + "drilldown" : "Stuart Little" + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 2 + }, + { + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan", + "y" : 3 + } + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 099" + } + ], "drilldown" : { "series" : [ { + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -23,22 +114,20 @@ 1 ] ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + "name" : "Dave Jacoby" }, { + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba", - "id" : "E. Choroba" + "name" : "E. Choroba" }, { "id" : "Flavio Poletti", - "name" : "Flavio Poletti", "data" : [ [ "Perl", @@ -48,31 +137,40 @@ "Blog", 2 ] - ] + ], + "name" : "Flavio Poletti" }, { - "id" : "Gustavo Chaves", "name" : "Gustavo Chaves", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Gustavo Chaves" }, { + "name" : "James Smith", "id" : "James Smith", "data" : [ [ "Perl", 2 ] + ] + }, + { + "id" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 2 + ] ], - "name" : "James Smith" + "name" : "Jan Krnavek" }, { - "id" : "Luca Ferrari", - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -82,17 +180,19 @@ "Blog", 2 ] - ] + ], + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { - "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { "id" : "Nuno Vieira", @@ -115,16 +215,18 @@ "id" : "Paulo Custodio" }, { + "id" : "Pete Houston", "data" : [ [ "Perl", 2 ] ], - "name" : "Pete Houston", - "id" : "Pete Houston" + "name" : "Pete Houston" }, { + "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -138,12 +240,9 @@ "Blog", 1 ] - ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + ] }, { - "id" : "Simon Green", "name" : "Simon Green", "data" : [ [ @@ -154,7 +253,8 @@ "Blog", 1 ] - ] + ], + "id" : "Simon Green" }, { "id" : "Simon Proctor", @@ -167,6 +267,7 @@ "name" : "Simon Proctor" }, { + "name" : "Stuart Little", "data" : [ [ "Perl", @@ -177,7 +278,6 @@ 2 ] ], - "name" : "Stuart Little", "id" : "Stuart Little" }, { @@ -191,7 +291,6 @@ "id" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -202,14 +301,13 @@ 1 ] ], - "id" : "W. Luis Mochan" + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" } ] }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "xAxis" : { + "type" : "category" }, "plotOptions" : { "series" : { @@ -221,100 +319,17 @@ } }, "subtitle" : { - "text" : "[Champions: 16] Last updated at 2021-02-12 07:19:21 GMT" + "text" : "[Champions: 17] Last updated at 2021-02-12 23:52:28 GMT" }, - "xAxis" : { - "type" : "category" + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" }, - "series" : [ - { - "data" : [ - { - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 3 - }, - { - "y" : 2, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" - }, - { - "y" : 4, - "name" : "Flavio Poletti", - "drilldown" : "Flavio Poletti" - }, - { - "y" : 2, - "drilldown" : "Gustavo Chaves", - "name" : "Gustavo Chaves" - }, - { - "drilldown" : "James Smith", - "name" : "James Smith", - "y" : 2 - }, - { - "y" : 4, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" - }, - { - "y" : 2, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "y" : 2, - "name" : "Nuno Vieira", - "drilldown" : "Nuno Vieira" - }, - { - "y" : 2, - "drilldown" : "Paulo Custodio", - "name" : "Paulo Custodio" - }, - { - "name" : "Pete Houston", - "drilldown" : "Pete Houston", - "y" : 2 - }, - { - "y" : 5, - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "drilldown" : "Simon Green", - "name" : "Simon Green", - "y" : 3 - }, - { - "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - }, - { - "drilldown" : "Stuart Little", - "name" : "Stuart Little", - "y" : 4 - }, - { - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke", - "y" : 2 - }, - { - "y" : 3, - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" - } - ], - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 099" - } - ], - "chart" : { - "type" : "column" + "legend" : { + "enabled" : 0 + }, + "title" : { + "text" : "Perl Weekly Challenge - 099" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 271da28fce..63a6ae36c6 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,18 +1,28 @@ { + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, "chart" : { "type" : "column" }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, "series" : [ { + "dataLabels" : { + "y" : 10, + "color" : "#FFFFFF", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "enabled" : "true", + "format" : "{point.y:.0f}", + "align" : "right", + "rotation" : -90 + }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -24,40 +34,30 @@ ], [ "Raku", - 2978 + 2980 ] - ], - "name" : "Contributions", - "dataLabels" : { - "format" : "{point.y:.0f}", - "enabled" : "true", - "color" : "#FFFFFF", - "align" : "right", - "rotation" : -90, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "y" : 10 - } + ] } ], - "subtitle" : { - "text" : "Last updated at 2021-02-12 07:19:21 GMT" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + "subtitle" : { + "text" : "Last updated at 2021-02-12 23:52:28 GMT" }, "tooltip" : { "pointFormat" : "{point.y:.0f}" }, "legend" : { "enabled" : "false" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 3e2b34e467..e98b847d28 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,27 +1,23 @@ { - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-02-12 23:52:28 GMT" + }, + "xAxis" : { + "type" : "category" }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 } }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, "drilldown" : { "series" : [ { + "name" : "001", "id" : "001", "data" : [ [ @@ -36,10 +32,10 @@ "Blog", 11 ] - ], - "name" : "001" + ] }, { + "name" : "002", "data" : [ [ "Perl", @@ -54,12 +50,11 @@ 10 ] ], - "name" : "002", "id" : "002" }, { - "id" : "003", "name" : "003", + "id" : "003", "data" : [ [ "Perl", @@ -90,11 +85,11 @@ 10 ] ], - "name" : "004", - "id" : "004" + "id" : "004", + "name" : "004" }, { - "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -109,11 +104,9 @@ 12 ] ], - "name" : "005" + "id" : "005" }, { - "id" : "006", - "name" : "006", "data" : [ [ "Perl", @@ -127,11 +120,12 @@ "Blog", 7 ] - ] + ], + "id" : "006", + "name" : "006" }, { "id" : "007", - "name" : "007", "data" : [ [ "Perl", @@ -145,9 +139,11 @@ "Blog", 10 ] - ] + ], + "name" : "007" }, { + "id" : "008", "data" : [ [ "Perl", @@ -162,10 +158,10 @@ 12 ] ], - "name" : "008", - "id" : "008" + "name" : "008" }, { + "id" : "009", "data" : [ [ "Perl", @@ -180,11 +176,11 @@ 13 ] ], - "name" : "009", - "id" : "009" + "name" : "009" }, { "name" : "010", + "id" : "010", "data" : [ [ "Perl", @@ -198,11 +194,9 @@ "Blog", 11 ] - ], - "id" : "010" + ] }, { - "id" : "011", "name" : "011", "data" : [ [ @@ -217,7 +211,8 @@ "Blog", 10 ] - ] + ], + "id" : "011" }, { "id" : "012", @@ -238,7 +233,6 @@ "name" : "012" }, { - "id" : "013", "name" : "013", "data" : [ [ @@ -253,10 +247,12 @@ "Blog", 13 ] - ] + ], + "id" : "013" }, { "name" : "014", + "id" : "014", "data" : [ [ "Perl", @@ -270,8 +266,7 @@ "Blog", 15 ] - ], - "id" : "014" + ] }, { "id" : "015", @@ -292,6 +287,7 @@ "name" : "015" }, { + "id" : "016", "data" : [ [ "Perl", @@ -306,11 +302,10 @@ 12 ] ], - "name" : "016", - "id" : "016" + "name" : "016" }, { - "name" : "017", + "id" : "017", "data" : [ [ "Perl", @@ -325,9 +320,10 @@ 12 ] ], - "id" : "017" + "name" : "017" }, { + "name" : "018", "data" : [ [ "Perl", @@ -342,11 +338,10 @@ 14 ] ], - "name" : "018", "id" : "018" }, { - "id" : "019", + "name" : "019", "data" : [ [ "Perl", @@ -361,10 +356,10 @@ 13 ] ], - "name" : "019" + "id" : "019" }, { - "name" : "020", + "id" : "020", "data" : [ [ "Perl", @@ -379,9 +374,10 @@ 13 ] ], - "id" : "020" + "name" : "020" }, { + "name" : "021", "id" : "021", "data" : [ [ @@ -396,12 +392,10 @@ "Blog", 10 ] - ], - "name" : "021" + ] }, { "id" : "022", - "name" : "022", "data" : [ [ "Perl", @@ -415,10 +409,10 @@ "Blog", 10 ] - ] + ], + "name" : "022" }, { - "id" : "023", "data" : [ [ "Perl", @@ -433,11 +427,10 @@ 12 ] ], + "id" : "023", "name" : "023" }, { - "id" : "024", - "name" : "024", "data" : [ [ "Perl", @@ -451,10 +444,11 @@ "Blog", 11 ] - ] + ], + "id" : "024", + "name" : "024" }, { - "name" : "025", "data" : [ [ "Perl", @@ -469,10 +463,11 @@ 12 ] ], - "id" : "025" + "id" : "025", + "name" : "025" }, { - "id" : "026", + "name" : "026", "data" : [ [ "Perl", @@ -487,10 +482,9 @@ 10 ] ], - "name" : "026" + "id" : "026" }, { - "name" : "027", "data" : [ [ "Perl", @@ -505,9 +499,11 @@ 9 ] ], - "id" : "027" + "id" : "027", + "name" : "027" }, { + "id" : "028", "data" : [ [ "Perl", @@ -522,11 +518,11 @@ 9 ] ], - "name" : "028", - "id" : "028" + "name" : "028" }, { "name" : "029", + "id" : "029", "data" : [ [ "Perl", @@ -540,10 +536,11 @@ "Blog", 12 ] - ], - "id" : "029" + ] }, { + "name" : "030", + "id" : "030", "data" : [ [ "Perl", @@ -557,12 +554,9 @@ "Blog", 10 ] - ], - "name" : "030", - "id" : "030" + ] }, { - "id" : "031", "name" : "031", "data" : [ [ @@ -577,10 +571,11 @@ "Blog", 9 ] - ] + ], + "id" : "031" }, { - "name" : "032", + "id" : "032", "data" : [ [ "Perl", @@ -595,10 +590,10 @@ 10 ] ], - "id" : "032" + "name" : "032" }, { - "name" : "033", + "id" : "033", "data" : [ [ "Perl", @@ -613,7 +608,7 @@ 10 ] ], - "id" : "033" + "name" : "033" }, { "data" : [ @@ -630,11 +625,10 @@ 11 ] ], - "name" : "034", - "id" : "034" + "id" : "034", + "name" : "034" }, { - "id" : "035", "data" : [ [ "Perl", @@ -649,9 +643,11 @@ 9 ] ], + "id" : "035", "name" : "035" }, { + "id" : "036", "data" : [ [ "Perl", @@ -666,11 +662,9 @@ 11 ] ], - "name" : "036", - "id" : "036" + "name" : "036" }, { - "name" : "037", "data" : [ [ "Perl", @@ -685,7 +679,8 @@ 9 ] ], - "id" : "037" + "id" : "037", + "name" : "037" }, { "data" : [ @@ -702,11 +697,11 @@ 12 ] ], - "name" : "038", - "id" : "038" + "id" : "038", + "name" : "038" }, { - "id" : "039", + "name" : "039", "data" : [ [ "Perl", @@ -721,9 +716,10 @@ 12 ] ], - "name" : "039" + "id" : "039" }, { + "name" : "040", "data" : [ [ "Perl", @@ -738,10 +734,10 @@ 10 ] ], - "name" : "040", "id" : "040" }, { + "name" : "041", "id" : "041", "data" : [ [ @@ -756,12 +752,9 @@ "Blog", 9 ] - ], - "name" : "041" + ] }, { - "id" : "042", - "name" : "042", "data" : [ [ "Perl", @@ -775,11 +768,12 @@ "Blog", 11 ] - ] + ], + "id" : "042", + "name" : "042" }, { "id" : "043", - "name" : "043", "data" : [ [ "Perl", @@ -793,7 +787,8 @@ "Blog", 11 ] - ] + ], + "name" : "043" }, { "name" : "044", @@ -814,7 +809,6 @@ "id" : "044" }, { - "id" : "045", "name" : "045", "data" : [ [ @@ -829,9 +823,11 @@ "Blog", 11 ] - ] + ], + "id" : "045" }, { + "name" : "046", "id" : "046", "data" : [ [ @@ -846,12 +842,9 @@ "Blog", 10 ] - ], - "name" : "046" + ] }, { - "id" : "047", - "name" : "047", "data" : [ [ "Perl", @@ -865,7 +858,9 @@ "Blog", 10 ] - ] + ], + "id" : "047", + "name" : "047" }, { "name" : "048", @@ -887,7 +882,6 @@ }, { "id" : "049", - "name" : "049", "data" : [ [ "Perl", @@ -901,7 +895,8 @@ "Blog", 12 ] - ] + ], + "name" : "049" }, { "data" : [ @@ -918,10 +913,11 @@ 12 ] ], - "name" : "050", - "id" : "050" + "id" : "050", + "name" : "050" }, { + "name" : "051", "data" : [ [ "Perl", @@ -936,7 +932,6 @@ 11 ] ], - "name" : "051", "id" : "051" }, { @@ -958,7 +953,6 @@ "id" : "052" }, { - "id" : "053", "name" : "053", "data" : [ [ @@ -973,11 +967,11 @@ "Blog", 15 ] - ] + ], + "id" : "053" }, { "id" : "054", - "name" : "054", "data" : [ [ "Perl", @@ -991,11 +985,10 @@ "Blog", 18 ] - ] + ], + "name" : "054" }, { - "id" : "055", - "name" : "055", "data" : [ [ "Perl", @@ -1009,11 +1002,12 @@ "Blog", 14 ] - ] + ], + "id" : "055", + "name" : "055" }, { "id" : "056", - "name" : "056", "data" : [ [ "Perl", @@ -1027,7 +1021,8 @@ "Blog", 16 ] - ] + ], + "name" : "056" }, { "data" : [ @@ -1044,12 +1039,11 @@ 15 ] ], - "name" : "057", - "id" : "057" + "id" : "057", + "name" : "057" }, { "id" : "058", - "name" : "058", "data" : [ [ "Perl", @@ -1063,7 +1057,8 @@ "Blog", 13 ] - ] + ], + "name" : "058" }, { "data" : [ @@ -1080,12 +1075,12 @@ 16 ] ], - "name" : "059", - "id" : "059" + "id" : "059", + "name" : "059" }, { - "id" : "060", "name" : "060", + "id" : "060", "data" : [ [ "Perl", @@ -1116,12 +1111,12 @@ 14 ] ], - "name" : "061", - "id" : "061" + "id" : "061", + "name" : "061" }, { - "id" : "062", "name" : "062", + "id" : "062", "data" : [ [ "Perl", @@ -1138,8 +1133,6 @@ ] }, { - "id" : "063", - "name" : "063", "data" : [ [ "Perl", @@ -1153,7 +1146,9 @@ "Blog", 13 ] - ] + ], + "id" : "063", + "name" : "063" }, { "data" : [ @@ -1170,8 +1165,8 @@ 16 ] ], - "name" : "064", - "id" : "064" + "id" : "064", + "name" : "064" }, { "id" : "065", @@ -1192,7 +1187,7 @@ "name" : "065" }, { - "id" : "066", + "name" : "066", "data" : [ [ "Perl", @@ -1207,10 +1202,11 @@ 14 ] ], - "name" : "066" + "id" : "066" }, { "name" : "067", + "id" : "067", "data" : [ [ "Perl", @@ -1224,10 +1220,10 @@ "Blog", 18 ] - ], - "id" : "067" + ] }, { + "name" : "068", "data" : [ [ "Perl", @@ -1242,10 +1238,10 @@ 13 ] ], - "name" : "068", "id" : "068" }, { + "name" : "069", "data" : [ [ "Perl", @@ -1260,12 +1256,9 @@ 16 ] ], - "name" : "069", "id" : "069" }, { - "id" : "070", - "name" : "070", "data" : [ [ "Perl", @@ -1279,11 +1272,12 @@ "Blog", 17 ] - ] + ], + "id" : "070", + "name" : "070" }, { "id" : "071", - "name" : "071", "data" : [ [ "Perl", @@ -1297,9 +1291,11 @@ "Blog", 15 ] - ] + ], + "name" : "071" }, { + "id" : "072", "data" : [ [ "Perl", @@ -1314,8 +1310,7 @@ 19 ] ], - "name" : "072", - "id" : "072" + "name" : "072" }, { "id" : "073", @@ -1336,7 +1331,7 @@ "name" : "073" }, { - "name" : "074", + "id" : "074", "data" : [ [ "Perl", @@ -1351,10 +1346,9 @@ 20 ] ], - "id" : "074" + "name" : "074" }, { - "id" : "075", "name" : "075", "data" : [ [ @@ -1369,9 +1363,12 @@ "Blog", 20 ] - ] + ], + "id" : "075" }, { + "name" : "076", + "id" : "076", "data" : [ [ "Perl", @@ -1385,13 +1382,9 @@ "Blog", 16 ] - ], - "name" : "076", - "id" : "076" + ] }, { - "id" : "077", - "name" : "077", "data" : [ [ "Perl", @@ -1405,11 +1398,12 @@ "Blog", 14 ] - ] + ], + "id" : "077", + "name" : "077" }, { "id" : "078", - "name" : "078", "data" : [ [ "Perl", @@ -1423,9 +1417,11 @@ "Blog", 18 ] - ] + ], + "name" : "078" }, { + "id" : "079", "data" : [ [ "Perl", @@ -1440,10 +1436,10 @@ 17 ] ], - "name" : "079", - "id" : "079" + "name" : "079" }, { + "id" : "080", "data" : [ [ "Perl", @@ -1458,12 +1454,10 @@ 16 ] ], - "name" : "080", - "id" : "080" + "name" : "080" }, { "id" : "081", - "name" : "081", "data" : [ [ "Perl", @@ -1477,10 +1471,10 @@ "Blog", 15 ] - ] + ], + "name" : "081" }, { - "id" : "082", "data" : [ [ "Perl", @@ -1495,9 +1489,11 @@ 17 ] ], + "id" : "082", "name" : "082" }, { + "name" : "083", "data" : [ [ "Perl", @@ -1512,11 +1508,11 @@ 16 ] ], - "name" : "083", "id" : "083" }, { "name" : "084", + "id" : "084", "data" : [ [ "Perl", @@ -1530,10 +1526,11 @@ "Blog", 12 ] - ], - "id" : "084" + ] }, { + "name" : "085", + "id" : "085", "data" : [ [ "Perl", @@ -1547,12 +1544,10 @@ "Blog", 18 ] - ], - "name" : "085", - "id" : "085" + ] }, { - "name" : "086", + "id" : "086", "data" : [ [ "Perl", @@ -1567,9 +1562,10 @@ 15 ] ], - "id" : "086" + "name" : "086" }, { + "name" : "087", "data" : [ [ "Perl", @@ -1584,11 +1580,9 @@ 14 ] ], - "name" : "087", "id" : "087" }, { - "id" : "088", "name" : "088", "data" : [ [ @@ -1603,7 +1597,8 @@ "Blog", 20 ] - ] + ], + "id" : "088" }, { "name" : "089", @@ -1638,8 +1633,8 @@ 17 ] ], - "name" : "090", - "id" : "090" + "id" : "090", + "name" : "090" }, { "name" : "091", @@ -1678,8 +1673,8 @@ "name" : "092" }, { - "id" : "093", "name" : "093", + "id" : "093", "data" : [ [ "Perl", @@ -1696,6 +1691,7 @@ ] }, { + "id" : "094", "data" : [ [ "Perl", @@ -1710,11 +1706,9 @@ 17 ] ], - "name" : "094", - "id" : "094" + "name" : "094" }, { - "id" : "095", "name" : "095", "data" : [ [ @@ -1729,10 +1723,12 @@ "Blog", 18 ] - ] + ], + "id" : "095" }, { "name" : "096", + "id" : "096", "data" : [ [ "Perl", @@ -1746,12 +1742,10 @@ "Blog", 18 ] - ], - "id" : "096" + ] }, { "id" : "097", - "name" : "097", "data" : [ [ "Perl", @@ -1765,10 +1759,11 @@ "Blog", 18 ] - ] + ], + "name" : "097" }, { - "id" : "098", + "name" : "098", "data" : [ [ "Perl", @@ -1783,7 +1778,7 @@ 16 ] ], - "name" : "098" + "id" : "098" }, { "data" : [ @@ -1793,95 +1788,96 @@ ], [ "Raku", - 10 + 12 ], [ "Blog", 8 ] ], - "name" : "099", - "id" : "099" + "id" : "099", + "name" : "099" } ] }, "series" : [ { + "name" : "Perl Weekly Challenge Languages", "colorByPoint" : "true", "data" : [ { - "drilldown" : "001", "name" : "#001", - "y" : 155 + "y" : 155, + "drilldown" : "001" }, { - "drilldown" : "002", + "y" : 120, "name" : "#002", - "y" : 120 + "drilldown" : "002" }, { - "drilldown" : "003", "name" : "#003", - "y" : 77 + "y" : 77, + "drilldown" : "003" }, { - "drilldown" : "004", "name" : "#004", - "y" : 95 + "y" : 95, + "drilldown" : "004" }, { - "y" : 76, "name" : "#005", + "y" : 76, "drilldown" : "005" }, { "drilldown" : "006", - "name" : "#006", - "y" : 56 + "y" : 56, + "name" : "#006" }, { + "drilldown" : "007", "y" : 63, - "name" : "#007", - "drilldown" : "007" + "name" : "#007" }, { - "drilldown" : "008", "name" : "#008", - "y" : 76 + "y" : 76, + "drilldown" : "008" }, { - "y" : 74, "drilldown" : "009", + "y" : 74, "name" : "#009" }, { + "name" : "#010", "y" : 64, - "drilldown" : "010", - "name" : "#010" + "drilldown" : "010" }, { - "y" : 83, "name" : "#011", + "y" : 83, "drilldown" : "011" }, { - "y" : 87, "name" : "#012", + "y" : 87, "drilldown" : "012" }, { + "drilldown" : "013", "y" : 82, - "name" : "#013", - "drilldown" : "013" + "name" : "#013" }, { - "drilldown" : "014", "name" : "#014", - "y" : 100 + "y" : 100, + "drilldown" : "014" }, { - "y" : 97, "name" : "#015", + "y" : 97, "drilldown" : "015" }, { @@ -1891,8 +1887,8 @@ }, { "y" : 83, - "drilldown" : "017", - "name" : "#017" + "name" : "#017", + "drilldown" : "017" }, { "y" : 80, @@ -1900,8 +1896,8 @@ "drilldown" : "018" }, { - "y" : 101, "name" : "#019", + "y" : 101, "drilldown" : "019" }, { @@ -1931,13 +1927,13 @@ }, { "drilldown" : "025", - "name" : "#025", - "y" : 59 + "y" : 59, + "name" : "#025" }, { - "y" : 74, + "drilldown" : "026", "name" : "#026", - "drilldown" : "026" + "y" : 74 }, { "y" : 60, @@ -1945,53 +1941,53 @@ "drilldown" : "027" }, { - "y" : 80, + "drilldown" : "028", "name" : "#028", - "drilldown" : "028" + "y" : 80 }, { - "y" : 79, "drilldown" : "029", - "name" : "#029" + "name" : "#029", + "y" : 79 }, { - "y" : 117, "drilldown" : "030", + "y" : 117, "name" : "#030" }, { + "y" : 89, "name" : "#031", - "drilldown" : "031", - "y" : 89 + "drilldown" : "031" }, { "drilldown" : "032", - "name" : "#032", - "y" : 94 + "y" : 94, + "name" : "#032" }, { + "y" : 110, "name" : "#033", - "drilldown" : "033", - "y" : 110 + "drilldown" : "033" }, { - "drilldown" : "034", "name" : "#034", - "y" : 64 + "y" : 64, + "drilldown" : "034" }, { - "y" : 64, "drilldown" : "035", - "name" : "#035" + "name" : "#035", + "y" : 64 }, { - "y" : 68, "drilldown" : "036", + "y" : 68, "name" : "#036" }, { - "y" : 67, "drilldown" : "037", + "y" : 67, "name" : "#037" }, { @@ -2000,24 +1996,24 @@ "drilldown" : "038" }, { - "y" : 62, "drilldown" : "039", + "y" : 62, "name" : "#039" }, { "y" : 73, - "drilldown" : "040", - "name" : "#040" + "name" : "#040", + "drilldown" : "040" }, { + "y" : 76, "name" : "#041", - "drilldown" : "041", - "y" : 76 + "drilldown" : "041" }, { - "y" : 90, "drilldown" : "042", - "name" : "#042" + "name" : "#042", + "y" : 90 }, { "y" : 68, @@ -2025,8 +2021,8 @@ "drilldown" : "043" }, { - "name" : "#044", "drilldown" : "044", + "name" : "#044", "y" : 84 }, { @@ -2036,157 +2032,157 @@ }, { "name" : "#046", - "drilldown" : "046", - "y" : 87 + "y" : 87, + "drilldown" : "046" }, { + "drilldown" : "047", "y" : 84, - "name" : "#047", - "drilldown" : "047" + "name" : "#047" }, { - "y" : 108, + "drilldown" : "048", "name" : "#048", - "drilldown" : "048" + "y" : 108 }, { "name" : "#049", - "drilldown" : "049", - "y" : 89 + "y" : 89, + "drilldown" : "049" }, { - "y" : 98, "drilldown" : "050", - "name" : "#050" + "name" : "#050", + "y" : 98 }, { - "y" : 89, "name" : "#051", + "y" : 89, "drilldown" : "051" }, { - "drilldown" : "052", + "y" : 91, "name" : "#052", - "y" : 91 + "drilldown" : "052" }, { - "y" : 101, + "drilldown" : "053", "name" : "#053", - "drilldown" : "053" + "y" : 101 }, { + "drilldown" : "054", "y" : 103, - "name" : "#054", - "drilldown" : "054" + "name" : "#054" }, { "drilldown" : "055", - "name" : "#055", - "y" : 88 + "y" : 88, + "name" : "#055" }, { - "name" : "#056", "drilldown" : "056", - "y" : 95 + "y" : 95, + "name" : "#056" }, { - "name" : "#057", "drilldown" : "057", - "y" : 80 + "y" : 80, + "name" : "#057" }, { - "name" : "#058", "drilldown" : "058", - "y" : 69 + "y" : 69, + "name" : "#058" }, { - "drilldown" : "059", + "y" : 89, "name" : "#059", - "y" : 89 + "drilldown" : "059" }, { - "name" : "#060", "drilldown" : "060", - "y" : 85 + "y" : 85, + "name" : "#060" }, { + "name" : "#061", "y" : 81, - "drilldown" : "061", - "name" : "#061" + "drilldown" : "061" }, { - "y" : 56, "drilldown" : "062", - "name" : "#062" + "name" : "#062", + "y" : 56 }, { - "y" : 89, + "drilldown" : "063", "name" : "#063", - "drilldown" : "063" + "y" : 89 }, { "drilldown" : "064", - "name" : "#064", - "y" : 80 + "y" : 80, + "name" : "#064" }, { - "y" : 73, "drilldown" : "065", + "y" : 73, "name" : "#065" }, { + "y" : 84, "name" : "#066", - "drilldown" : "066", - "y" : 84 + "drilldown" : "066" }, { - "drilldown" : "067", "name" : "#067", - "y" : 90 + "y" : 90, + "drilldown" : "067" }, { + "y" : 75, "name" : "#068", - "drilldown" : "068", - "y" : 75 + "drilldown" : "068" }, { "y" : 83, - "drilldown" : "069", - "name" : "#069" + "name" : "#069", + "drilldown" : "069" }, { "name" : "#070", - "drilldown" : "070", - "y" : 93 + "y" : 93, + "drilldown" : "070" }, { - "y" : 78, + "drilldown" : "071", "name" : "#071", - "drilldown" : "071" + "y" : 78 }, { "name" : "#072", - "drilldown" : "072", - "y" : 112 + "y" : 112, + "drilldown" : "072" }, { - "y" : 110, "name" : "#073", + "y" : 110, "drilldown" : "073" }, { - "name" : "#074", "drilldown" : "074", - "y" : 115 + "y" : 115, + "name" : "#074" }, { "y" : 113, - "drilldown" : "075", - "name" : "#075" + "name" : "#075", + "drilldown" : "075" }, { - "name" : "#076", "drilldown" : "076", + "name" : "#076", "y" : 99 }, { @@ -2196,18 +2192,18 @@ }, { "name" : "#078", - "drilldown" : "078", - "y" : 127 + "y" : 127, + "drilldown" : "078" }, { - "y" : 122, "drilldown" : "079", - "name" : "#079" + "name" : "#079", + "y" : 122 }, { "name" : "#080", - "drilldown" : "080", - "y" : 127 + "y" : 127, + "drilldown" : "080" }, { "y" : 114, @@ -2215,73 +2211,73 @@ "drilldown" : "081" }, { - "drilldown" : "082", "name" : "#082", - "y" : 114 + "y" : 114, + "drilldown" : "082" }, { + "drilldown" : "083", "y" : 127, - "name" : "#083", - "drilldown" : "083" + "name" : "#083" }, { "y" : 119, - "drilldown" : "084", - "name" : "#084" + "name" : "#084", + "drilldown" : "084" }, { + "y" : 114, "name" : "#085", - "drilldown" : "085", - "y" : 114 + "drilldown" : "085" }, { + "y" : 104, "name" : "#086", - "drilldown" : "086", - "y" : 104 + "drilldown" : "086" }, { + "name" : "#087", "y" : 101, -