From c2c9d22ffcf55b02aa3a5aeda5553f5b556e81af Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 4 Oct 2022 20:17:51 +0100 Subject: - Added solutions by Ulrich Rieke. --- challenge-185/ulrich-rieke/cpp/ch-1.cpp | 20 + challenge-185/ulrich-rieke/cpp/ch-2.cpp | 45 + challenge-185/ulrich-rieke/haskell/ch-1.hs | 16 + challenge-185/ulrich-rieke/haskell/ch-2.hs | 23 + challenge-185/ulrich-rieke/perl/ch-1.pl | 20 + challenge-185/ulrich-rieke/perl/ch-2.pl | 28 + challenge-185/ulrich-rieke/raku/ch-1.raku | 15 + challenge-185/ulrich-rieke/raku/ch-2.raku | 23 + challenge-185/ulrich-rieke/rust/ch-1.rs | 28 + challenge-185/ulrich-rieke/rust/ch-2.rs | 17 + stats/pwc-current.json | 325 +++--- stats/pwc-language-breakdown-summary.json | 74 +- stats/pwc-language-breakdown.json | 1202 ++++++++++---------- stats/pwc-leaders.json | 348 +++--- stats/pwc-summary-1-30.json | 50 +- stats/pwc-summary-121-150.json | 112 +- stats/pwc-summary-151-180.json | 98 +- stats/pwc-summary-181-210.json | 102 +- stats/pwc-summary-211-240.json | 34 +- stats/pwc-summary-241-270.json | 46 +- stats/pwc-summary-31-60.json | 96 +- stats/pwc-summary-61-90.json | 120 +- stats/pwc-summary-91-120.json | 108 +- stats/pwc-summary.json | 1702 ++++++++++++++-------------- 24 files changed, 2453 insertions(+), 2199 deletions(-) create mode 100644 challenge-185/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-185/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-185/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-185/ulrich-rieke/haskell/ch-2.hs create mode 100644 challenge-185/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-185/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-185/ulrich-rieke/raku/ch-1.raku create mode 100644 challenge-185/ulrich-rieke/raku/ch-2.raku create mode 100644 challenge-185/ulrich-rieke/rust/ch-1.rs create mode 100644 challenge-185/ulrich-rieke/rust/ch-2.rs diff --git a/challenge-185/ulrich-rieke/cpp/ch-1.cpp b/challenge-185/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..244b482591 --- /dev/null +++ b/challenge-185/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,20 @@ +#include +#include + +int main( ) { + std::cout << "Please enter a MAC address in the form hhhh.hhhh.hhhh!\n" ; + std::string address ; + std::getline( std::cin , address ) ; + int pos = 0 ; + std::string output ; + while ( pos < address.length( ) - 2 ) { + output.append( address.substr( pos , 2 )) ; + output.append( ":" ) ; + pos += 2 ; + if ( address.substr( pos , 1 ) == "." ) + pos++ ; + } + //take the output substr because we want to leave out the final ':' + std::cout << output.substr(0 , output.length( ) - 1 ) << std::endl ; + return 0 ; +} diff --git a/challenge-185/ulrich-rieke/cpp/ch-2.cpp b/challenge-185/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..cc3d7b73ae --- /dev/null +++ b/challenge-185/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include +#include + +std::string substitute( const std::string & word ) { + std::string output ; + int count = 0 ; + int pos = 0 ; + while ( count < 4 ) { + if (std::isalnum( static_cast(word[ pos ] )) != 0 ) { + output.append( "x") ; + pos++ ; + count++ ; + } + else { + output.append( word.substr( pos, 1 )) ; + pos++ ; + } + } + output.append( word.substr( pos )) ; + return output ; +} + +int main( ) { + std::cout << "Please enter codes with a minimum length of 4!\n" ; + std::cout << "Enter an empty string to end!\n" ; + std::vector allInput ; + std::string line ; + std::getline( std::cin , line ) ; + while ( line.length( ) > 0 ) { + allInput.push_back( line ) ; + std::getline( std::cin , line ) ; + } + std::transform( allInput.begin( ) , allInput.end( ) , allInput.begin( ), + substitute ) ; + for ( auto & s : allInput ) { + std::cout << s ; + if ( s != allInput.back( ) ) + std::cout << " , " ; + } + std::cout << std::endl ; + return 0 ; +} diff --git a/challenge-185/ulrich-rieke/haskell/ch-1.hs b/challenge-185/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..e17f5d9494 --- /dev/null +++ b/challenge-185/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,16 @@ +module Challenge185 + where +import Data.List.Split ( splitOn ) +import Data.List ( intercalate ) + +miniconvert :: String -> String +miniconvert quad = take 2 quad ++ ":" ++ drop 2 quad + +convert :: String -> String +convert = intercalate ":" . map miniconvert . splitOn "." + +main :: IO ( ) +main = do + putStrLn "Enter a MAC address in the form hhhh.hhhh.hhhh!" + address <- getLine + putStrLn $ convert address diff --git a/challenge-185/ulrich-rieke/haskell/ch-2.hs b/challenge-185/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..0fc9ad9faf --- /dev/null +++ b/challenge-185/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,23 @@ +module Challenge185_2 + where +import Data.Char ( isAlpha, isDigit ) +import Data.List.Split ( splitOn ) +import Data.List ( findIndices ) + +step :: String -> String +step [] = [] +step (l:ls) + |not (l == 'x' ) && (isAlpha l || isDigit l) = 'x': ls + |otherwise = l : step ls + +convert :: String -> String +convert s = until myCondition step s +where + myCondition :: String -> Bool + myCondition st = (length $ findIndices (== 'x') st) == 4 + +main :: IO ( ) +main = do + putStrLn "Enter a number of codes, separated by a blank!" + inputline <- getLine + print $ map convert $ splitOn " " inputline diff --git a/challenge-185/ulrich-rieke/perl/ch-1.pl b/challenge-185/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..8d29925c1b --- /dev/null +++ b/challenge-185/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter a MAC address in the form hhhh.hhhh.hhhh!" ; +my $address = ; +chomp $address ; +while ( $address !~ /\A(\w{4}\.){2}\w{4}\z/ ) { + say "The MAC address should have the form hhhh.hhhh.hhhh!" ; + $address = ; + chomp $address ; +} +my @parts = split( /\./ , $address ) ; +my @chunks ; +for my $part( @parts ) { + push @chunks , substr( $part , 0 , 2 ) ; + push @chunks, substr( $part , 2 , 2 ) ; +} +say join( ':' , @chunks ) ; diff --git a/challenge-185/ulrich-rieke/perl/ch-2.pl b/challenge-185/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..4752a93b7b --- /dev/null +++ b/challenge-185/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub mySubstitute { + my $word = shift ; + my $pos = 0 ; + my $count = 0 ; + while ( $count < 4 ) { + if ( substr( $word , $pos , 1 ) =~ /\w/ ) { + substr( $word, $pos , 1 ) = "x" ; + $count++ ; + $pos++ ; + } + else { + $pos++ ; + } + } + return $word ; +} + +say "Please enter some codes, separated by a blank!" ; +my $line = ; +chomp $line ; +my @codes = split( /\s/ , $line ) ; +my @changed = map { mySubstitute( $_ ) } @codes ; +say join ( ',' , @changed ) ; diff --git a/challenge-185/ulrich-rieke/raku/ch-1.raku b/challenge-185/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..c84b294a32 --- /dev/null +++ b/challenge-185/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,15 @@ +use v6 ; + +say "Please enter a MAC address in the form hhhh.hhhh.hhhh!" ; +my $line = $*IN.get ; +while ( $line !~~ /^(\w **4 '.') ** 2 \w ** 4 $/ ) { + say "Enter a Mac address in the form hhhh.hhhh.hhhh!" ; + $line = $*IN.get ; +} +my @parts = split( /'.'/ , $line ) ; +my @chunks ; +for @parts -> $part { + @chunks.push( $part.substr( 0 , 2 )) ; + @chunks.push( $part.substr( 2 , 2 )) ; +} +say @chunks.join( ':' ) ; diff --git a/challenge-185/ulrich-rieke/raku/ch-2.raku b/challenge-185/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..d7aad90770 --- /dev/null +++ b/challenge-185/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,23 @@ +use v6 ; + +sub mySubstitution( Str $word is copy ) { + my $count = 0 ; + my $pos = 0 ; + while ( $count < 4 ) { + if ( $word.substr( $pos , 1 ) ~~ /\w/ ) { + $word.substr-rw( $pos , 1 ) = "x" ; + $count++ ; + $pos++ ; + } + else { + $pos++ ; + } + } + return $word ; +} + +say "Enter some strings, separated by blanks!" ; +my $line = $*IN.get ; +my @words = $line.split( /\s/ ) ; +my @transformed = @words.map( { mySubstitution( $_ ) } ) ; +say @transformed.join( ',' ) ; diff --git a/challenge-185/ulrich-rieke/rust/ch-1.rs b/challenge-185/ulrich-rieke/rust/ch-1.rs new file mode 100644 index 0000000000..a033022a47 --- /dev/null +++ b/challenge-185/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,28 @@ +use std::io ; + +fn main() { + println!("Please enter an MAC address in the form hhhh.hhhh.hhhh!") ; + let mut input : String = String::new( ) ; + io::stdin( ).read_line( &mut input ).unwrap( ) ; + let mut entered_line : &str = &*input ; + entered_line = entered_line.trim( ) ; + let mut from : usize = 0 ; + let mut to : usize = 1 ; + let mut chunks : Vec<&str> = Vec::new( ) ; + while to < input.len( ) { + chunks.push( &entered_line[from..=to] ) ; + from += 2 ; + to += 2 ; + match entered_line.chars( ).nth( from ) { + Some ( '.' ) => { from += 1 ; to += 1 ; } , + None => {} , + _ => {} , + } + } + let mut outputstring : String = String::new( ) ; + for s in chunks { + outputstring.push_str( &s.to_string( ) ) ; + outputstring.push( ':' ) ; + } + println!("{}" , &outputstring[0..outputstring.len( ) - 1] ) ; +} diff --git a/challenge-185/ulrich-rieke/rust/ch-2.rs b/challenge-185/ulrich-rieke/rust/ch-2.rs new file mode 100644 index 0000000000..377baa891b --- /dev/null +++ b/challenge-185/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,17 @@ +use std::io ; + +fn main() { + println!("Please enter some strings, separated by a blank!" ) ; + let mut input : String = String::new( ) ; + io::stdin( ).read_line( &mut input ).unwrap( ) ; + let entered_line = &*input ; + let mut outputwords : Vec<&str> = Vec::new( ) ; + let mut iter = entered_line.split_whitespace( ) ; + while let Some( word ) = iter.next( ) { + outputwords.push( word ) ; + } + for s in outputwords { + print!("{} " , s.replacen( char::is_alphanumeric , "x" , 4 )) ; + } + println!() ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index bf559d7775..c6c672a2cd 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,4 +1,138 @@ { + "chart" : { + "type" : "column" + }, + "tooltip" : { + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1 + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "subtitle" : { + "text" : "[Champions: 19] Last updated at 2022-10-04 19:16:12 GMT" + }, + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "title" : { + "text" : "The Weekly Challenge - 185" + }, + "series" : [ + { + "data" : [ + { + "y" : 4, + "name" : "Andinus", + "drilldown" : "Andinus" + }, + { + "y" : 2, + "name" : "Branislav Zahradnik", + "drilldown" : "Branislav Zahradnik" + }, + { + "drilldown" : "Dave Cross", + "name" : "Dave Cross", + "y" : 2 + }, + { + "name" : "E. Choroba", + "y" : 2, + "drilldown" : "E. Choroba" + }, + { + "name" : "Humberto Massa", + "y" : 2, + "drilldown" : "Humberto Massa" + }, + { + "drilldown" : "Jaldhar H. Vyas", + "y" : 5, + "name" : "Jaldhar H. Vyas" + }, + { + "y" : 3, + "name" : "James Smith", + "drilldown" : "James Smith" + }, + { + "y" : 2, + "name" : "Julien Fiegehenn", + "drilldown" : "Julien Fiegehenn" + }, + { + "name" : "Kueppo Wesley", + "y" : 1, + "drilldown" : "Kueppo Wesley" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 8 + }, + { + "y" : 2, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "name" : "Matthew Neleigh", + "y" : 2, + "drilldown" : "Matthew Neleigh" + }, + { + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", + "y" : 2 + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 + }, + { + "drilldown" : "Peter Campbell Smith", + "y" : 3, + "name" : "Peter Campbell Smith" + }, + { + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", + "y" : 3 + }, + { + "y" : 5, + "name" : "Stephen G. Lynn", + "drilldown" : "Stephen G. Lynn" + }, + { + "name" : "Ulrich Rieke", + "y" : 4, + "drilldown" : "Ulrich Rieke" + }, + { + "drilldown" : "W. Luis Mochan", + "y" : 3, + "name" : "W. Luis Mochan" + } + ], + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 185" + } + ], "drilldown" : { "series" : [ { @@ -27,33 +161,33 @@ }, { "name" : "Dave Cross", - "id" : "Dave Cross", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Dave Cross" }, { - "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba" + "id" : "E. Choroba", + "name" : "E. Choroba" }, { - "name" : "Humberto Massa", "id" : "Humberto Massa", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Humberto Massa" }, { "id" : "Jaldhar H. Vyas", @@ -89,25 +223,26 @@ }, { "name" : "Julien Fiegehenn", + "id" : "Julien Fiegehenn", "data" : [ [ "Perl", 2 ] - ], - "id" : "Julien Fiegehenn" + ] }, { + "name" : "Kueppo Wesley", "data" : [ [ "Perl", 1 ] ], - "id" : "Kueppo Wesley", - "name" : "Kueppo Wesley" + "id" : "Kueppo Wesley" }, { + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -118,7 +253,6 @@ 6 ] ], - "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { @@ -132,36 +266,37 @@ ] }, { + "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] ], - "id" : "Matthew Neleigh", - "name" : "Matthew Neleigh" + "id" : "Matthew Neleigh" }, { + "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar", "data" : [ [ "Perl", 2 ] - ], - "name" : "Mohammad S Anwar" + ] }, { - "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke" + "id" : "Niels van Dijke" }, { + "name" : "Peter Campbell Smith", "id" : "Peter Campbell Smith", "data" : [ [ @@ -172,11 +307,9 @@ "Blog", 1 ] - ], - "name" : "Peter Campbell Smith" + ] }, { - "name" : "Robert DiCicco", "id" : "Robert DiCicco", "data" : [ [ @@ -187,9 +320,12 @@ "Raku", 1 ] - ] + ], + "name" : "Robert DiCicco" }, { + "name" : "Stephen G. Lynn", + "id" : "Stephen G. Lynn", "data" : [ [ "Perl", @@ -203,9 +339,21 @@ "Blog", 1 ] - ], - "id" : "Stephen G. Lynn", - "name" : "Stephen G. Lynn" + ] + }, + { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] }, { "id" : "W. Luis Mochan", @@ -225,134 +373,5 @@ }, "xAxis" : { "type" : "category" - }, - "legend" : { - "enabled" : 0 - }, - "title" : { - "text" : "The Weekly Challenge - 185" - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
", - "followPointer" : 1 - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "data" : [ - { - "name" : "Andinus", - "y" : 4, - "drilldown" : "Andinus" - }, - { - "name" : "Branislav Zahradnik", - "y" : 2, - "drilldown" : "Branislav Zahradnik" - }, - { - "name" : "Dave Cross", - "y" : 2, - "drilldown" : "Dave Cross" - }, - { - "y" : 2, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" - }, - { - "y" : 2, - "drilldown" : "Humberto Massa", - "name" : "Humberto Massa" - }, - { - "y" : 5, - "drilldown" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" - }, - { - "name" : "Julien Fiegehenn", - "y" : 2, - "drilldown" : "Julien Fiegehenn" - }, - { - "name" : "Kueppo Wesley", - "y" : 1, - "drilldown" : "Kueppo Wesley" - }, - { - "drilldown" : "Luca Ferrari", - "y" : 8, - "name" : "Luca Ferrari" - }, - { - "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Matthew Neleigh", - "y" : 2, - "name" : "Matthew Neleigh" - }, - { - "y" : 2, - "drilldown" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar" - }, - { - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke", - "y" : 2 - }, - { - "y" : 3, - "drilldown" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" - }, - { - "drilldown" : "Robert DiCicco", - "y" : 3, - "name" : "Robert DiCicco" - }, - { - "y" : 5, - "drilldown" : "Stephen G. Lynn", - "name" : "Stephen G. Lynn" - }, - { - "name" : "W. Luis Mochan", - "y" : 3, - "drilldown" : "W. Luis Mochan" - } - ], - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 185" - } - ], - "subtitle" : { - "text" : "[Champions: 18] Last updated at 2022-10-04 18:32:28 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 06b8b34ebf..f6a98d1ca6 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,15 +1,6 @@ { - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" + "subtitle" : { + "text" : "Last updated at 2022-10-04 19:16:12 GMT" }, "legend" : { "enabled" : "false" @@ -20,21 +11,26 @@ "text" : null } }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, "series" : [ { - "dataLabels" : { - "color" : "#FFFFFF", - "format" : "{point.y:.0f}", - "align" : "right", - "enabled" : "true", - "y" : 10, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "rotation" : -90 - }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -42,22 +38,26 @@ ], [ "Perl", - 8998 + 9000 ], [ "Raku", - 5375 + 5377 ] - ] + ], + "dataLabels" : { + "rotation" : -90, + "format" : "{point.y:.0f}", + "color" : "#FFFFFF", + "y" : 10, + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "align" : "right", + "enabled" : "true" + }, + "name" : "Contributions" } - ], - "subtitle" : { - "text" : "Last updated at 2022-10-04 18:32:28 GMT" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "chart" : { - "type" : "column" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 965f09364a..e4968ccbf4 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,4 +1,35 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : "false" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-10-04 19:16:12 GMT" + }, + "tooltip" : { + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "followPointer" : "true" + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { @@ -21,6 +52,7 @@ }, { "name" : "002", + "id" : "002", "data" : [ [ "Perl", @@ -34,10 +66,10 @@ "Blog", 10 ] - ], - "id" : "002" + ] }, { + "name" : "003", "id" : "003", "data" : [ [ @@ -52,8 +84,7 @@ "Blog", 9 ] - ], - "name" : "003" + ] }, { "id" : "004", @@ -74,7 +105,7 @@ "name" : "004" }, { - "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -89,9 +120,10 @@ 12 ] ], - "id" : "005" + "name" : "005" }, { + "name" : "006", "data" : [ [ "Perl", @@ -106,12 +138,9 @@ 7 ] ], - "id" : "006", - "name" : "006" + "id" : "006" }, { - "name" : "007", - "id" : "007", "data" : [ [ "Perl", @@ -125,7 +154,9 @@ "Blog", 10 ] - ] + ], + "id" : "007", + "name" : "007" }, { "name" : "008", @@ -164,6 +195,7 @@ "name" : "009" }, { + "name" : "010", "data" : [ [ "Perl", @@ -178,11 +210,9 @@ 11 ] ], - "id" : "010", - "name" : "010" + "id" : "010" }, { - "id" : "011", "data" : [ [ "Perl", @@ -197,10 +227,11 @@ 10 ] ], + "id" : "011", "name" : "011" }, { - "name" : "012", + "id" : "012", "data" : [ [ "Perl", @@ -215,10 +246,9 @@ 11 ] ], - "id" : "012" + "name" : "012" }, { - "name" : "013", "id" : "013", "data" : [ [ @@ -233,7 +263,8 @@ "Blog", 13 ] - ] + ], + "name" : "013" }, { "data" : [ @@ -254,7 +285,6 @@ "name" : "014" }, { - "id" : "015", "data" : [ [ "Perl", @@ -269,11 +299,11 @@ 15 ] ], + "id" : "015", "name" : "015" }, { "name" : "016", - "id" : "016", "data" : [ [ "Perl", @@ -287,7 +317,8 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { "id" : "017", @@ -308,6 +339,8 @@ "name" : "017" }, { + "name" : "018", + "id" : "018", "data" : [ [ "Perl", @@ -321,12 +354,10 @@ "Blog", 14 ] - ], - "id" : "018", - "name" : "018" + ] }, { - "id" : "019", + "name" : "019", "data" : [ [ "Perl", @@ -341,10 +372,11 @@ 13 ] ], - "name" : "019" + "id" : "019" }, { "name" : "020", + "id" : "020", "data" : [ [ "Perl", @@ -358,8 +390,7 @@ "Blog", 13 ] - ], - "id" : "020" + ] }, { "id" : "021", @@ -380,6 +411,7 @@ "name" : "021" }, { + "name" : "022", "data" : [ [ "Perl", @@ -394,11 +426,10 @@ 10 ] ], - "id" : "022", - "name" : "022" + "id" : "022" }, { - "id" : "023", + "name" : "023", "data" : [ [ "Perl", @@ -413,9 +444,11 @@ 12 ] ], - "name" : "023" + "id" : "023" }, { + "name" : "024", + "id" : "024", "data" : [ [ "Perl", @@ -429,13 +462,10 @@ "Blog", 11 ] - ], - "id" : "024", - "name" : "024" + ] }, { "name" : "025", - "id" : "025", "data" : [ [ "Perl", @@ -449,10 +479,11 @@ "Blog", 12 ] - ] + ], + "id" : "025" }, { - "name" : "026", + "id" : "026", "data" : [ [ "Perl", @@ -467,10 +498,9 @@ 10 ] ], - "id" : "026" + "name" : "026" }, { - "name" : "027", "data" : [ [ "Perl", @@ -485,11 +515,10 @@ 9 ] ], - "id" : "027" + "id" : "027", + "name" : "027" }, { - "name" : "028", - "id" : "028", "data" : [ [ "Perl", @@ -503,7 +532,9 @@ "Blog", 9 ] - ] + ], + "id" : "028", + "name" : "028" }, { "name" : "029", @@ -524,7 +555,6 @@ ] }, { - "name" : "030", "id" : "030", "data" : [ [ @@ -539,9 +569,11 @@ "Blog", 10 ] - ] + ], + "name" : "030" }, { + "name" : "031", "id" : "031", "data" : [ [ @@ -556,10 +588,10 @@ "Blog", 9 ] - ], - "name" : "031" + ] }, { + "name" : "032", "id" : "032", "data" : [ [ @@ -574,10 +606,10 @@ "Blog", 10 ] - ], - "name" : "032" + ] }, { + "name" : "033", "data" : [ [ "Perl", @@ -592,10 +624,11 @@ 10 ] ], - "id" : "033", - "name" : "033" + "id" : "033" }, { + "name" : "034", + "id" : "034", "data" : [ [ "Perl", @@ -609,12 +642,11 @@ "Blog", 11 ] - ], - "id" : "034", - "name" : "034" + ] }, { "name" : "035", + "id" : "035", "data" : [ [ "Perl", @@ -628,8 +660,7 @@ "Blog", 9 ] - ], - "id" : "035" + ] }, { "id" : "036", @@ -650,7 +681,7 @@ "name" : "036" }, { - "name" : "037", + "id" : "037", "data" : [ [ "Perl", @@ -665,10 +696,10 @@ 9 ] ], - "id" : "037" + "name" : "037" }, { - "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -683,11 +714,9 @@ 12 ] ], - "name" : "038" + "id" : "038" }, { - "name" : "039", - "id" : "039", "data" : [ [ "Perl", @@ -701,10 +730,12 @@ "Blog", 12 ] - ] + ], + "id" : "039", + "name" : "039" }, { - "id" : "040", + "name" : "040", "data" : [ [ "Perl", @@ -719,7 +750,7 @@ 10 ] ], - "name" : "040" + "id" : "040" }, { "name" : "041", @@ -740,6 +771,7 @@ "id" : "041" }, { + "id" : "042", "data" : [ [ "Perl", @@ -754,7 +786,6 @@ 11 ] ], - "id" : "042", "name" : "042" }, { @@ -776,7 +807,7 @@ "id" : "043" }, { - "id" : "044", + "name" : "044", "data" : [ [ "Perl", @@ -791,10 +822,9 @@ 11 ] ], - "name" : "044" + "id" : "044" }, { - "id" : "045", "data" : [ [ "Perl", @@ -809,6 +839,7 @@ 11 ] ], + "id" : "045", "name" : "045" }, { @@ -831,7 +862,6 @@ }, { "name" : "047", - "id" : "047", "data" : [ [ "Perl", @@ -845,10 +875,10 @@ "Blog", 10 ] - ] + ], + "id" : "047" }, { - "id" : "048", "data" : [ [ "Perl", @@ -863,9 +893,11 @@ 12 ] ], + "id" : "048", "name" : "048" }, { + "name" : "049", "data" : [ [ "Perl", @@ -880,12 +912,10 @@ 12 ] ], - "id" : "049", - "name" : "049" + "id" : "049" }, { "name" : "050", - "id" : "050", "data" : [ [ "Perl", @@ -899,7 +929,8 @@ "Blog", 12 ] - ] + ], + "id" : "050" }, { "name" : "051", @@ -920,7 +951,6 @@ "id" : "051" }, { - "name" : "052", "data" : [ [ "Perl", @@ -935,9 +965,11 @@ 14 ] ], - "id" : "052" + "id" : "052", + "name" : "052" }, { + "id" : "053", "data" : [ [ "Perl", @@ -952,12 +984,9 @@ 15 ] ], - "id" : "053", "name" : "053" }, { - "name" : "054", - "id" : "054", "data" : [ [ "Perl", @@ -971,10 +1000,13 @@ "Blog", 18 ] - ] + ], + "id" : "054", + "name" : "054" }, { "name" : "055", + "id" : "055", "data" : [ [ "Perl", @@ -988,8 +1020,7 @@ "Blog", 14 ] - ], - "id" : "055" + ] }, { "id" : "056", @@ -1010,7 +1041,6 @@ "name" : "056" }, { - "id" : "057", "data" : [ [ "Perl", @@ -1025,9 +1055,12 @@ 15 ] ], + "id" : "057", "name" : "057" }, { + "name" : "058", + "id" : "058", "data" : [ [ "Perl", @@ -1041,11 +1074,11 @@ "Blog", 13 ] - ], - "id" : "058", - "name" : "058" + ] }, { + "name" : "059", + "id" : "059", "data" : [ [ "Perl", @@ -1059,9 +1092,7 @@ "Blog", 16 ] - ], - "id" : "059", - "name" : "059" + ] }, { "data" : [ @@ -1118,6 +1149,8 @@ "id" : "062" }, { + "name" : "063", + "id" : "063", "data" : [ [ "Perl", @@ -1131,11 +1164,11 @@ "Blog", 13 ] - ], - "id" : "063", - "name" : "063" + ] }, { + "name" : "064", + "id" : "064", "data" : [ [ "Perl", @@ -1149,12 +1182,9 @@ "Blog", 16 ] - ], - "id" : "064", - "name" : "064" + ] }, { - "id" : "065", "data" : [ [ "Perl", @@ -1169,6 +1199,7 @@ 15 ] ], + "id" : "065", "name" : "065" }, { @@ -1191,6 +1222,7 @@ }, { "name" : "067", + "id" : "067", "data" : [ [ "Perl", @@ -1204,11 +1236,10 @@ "Blog", 18 ] - ], - "id" : "067" + ] }, { - "name" : "068", + "id" : "068", "data" : [ [ "Perl", @@ -1223,7 +1254,7 @@ 13 ] ], - "id" : "068" + "name" : "068" }, { "name" : "069", @@ -1280,7 +1311,6 @@ "id" : "071" }, { - "id" : "072", "data" : [ [ "Perl", @@ -1295,10 +1325,10 @@ 19 ] ], + "id" : "072", "name" : "072" }, { - "name" : "073", "data" : [ [ "Perl", @@ -1313,9 +1343,11 @@ 17 ] ], - "id" : "073" + "id" : "073", + "name" : "073" }, { + "name" : "074", "data" : [ [ "Perl", @@ -1330,12 +1362,9 @@ 20 ] ], - "id" : "074", - "name" : "074" + "id" : "074" }, { - "name" : "075", - "id" : "075", "data" : [ [ "Perl", @@ -1349,7 +1378,9 @@ "Blog", 20 ] - ] + ], + "id" : "075", + "name" : "075" }, { "id" : "076", @@ -1388,7 +1419,6 @@ ] }, { - "name" : "078", "id" : "078", "data" : [ [ @@ -1403,9 +1433,11 @@ "Blog", 18 ] - ] + ], + "name" : "078" }, { + "id" : "079", "data" : [ [ "Perl", @@ -1420,12 +1452,9 @@ 17 ] ], - "id" : "079", "name" : "079" }, { - "name" : "080", - "id" : "080", "data" : [ [ "Perl", @@ -1439,7 +1468,9 @@ "Blog", 16 ] - ] + ], + "id" : "080", + "name" : "080" }, { "name" : "081", @@ -1460,6 +1491,7 @@ ] }, { + "name" : "082", "data" : [ [ "Perl", @@ -1474,8 +1506,7 @@ 17 ] ], - "id" : "082", - "name" : "082" + "id" : "082" }, { "name" : "083", @@ -1496,7 +1527,6 @@ "id" : "083" }, { - "name" : "084", "data" : [ [ "Perl", @@ -1511,10 +1541,10 @@ 12 ] ], - "id" : "084" + "id" : "084", + "name" : "084" }, { - "name" : "085", "id" : "085", "data" : [ [ @@ -1529,10 +1559,10 @@ "Blog", 18 ] - ] + ], + "name" : "085" }, { - "name" : "086", "data" : [ [ "Perl", @@ -1547,7 +1577,8 @@ 15 ] ], - "id" : "086" + "id" : "086", + "name" : "086" }, { "id" : "087", @@ -1568,6 +1599,8 @@ "name" : "087" }, { + "name" : "088", + "id" : "088", "data" : [ [ "Perl", @@ -1581,11 +1614,10 @@ "Blog", 20 ] - ], - "id" : "088", - "name" : "088" + ] }, { + "name" : "089", "data" : [ [ "Perl", @@ -1600,8 +1632,7 @@ 20 ] ], - "id" : "089", - "name" : "089" + "id" : "089" }, { "id" : "090", @@ -1622,7 +1653,6 @@ "name" : "090" }, { - "name" : "091", "data" : [ [ "Perl", @@ -1637,7 +1667,8 @@ 16 ] ], - "id" : "091" + "id" : "091", + "name" : "091" }, { "name" : "092", @@ -1694,6 +1725,8 @@ ] }, { + "name" : "095", + "id" : "095", "data" : [ [ "Perl", @@ -1707,12 +1740,9 @@ "Blog", 19 ] - ], - "id" : "095", - "name" : "095" + ] }, { - "name" : "096", "id" : "096", "data" : [ [ @@ -1727,11 +1757,11 @@ "Blog", 19 ] - ] + ], + "name" : "096" }, { "name" : "097", - "id" : "097", "data" : [ [ "Perl", @@ -1745,10 +1775,10 @@ "Blog", 19 ] - ] + ], + "id" : "097" }, { - "name" : "098", "data" : [ [ "Perl", @@ -1763,9 +1793,11 @@ 17 ] ], - "id" : "098" + "id" : "098", + "name" : "098" }, { + "name" : "099", "id" : "099", "data" : [ [ @@ -1780,11 +1812,10 @@ "Blog", 14 ] - ], - "name" : "099" + ] }, { - "name" : "100", + "id" : "100", "data" : [ [ "Perl", @@ -1799,11 +1830,9 @@ 21 ] ], - "id" : "100" + "name" : "100" }, { - "name" : "101", - "id" : "101", "data" : [ [ "Perl", @@ -1817,7 +1846,9 @@ "Blog", 13 ] - ] + ], + "id" : "101", + "name" : "101" }, { "name" : "102", @@ -1838,6 +1869,7 @@ ] }, { + "name" : "103", "id" : "103", "data" : [ [ @@ -1852,8 +1884,7 @@ "Blog", 15 ] - ], - "name" : "103" + ] }, { "id" : "104", @@ -1874,7 +1905,6 @@ "name" : "104" }, { - "id" : "105", "data" : [ [ "Perl", @@ -1889,9 +1919,11 @@ 14 ] ], + "id" : "105", "name" : "105" }, { + "id" : "106", "data" : [ [ "Perl", @@ -1906,7 +1938,6 @@ 17 ] ], - "id" : "106", "name" : "106" }, { @@ -1928,7 +1959,7 @@ ] }, { - "name" : "108", + "id" : "108", "data" : [ [ "Perl", @@ -1943,10 +1974,9 @@ 20 ] ], - "id" : "108" + "name" : "108" }, { - "name" : "109", "data" : [ [ "Perl", @@ -1961,7 +1991,8 @@ 22 ] ], - "id" : "109" + "id" : "109", + "name" : "109" }, { "name" : "110", @@ -1983,6 +2014,7 @@ }, { "name" : "111", + "id" : "111", "data" : [ [ "Perl", @@ -1996,8 +2028,7 @@ "Blog", 17 ] - ], - "id" : "111" + ] }, { "name" : "112", @@ -2018,6 +2049,7 @@ ] }, { + "name" : "113", "data" : [ [ "Perl", @@ -2032,8 +2064,7 @@ 19 ] ], - "id" : "113", - "name" : "113" + "id" : "113" }, { "name" : "114", @@ -2090,6 +2121,7 @@ ] }, { + "name" : "117", "data" : [ [ "Perl", @@ -2104,10 +2136,10 @@ 19 ] ], - "id" : "117", - "name" : "117" + "id" : "117" }, { + "id" : "118", "data" : [ [ "Perl", @@ -2122,10 +2154,10 @@ 17 ] ], - "id" : "118", "name" : "118" }, { + "name" : "119", "id" : "119", "data" : [ [ @@ -2140,11 +2172,10 @@ "Blog", 21 ] - ], - "name" : "119" + ] }, { - "id" : "120", + "name" : "120", "data" : [ [ "Perl", @@ -2159,10 +2190,9 @@ 21 ] ], - "name" : "120" + "id" : "120" }, { - "name" : "121", "data" : [ [ "Perl", @@ -2177,7 +2207,8 @@ 17 ] ], - "id" : "121" + "id" : "121", + "name" : "121" }, { "data" : [ @@ -2198,7 +2229,7 @@ "name" : "122" }, { - "id" : "123", + "name" : "123", "data" : [ [ "Perl", @@ -2213,9 +2244,10 @@ 18 ] ], - "name" : "123" + "id" : "123" }, { + "name" : "124", "data" : [ [ "Perl", @@ -2230,11 +2262,9 @@ 16 ] ], - "id" : "124", - "name" : "124" + "id" : "124" }, { - "name" : "125", "id" : "125", "data" : [ [ @@ -2249,7 +2279,8 @@ "Blog", 11 ] - ] + ], + "name" : "125" }, { "name" : "126", @@ -2270,6 +2301,7 @@ "id" : "126" }, { + "name" : "127", "data" : [ [ "Perl", @@ -2284,10 +2316,11 @@ 18 ] ], - "id" : "127", - "name" : "127" + "id" : "127" }, { + "name" : "128", + "id" : "128", "data" : [ [ "Perl", @@ -2301,11 +2334,10 @@ "Blog", 15 ] - ], - "id" : "128", - "name" : "128" + ] }, { + "id" : "129", "data" : [ [ "Perl", @@ -2320,11 +2352,9 @@ 14 ] ], - "id" : "129", "name" : "129" }, { - "id" : "130", "data" : [ [ "Perl", @@ -2339,6 +2369,7 @@ 13 ] ], + "id" : "130", "name" : "130" }, { @@ -2360,7 +2391,6 @@ ] }, { - "name" : "132", "id" : "132", "data" : [ [ @@ -2375,9 +2405,11 @@ "Blog", 13 ] - ] + ], + "name" : "132" }, { + "name" : "133", "data" : [ [ "Perl", @@ -2392,11 +2424,10 @@ 18 ] ], - "id" : "133", - "name" : "133" + "id" : "133" }, { - "id" : "134", + "name" : "134", "data" : [ [ "Perl", @@ -2411,7 +2442,7 @@ 15 ] ], - "name" : "134" + "id" : "134" }, { "name" : "135", @@ -2432,7 +2463,7 @@ "id" : "135" }, { - "id" : "136", + "name" : "136", "data" : [ [ "Perl", @@ -2447,10 +2478,10 @@ 19 ] ], - "name" : "136" + "id" : "136" }, { - "id" : "137", + "name" : "137", "data" : [ [ "Perl", @@ -2465,11 +2496,9 @@ 17 ] ], - "name" : "137" + "id" : "137" }, { - "name" : "138", - "id" : "138", "data" : [ [ "Perl", @@ -2483,10 +2512,11 @@ "Blog", 20 ] - ] + ], + "id" : "138", + "name" : "138" }, { - "name" : "139", "data" : [ [ "Perl", @@ -2501,10 +2531,10 @@ 19 ] ], - "id" : "139" + "id" : "139", + "name" : "139" }, { - "name" : "140", "data" : [ [ "Perl", @@ -2519,7 +2549,8 @@ 20 ] ], - "id" : "140" + "id" : "140", + "name" : "140" }, { "id" : "141", @@ -2541,6 +2572,7 @@ }, { "name" : "142", + "id" : "142", "data" : [ [ "Perl", @@ -2554,10 +2586,10 @@ "Blog", 18 ] - ], - "id" : "142" + ] }, { + "name" : "143", "id" : "143", "data" : [ [ @@ -2572,10 +2604,10 @@ "Blog", 18 ] - ], - "name" : "143" + ] }, { + "name" : "144", "id" : "144", "data" : [ [ @@ -2590,11 +2622,9 @@ "Blog", 17 ] - ], - "name" : "144" + ] }, { - "id" : "145", "data" : [ [ "Perl", @@ -2609,10 +2639,10 @@ 20 ] ], + "id" : "145", "name" : "145" }, { - "id" : "146", "data" : [ [ "Perl", @@ -2627,10 +2657,12 @@ 21 ] ], + "id" : "146", "name" : "146" }, { "name" : "147", + "id" : "147", "data" : [ [ "Perl", @@ -2644,11 +2676,9 @@ "Blog", 25 ] - ], - "id" : "147" + ] }, { - "id" : "148", "data" : [ [ "Perl", @@ -2663,6 +2693,7 @@ 21 ] ], + "id" : "148", "name" : "148" }, { @@ -2684,6 +2715,8 @@ ] }, { + "name" : "150", + "id" : "150", "data" : [ [ "Perl", @@ -2697,9 +2730,7 @@ "Blog", 21 ] - ], - "id" : "150", - "name" : "150" + ] }, { "id" : "151", @@ -2721,6 +2752,7 @@ }, { "name" : "152", + "id" : "152", "data" : [ [ "Perl", @@ -2734,12 +2766,10 @@ "Blog", 17 ] - ], - "id" : "152" + ] }, { "name" : "153", - "id" : "153", "data" : [ [ "Perl", @@ -2753,10 +2783,10 @@ "Blog", 17 ] - ] + ], + "id" : "153" }, { - "name" : "154", "data" : [ [ "Perl", @@ -2771,7 +2801,8 @@ 23 ] ], - "id" : "154" + "id" : "154", + "name" : "154" }, { "data" : [ @@ -2792,8 +2823,6 @@ "name" : "155" }, { - "name" : "156", - "id" : "156", "data" : [ [ "Perl", @@ -2807,11 +2836,11 @@ "Blog", 21 ] - ] + ], + "id" : "156", + "name" : "156" }, { - "name" : "157", - "id" : "157", "data" : [ [ "Perl", @@ -2825,7 +2854,9 @@ "Blog", 17 ] - ] + ], + "id" : "157", + "name" : "157" }, { "name" : "158", @@ -2846,7 +2877,6 @@ "id" : "158" }, { - "name" : "159", "data" : [ [ "Perl", @@ -2861,7 +2891,8 @@ 19 ] ], - "id" : "159" + "id" : "159", + "name" : "159" }, { "id" : "160", @@ -2919,7 +2950,6 @@ }, { "name" : "163", - "id" : "163", "data" : [ [ "Perl", @@ -2933,9 +2963,11 @@ "Blog", 23 ] - ] + ], + "id" : "163" }, { + "name" : "164", "id" : "164", "data" : [ [ @@ -2950,10 +2982,10 @@ "Blog", 23 ] - ], - "name" : "164" + ] }, { + "name" : "165", "data" : [ [ "Perl", @@ -2968,8 +3000,7 @@ 20 ] ], - "id" : "165", - "name" : "165" + "id" : "165" }, { "data" : [ @@ -2990,7 +3021,6 @@ "name" : "166" }, { - "id" : "167", "data" : [ [ "Perl", @@ -3005,9 +3035,11 @@ 17 ] ], + "id" : "167", "name" : "167" }, { + "name" : "168", "id" : "168", "data" : [ [ @@ -3022,10 +3054,10 @@ "Blog", 20 ] - ], - "name" : "168" + ] }, { + "name" : "169", "id" : "169", "data" : [ [ @@ -3040,11 +3072,9 @@ "Blog", 22 ] - ], - "name" : "169" + ] }, { - "id" : "170", "data" : [ [ "Perl", @@ -3059,6 +3089,7 @@ 21 ] ], + "id" : "170", "name" : "170" }, { @@ -3080,7 +3111,7 @@ "name" : "171" }, { - "name" : "172", + "id" : "172", "data" : [ [ "Perl", @@ -3095,11 +3126,10 @@ 13 ] ], - "id" : "172" + "name" : "172" }, { "name" : "173", - "id" : "173", "data" : [ [ "Perl", @@ -3113,9 +3143,12 @@ "Blog", 19 ] - ] + ], + "id" : "173" }, { + "name" : "174", + "id" : "174", "data" : [ [ "Perl", @@ -3129,11 +3162,10 @@ "Blog", 20 ] - ], - "id" : "174", - "name" : "174" + ] }, { + "id" : "175", "data" : [ [ "Perl", @@ -3148,10 +3180,10 @@ 23 ] ], - "id" : "175", "name" : "175" }, { + "id" : "176", "data" : [ [ "Perl", @@ -3166,7 +3198,6 @@ 22 ] ], - "id" : "176", "name" : "176" }, { @@ -3206,8 +3237,6 @@ "name" : "178" }, { - "name" : "179", - "id" : "179", "data" : [ [ "Perl", @@ -3221,10 +3250,11 @@ "Blog", 16